Slackで迷子に:検索できることと見つけられることは違う
チームのSlackチャンネルが多すぎて何も見つからない。検索だけでは解決しない理由と、本当に効く対策を解説します。
By Ellis Keane · 2026-03-17
チームには今、Slackチャンネルがいくつありますか?サイドバーに表示されている数ではなく(そのほとんどはミュートしているはずです)、実際の数を。半年前に終わったプロジェクトのために作られたチャンネル、名前がよく似ていてどれが正しいか分からないチャンネル、本当に重要なことが起きているのに当時は知る由もなくて二度と見つけられないチャンネルも含めて。
その数を知らないと思います。正直なところ、私たちも知りません。それがまさに問題の本質です。
Slackチャンネル過多への定番アドバイスは、整理すること、命名規則を作ること、不要なものをアーカイブすること、そして四半期ごとの大掃除(午後一時間ほどは生産的な気分になれるが、その後六週間かけてじわじわ元通りになる儀式)を行うこと、です。そのアドバイスは間違っていません。ただ、症状を治療するだけで、メカニズムを解決していません。チームのSlackチャンネルが多すぎて何も見つからない理由は、組織化が苦手だから(まあ、多少はそうかもしれませんが)ではなく、Slackが知識ではなく会話のために作られているからです。そしてその二つのギャップこそ、重要なコンテキストがすべて消えていく場所です。
検索できることと見つけられることは違う
これがほとんどのチームが引っかかる点です。Slackの検索は、それが得意とすることにおいては実際にかなり優れています。単語を入力すると、その単語を含むメッセージが見つかり、関連性でランク付けされ、チャンネル・人物・日付範囲でフィルタリングもできます。何を探しているか、だいたいいつのことかが分かっていれば、Slack検索はそこへ連れて行ってくれます。
問題は、「見つけられる」と「検索できる」が根本的に異なる能力を表していて、Slackはそのうちの一つしか提供していないことです。
"検索できることと見つけられることは根本的に異なる能力で、Slackが提供するのはその一方だけです。" – Ellis Keane
検索できるとは:特定のキーワードがあって、それを含むすべてのメッセージを見たいということ。見つけられるとは:会話があったことは覚えているが、誰かが使った正確な言葉も、どのチャンネルだったかも、正確にいつだったかも覚えていないということ。後者が、実際にSlackから情報を取り出そうとするときの約80%のケースです。
最後にSlackで何かを探したときのことを考えてみてください。正確なキーワードを入力していましたか?それとも様々なバリエーションを試し、チャンネルをスクロールし、DMをチェックし、最終的に「ねえ、あの話どこでしてたか覚えてる?」と誰かに聞きましたか?後者であれば(ほぼ間違いなくそうでしょう)、Slackの検索は壊れていません。ただ、あなたが実際に抱えている問題とは別の問題を解いているだけです。
チャンネルが増殖し、コンテキストが断片化する仕組み
私たちが観察してきたほとんどのチームで実際に起きていることをご紹介します。最初は無害に始まります。チーム用チャンネル(#engineering、#design、#product)、プロジェクト用チャンネル(#project-atlas、#project-beacon)、機能用チャンネル(#standup、#deployments、#incidents)、そして社交用チャンネル(#random、#watercooler)を作ります。15〜20チャンネルほどで、最初の3ヶ月は完璧に機能します。
そして境界が曖昧になり始めます。誰かが#incidentsで扱うべきデプロイ問題を#engineeringで話し始めます。デザインレビューの会話が#design、#project-atlas、そしてDMスレッドにまたがります。誰かがそのプロジェクトのデザインフィードバック専用のスペースとして#project-atlas-designを作り、今やAtlasのデザイン決定が二か所に存在し得る状態になります。全体像を把握したければ両方確認する必要があります。
チャンネルの数は本当の問題ではありません(そう感じるとは思いますが。すべてのチームで証明はできませんが、話を聞いたすべてのチームで当てはまりました)。問題は、それぞれのチャンネルが他のポケットとのつながりを持たない孤立したコンテキストのポケットになることです。#project-atlasの会話がNotionのドキュメントを参照し、そのドキュメントがLinearのイシューを参照し、そのイシューが#engineeringで議論されていた、というつながりはすべて機械が読めるリンクではありません。「先ほど議論したように」「ドキュメントによると」「あのスレッドのフォローアップとして」という人間の省略表現です。その会話すべてに参加していた人なら道をたどれます。参加していなかった人(または参加していたが6ヶ月後の人)は、たどることができません。
命名規則が解決すること(とそうでないこと)
命名規則を完全に否定するつもりはありません。なぜなら、一つの特定のことには役立つからです。それは、どのチャンネルを見ればいいかを見つけるのに役立ちます。team-engineering、proj-atlas、func-deploysのような一貫したパターンはサイドバーをナビゲートしやすくします。それは本物の価値です。たとえその規則が、wikiを読んでいない3人目の人がproj-atlas-designではなくatlas-design-feedbackを作った瞬間に崩れ始めるとしても。
しかし命名規則は見つけやすさの問題を解決しません。なぜなら見つけやすさとは、どのチャンネルを検索すべきかを知ることではないからです。必要な会話が3つのチャンネルとDMに分散していて、どんな命名規則もそれを教えてはくれません。Slackの情報アーキテクチャは設計上フラットで、そのフラットさは実はリアルタイムの会話における強みの一つです(デプロイについて素早く誰かにピンしたいときに階層構造は邪魔になります)。しかし情報の取り出しという点では惨事です。
「チャンネルが多すぎる」問題は、本当は「コンテキストがチャンネルに閉じ込められている」問題です。チャンネル数を減らすとナビゲーションは改善しますが、根本的な断片化は解決しません。
なぜSlackチャンネルが多すぎると何も見つからないのか
チームが内部APIをRESTからGraphQLに切り替えることを決めた会話を探しているとしましょう。実際にはこうなります:
- Slackで「GraphQL」を検索します。十数のチャンネルにまたがる約250件の結果が出ます。ほとんどは#engineeringから、一部は#randomから(誰かがブログ投稿を共有していました)、#project-beaconからも切り替えの影響を質問したものがいくつかあります。
- #engineeringに絞り込みます。それでも数十件の結果があります。決定そのものはどこにもありません。なぜならリードエンジニアが「やりましょう」と言ったとき、2日前のメッセージへの返信で「いいですね、それで行きましょう」と言っただけだからです。
- 比較の議論を探して「REST API」で検索します。異なる結果セットで、重複は一部だけ。決定スレッドの最も重要なメッセージのいくつかには「REST」も「GraphQL」も含まれていません。なぜなら開発者体験と型安全性について一般的な言葉で議論していたからです。
- 諦めて#engineeringに投稿します:「GraphQLへの切り替えをいつ決めたか覚えてる人いる?」誰かがLinearのイシューへのリンクを返信します。そのLinearイシューがNotionのRFCにリンクしています。そのNotionのRFCがSlackのスレッドを参照しています(しかしチャンネルがアーカイブされているためリンクが切れています)。そして実際の決定の瞬間は、書面記録のないハドルでのことでした。
これは検索の問題ではありません。ナレッジグラフの問題です。そしてこれこそが、Slackの検索がどれだけ良くなっても、チャンネルが多すぎるチームが何も見つけられない本当の理由です。
実際に効くこと
自分たちのチームでこのパターンを体験し(そして他のエンジニアリングマネージャーから驚くほど似た話を聞いて)、本当に役立つことがいくつか分かりました。
Slackはアーカイブではなくインボックスだと受け入れる。 最も有効なメンタルモデルの転換です。Slackは会話がリアルタイムで起きる場所であり、決定が保存される場所ではありません。重要なことがSlackで決まったなら、どこか永続的な場所に記録する必要があります。Linearのイシュー、Notionのドキュメント、ADR、コミットメッセージでも構いません。Slackは会話であり、それらのツールが記録です。
スレッドを徹底的に使う。 スレッドはSlackの見つけやすさのための最良の機能です。なぜなら一つのアドレス可能な単位に完全な会話をまとめるからです。スレッドにはパーマリンクがあります。チャンネルのメインタイムラインに散らばった会話にはありません。チームのカルチャーがメインチャンネルへの返信にデフォルトしているなら(多くのチームがそうです、より即時的に感じるため)、取り出しを劇的に難しくしています。
プロジェクトチャンネルではなく決定チャンネルを作る。 直感に反しますが、聞いてください。#project-atlasの代わりに(または加えて)、#decisionsや#decisions-engineeringを試してみてください。決定を簡潔なコンテキストとともに記録することだけを目的とした一つのチャンネル。全体の議論は含みません(それは自然に起きた場所に残せます)が、何が決まったかと議論がどこで起きたかへのリンクの検索可能な時系列ログになります。チームの思考のコミットログだと考えてください。実際に機能する強制メカニズム(私たちの経験では):PRテンプレートに組み込むこと。マージ前に関連する決定投稿をリンクする。軽量で、レビューで確認可能で、誰かの記憶や規律に依存しない道筋を作ります。
ドットを自動的につなぐ。 ここで私たちが作っているものに触れます。直接関係あるからです。SugarbugはSlackメッセージをLinearのイシュー、GitHub PR、Notionドキュメント、Figmaコメントとともに取り込み、それらが互いにどう関連するかのナレッジグラフを構築します。そのつながりが存在すれば、会話がどのチャンネルで起きたかを覚えている必要はありません。タスクやドキュメントから始めて、どこに存在したかに関わらずすべての関連会話へと道をたどれるからです。これをどう表面化するかはまだ模索中です(正直に言うと、クロスツール取り出しのUXはIngestionよりも難しい)が、コアとなるアプローチ、コンテキストを再整理するのではなくつなぐこと、こそが本当に効果があると私たちは考えています。
5つのチャンネルを検索して何も見つからないのをやめましょう。SugarbugはSlackを残りのツールとつなぎ、決定事項を見つけられる状態に保ちます。
Q: Slackチャンネルは何個から多すぎ? A: 魔法の数字はありませんが、会話がどこで起きたか定期的に見つけられない、またはチャンネルが煩雑でDMに逃げる人が増えているなら、すでに限界を超えている可能性があります。10〜20人のチームで80〜100以上のアクティブチャンネルがある場合、この壁にぶつかりやすいですが、チャンネルの目的とアーカイブについてチームがどれだけ規律を持っているかによって大きく異なります。
Q: SugarbugはSlackチャンネル過多の管理に役立ちますか? A: Sugarbugはチャンネルを直接管理しませんが、チャンネル過多が引き起こす見つけられないという問題を解決します。SlackメッセージをLinearのイシュー、GitHub PR、NotionドキュメントおよびFigmaコメントとともにナレッジグラフへIngestionし、決定事項や会話を探すときにどのチャンネル(またはどのツール)で起きたかに関わらず一度の検索で見つけられます。
Q: 検索してもSlackで何も見つからないのはなぜ? A: Slackの検索は入力したキーワードを含むメッセージを探しますが、職場の意思決定は段階によって異なる言葉が使われます。あるスレッドで「Redisの選択肢」、別のスレッドで「BullMQ」と言っていても、同じ決定について話しているのに、それらのスレッドが互いを参照することはありません。検索はテキストの一致を見つけます。決定の道筋を見つけるには会話間のつながりを理解する必要があり、それは根本的に異なる能力です。
Q: SugarbugはSlackチャンネルをもっと良いものに置き換えられますか? A: いいえ、そうすべきでもありません。Slackはリアルタイムの会話に優れており、それは本当に価値あることです。問題はSlack自体ではなく、重要なコンテキストが会話の中に閉じ込められ、関連するタスク・ドキュメント・コードとつながる手段がないことです。Sugarbugはそのつながりを自動的に構築するので、どこで議論されたかを覚えておく必要はありません。