Anthropic公式が示すマルチエージェント協調5パターンの全体像と選定意義
目次
- 1 Anthropic公式が示すマルチエージェント協調5パターンの全体像と選定意義
- 2 Generator-Verifier型による品質ゲート構築と適用領域の見極め
- 3 Orchestrator-Subagent型の階層分業とClaude Code実装例
- 4 Agent Teams型による長期並列処理とworker持続性の実務効果
- 5 Message Bus型のイベント駆動連携と拡張容易性のトレードオフ
- 6 Shared State型の分散協調モデルと反応的ループ問題の対処
- 7 5つの協調パターン横断の選択基準と相互比較から導く意思決定フロー
- 8 Orchestrator-Subagent起点で組み立てる進化戦略とハイブリッド構成
- 9 Anthropic公式の警告から逆算する導入前チェックと現場の落とし穴
Anthropic公式が示すマルチエージェント協調5パターンの全体像と選定意義
Anthropicが2026年4月10日に公開したブログ「Multi-agent coordination patterns: Five approaches and when to use them」では、マルチエージェントシステムを構築する際の協調設計を5つの実装パターンに整理しています。本章では、その全体像と選定意義を読み解き、後続の各パターン詳述へつなぐ前提知識を整理する位置づけです。複雑な構造を導入する前に、なぜ5つに集約されたのか、その背景を押さえることが選択精度を高める起点となります。
マルチエージェント協調の出発点とシングルエージェントとの分岐条件
マルチエージェント協調パターンを語る前に、そもそも単一エージェントで完結すべきか複数構成へ進むべきか、という分岐条件を整理する必要があります。Anthropic公式は、過去記事「Building multi-agent systems」でこの判断軸を提示しており、5パターンの議論はその延長線上に位置づけられます。
分岐条件の中心は、単一のコンテキストウィンドウに収まる範囲で目的が達成できるかどうかという点です。一つの会話履歴で扱える情報量を超え、独立した探索や並列処理、専門分業が必要になった瞬間に複数エージェント化の価値が立ち上がります。逆にコンテキストに余裕があり手順も短ければ、複数化はコストとデバッグ難度を上げるだけになりがちです。
さらに、別チャネルでの並列処理が成果速度を上げるか、検証や役割分担で品質が改善するか、という二つの観点も判断材料となります。ここを曖昧にしたまま協調パターンを導入すると、トークン消費が膨らむ割に成果が伸びない事態を招きやすく、設計初期での検討価値が高い論点です。
Anthropic公式ブログ2026年4月発表5パターンの登場背景
本記事の起点となるブログは、Anthropic社のCara Phillips氏によって2026年4月10日に執筆され、5分間の読了時間で5つの協調パターンを概観できる構成になっています。公式記事末尾のAcknowledgementsには、Eugene Yang氏、Jiri De Jonghe氏、Samuel Weller氏、Erik S氏が貢献者として名を連ねている、と記載されています。
登場背景として明示されているのは、開発チームが「高度に聞こえるアーキテクチャ」を内容より先に選んでしまう現象への警鐘です。本来は問題に適した最小構成から始めるべき場面で、いきなり複雑な分散構成を採用し、結果としてデバッグ困難な構造を抱える例が観察されています。
この問題意識のもと、Anthropicは「最もシンプルなパターンから始め、ボトルネックを観察し、必要に応じて進化させる」という運用哲学を打ち出しました。5パターンの整理は、選択肢を提示するためというよりも、現場で陥りがちな過剰設計を避けるための診断軸として読むほうが意図に沿います。背景を踏まえることで、各パターンの強弱比較が一段深く理解できるようになります。
5つのパターン名称と各々が解決する問題領域の対応関係マッピング
5つのパターンとそれぞれの推奨適用領域は、Anthropic公式によって明確に対応づけられています。名称と問題領域を一望することで、後続章での個別深掘りに入る前に全体地図を作っておけるはずです。表中の記述はAnthropic公式が示す適用条件を要約したものであり、各パターンの本質を端的に把握する手がかりになります。
| パターン名称 | 推奨される適用領域 |
|---|---|
| Generator-Verifier | 品質クリティカルな出力と明示的な評価基準が存在する場面 |
| Orchestrator-Subagent | タスク分解が明確で境界の定まったサブタスクが並ぶ場面 |
| Agent Teams | 並列で独立した長時間サブタスクが連なる場面 |
| Message Bus | イベント駆動型パイプラインで構成要素が増えていく場面 |
| Shared State | 協働的な調査で各エージェントが互いの発見を踏まえて進む場面 |
マッピングを眺めると、5つのパターンは「品質統制」「階層分業」「持続的並列」「疎結合連携」「分散協調」という異なる軸を持つことが見えてきます。単にパターン数を覚えるのではなく、自社の課題がどの軸の問題かをまず特定することで、後続章での選定判断が大きく短縮されます。
「最もシンプルなパターンから始める」というAnthropic公式の基本方針
Anthropic公式は5つのパターンを並列に提示しつつも、運用上は「最もシンプルなパターンから始めて、観察し、進化させる」という方針を一貫して推奨しています。これは技術選定でしばしば見られる「最初から大きく作る」志向への明確な対抗軸となる立ち位置です。
この方針の核心は、最初に複雑な構成を採用するとボトルネックが特定しづらく、必要のない部分まで運用負荷を背負う構造になりがち、という観察にあります。シンプルな構成で実運用に投入し、どこで実際に詰まるかを観測してから次のパターンへ進化させるほうが、過剰設計を避けやすくなります。
具体的には、多くのユースケースでOrchestrator-Subagentから始めることが推奨されています。中央集約型の制御は調整負荷が低く、タスク分解とログ追跡がしやすいため、初期のデバッグ容易性が高い点が利点です。シンプルな起点を選ぶ判断そのものが、長期的なシステム健全性を支える基礎となります。
context-centric decompositionが規定する協調設計の判断軸
Anthropic公式が強調する設計哲学に、context-centric decomposition、すなわち「コンテキスト中心の分解」という考え方があります。これは作業種別ではなく、各エージェントが必要とするコンテキストの境界で仕事を分割するという指針です。
たとえば「コードを書くエージェント」と「テストを書くエージェント」のように作業種別で分けてしまうと、両者で共通して必要な前提情報が重複的に流通し、コンテキストウィンドウを浪費しやすくなります。代わりに、コードベースの認証モジュールを担う範囲、決済モジュールを担う範囲、といったコンテキスト境界で分業すれば、各エージェントの注意は集中し、トークン効率も改善する設計になります。
この観点を意識すると、5つのパターンはコンテキスト境界と情報流通の制御方式が異なるだけ、という共通の見方ができるようになります。Orchestrator-Subagentは中央経由で情報を制御し、Shared Stateは共有storeで分散させる、というように、判断軸を「どこで誰のコンテキストに何が流れるか」に揃えることで、選定の議論が混乱しなくなる効果があります。
Generator-Verifier型による品質ゲート構築と適用領域の見極め
Generator-Verifierパターンは、5つの中で最もシンプルでありながら、実装数の多い構造とされています。出力品質が事業価値に直結する場面で、生成と検証を別エージェントに分離するという発想が、どのような場面で機能し、どこで破綻するのかを見極めることが導入成功の鍵となります。
Generator-Verifier型の反復ループ構造と最大反復回数の役割
Generator-Verifierの基本構造は、Generatorがタスクを受けて初期出力を生成し、Verifierが評価基準に照らして合否を判定するという二者構成です。Verifierが合格と判断すれば完了し、不合格なら具体的なフィードバックを添えてGeneratorへ差し戻され、再生成のサイクルに入ります。
この反復は、Verifierが合格と判断するか、あらかじめ設定した最大反復回数に達するまで継続します。最大反復回数を設けることが運用上きわめて重要であり、これを欠くと改善が頭打ちになった状態でループが永続する危険性も無視できません。Anthropic公式も、上限と並行してフォールバック戦略を準備する必要性を指摘しています。
もう一つ押さえたいのは、Verifierが必ずしもGeneratorより賢い必要はないという点です。Verifierが向き合うのは「合格基準を満たすか」という、より狭く明確な問題であり、生成より評価のほうが構造上扱いやすい場合に効果を発揮します。逆に、評価が生成と同等の難しさを持つ場合は、後述する弱点が顕在化します。
コード生成・サポート応答・コンプライアンス検証など効果的用途
Generator-Verifierが有効に機能する代表的な用途は、評価基準を明示できる領域に集中します。出力品質が誤った場合に再生成1回分のコストを大きく上回る損失を生むかどうかが、採否の実質的な分岐点です。Anthropic公式が例示する用途を整理すると、以下のような場面で適合性が高くなります。
- コード生成タスクで、別エージェントがテストを書いて実行し合否を判定する場面
- カスタマーサポートの返信生成で、ナレッジベースとの整合性とブランドガイドラインへの適合を検証する場面
- 事実確認が必要な記事や報告書で、引用元と本文の対応をチェックする場面
- ルーブリック評価による採点や品質判定など、評価軸が明確に文書化されている場面
- 規制やコンプライアンスの遵守確認で、満たすべき項目がリスト化されている場面
これらの用途に共通するのは、評価基準を事前に言語化できる点と、誤った出力を流通させた場合のコストが高い点です。評価基準の明示が難しい創造的タスクや感性判断が中心の領域では、Verifierの判定が形骸化しやすく、別パターンの検討が必要になります。
verifier基準が曖昧な場合に生じる「形だけの品質管理」の失敗パターン
Anthropic公式が最も警戒する失敗パターンは、Verifierに「出力が良いかどうか確認してください」とだけ指示した場合に発生します。具体的な評価項目を欠いたVerifierは、ほぼ無条件で合格判定を出す傾向があり、品質ゲートとして機能しません。これが「形だけの品質管理」と表現される現象です。
原文では「rubber-stamp」、すなわちゴム印を押すように出力を承認してしまう状態と表現されています。実装としてはVerifierエージェントが存在するため、組織的には品質統制が機能しているように見えますが、実際にはGeneratorの初回出力をほぼそのまま通している状態であり、運用コストだけが二重にかかる結果になります。
この失敗を避けるには、Verifierが照合すべき具体的な基準を明文化することが不可欠です。「事実関係はナレッジベースのこの範囲と一致するか」「料金プラン別の機能対応関係に誤りがないか」「顧客の質問項目すべてに回答しているか」といった粒度まで落とし込んだ判定軸を持たせて初めて、Generator-Verifier型は品質ゲートとして機能し始めます。
生成と検証の難易度が同等な場合に検出力が破綻する構造的弱点の正体
もう一つの構造的弱点は、生成と検証が分離可能なスキルである、という前提が崩れる場面です。創造的なアプローチを評価することが、それを生成することと同程度に難しい場合、Verifierは問題を確実に検出できなくなります。これがGenerator-Verifier型の最も根本的な限界です。
具体例として想像しやすいのは、新規性の高い文章表現や、未確立の領域での仮説立案などです。これらは「正解」が事前に存在しないため、Verifierが照合できる外部基準がなく、結果としてGeneratorと同じ判断負荷をVerifier側にも要求する構造になります。両者が同じ盲点を持つ場合、欠陥はそのまま素通りします。
この弱点を踏まえると、Generator-Verifier型は「正解の輪郭が外部に存在する領域」に強く、「正解そのものを発見する領域」では補強策が必要、と整理できます。後者では別パターンとの組み合わせ、たとえばShared State型で複数視点を蓄積するなどの設計判断が選択肢に入ってきます。適用領域の見極めが導入成否を決定づけるポイントです。
無限ループ回避のための反復上限設定とフォールバック戦略の実務例
Generator-Verifier型では、Generatorがフィードバックに対応できないまま振動状態に陥る可能性があります。Verifierの指摘がGenerator側の能力範囲を超えていたり、二つの要件が相互に矛盾していたりすると、何度回しても合格に至らず、トークン消費だけが累積する結果を招きます。
この事態を防ぐための実務的対策は二段構えで設計するのが定石です。第一に、反復回数の上限を明示的に設定することで、無限ループへの転落を物理的に遮断します。第二に、上限到達時のフォールバック戦略を準備し、人手レビューへのエスカレーション、または「この点に懸念あり」という注釈を付けた最良案の返却、といった逃げ道を確保します。
運用面では、反復回数とトークン消費の分布を可視化し、平均的に何回で合格に達するかを把握しておくことが重要です。上限近くで止まる事例が多発する場合、Verifierの基準が厳しすぎるか、Generator側のモデル能力が不足している可能性があり、設計見直しのシグナルとなります。フォールバックを「最後の砦」ではなく、システム健全性を測る指標として位置づける姿勢が、安定運用の基盤となります。
Orchestrator-Subagent型の階層分業とClaude Code実装例
Orchestrator-Subagentは、Anthropic公式が「多くのユースケースでまずここから始めるべき」と推奨するパターンです。階層的な分業構造によって複雑なタスクを境界の明確なサブタスクへ分解し、中央のOrchestratorがそれらを統合するという発想は、Claude Code自身の動作にも採用されており、実装イメージが掴みやすい点も特徴です。
lead agentによるタスク分解とsubagent並列起動の動作原理
Orchestrator-Subagentの中核は、lead agentと呼ばれる中央のOrchestratorがタスクを受け取り、自ら処理する部分と、別エージェントへ委譲する部分を判断するプロセスです。委譲されたサブタスクはsubagentが独自のコンテキストウィンドウで処理し、要約された結果をOrchestratorへ返却します。
この構造の利点は、Orchestratorのコンテキストを主要タスクに集中させながら、独立した探索や副次的調査を並行して走らせられる点です。subagentは自分専用のコンテキストを持つため、Orchestrator本体のコンテキストを汚さず、必要な情報だけを蒸留して戻すという役割分担が成立します。
動作のポイントは、Orchestratorが「何をsubagentに任せるか」を動的に判断するところです。事前に固定された分業ではなく、タスクの性質に応じて起動するsubagentの数や種類が変わるため、柔軟性とトレーサビリティの両立が可能になります。一方で、この判断品質がシステム全体の効率を左右するため、Orchestratorのプロンプト設計と委譲ルールの明文化が運用上の要諦となります。
Claude Codeが採用する背景探索型subagent dispatch事例
Anthropic公式が具体例として挙げるのが、Claude Code自身の動作です。Claude CodeのメインエージェントはOrchestratorとして振る舞い、コード編集、ファイル操作、コマンド実行を自ら処理しつつ、大規模コードベースの検索や独立した調査が必要になった瞬間にsubagentをバックグラウンドで起動します。
この設計の妙は、Orchestratorが主作業を止めずに、subagentの結果をストリーミング受信できる点です。コードを書きながら、別のsubagentが裏で「この関数はどこから呼ばれているか」を調査し、結果が返ってきた時点で本体が判断材料に組み込む、という非同期協調が成立します。
各subagentは独自のコンテキストで動作するため、本体のコンテキストを膨らませずに探索範囲を広げられます。これは特にコードベースが大規模になるほど効いてくる設計判断で、Orchestratorの注意を中核タスクに保ちつつ並行調査を進められるという、Claude Codeの応答品質を支える重要な仕組みになっています。実装者にとっては、この事例が最も再現しやすい参考実装の一つです。
コードレビュー自動化におけるセキュリティ・テスト・スタイル検査の分業
もう一つAnthropic公式が示す典型例が、自動コードレビューシステムです。Pull Requestが到着すると、システムはセキュリティ脆弱性チェック、テストカバレッジ確認、コードスタイル評価、アーキテクチャ整合性検証という複数の検査を実施する必要があります。
このタスクはOrchestrator-Subagent型と相性が良く、各検査をそれぞれ専門のsubagentへ振り分け、Orchestratorが結果を統合してレビュー総括を生成する構造で機能します。各subagentは異なる種類の知識と異なるコンテキストを必要とするため、コンテキスト分離が自然に成立し、互いの作業が干渉しません。
各検査結果は明確な出力形式で返されるため、Orchestratorは統合作業に集中できます。セキュリティ検査では脆弱性リスト、テスト検査ではカバレッジ数値と未カバー箇所、スタイル検査では指摘行とルール違反といった、それぞれ性質の異なる情報を一つのレビューレポートにまとめる作業が、中央集約型構造で素直に表現できる点が、この用途の適合度を示しています。
orchestrator情報集約ボトルネックがもたらす重要情報の欠落リスク
Orchestrator-Subagentの構造的弱点として最も重要なのが、Orchestratorが情報集約のボトルネックになるという点です。あるsubagentが、別のsubagentの作業に関係する発見をした場合、その情報はいったんOrchestratorまで戻り、Orchestratorが関連性を認識して適切に転送する必要があります。
たとえばセキュリティsubagentが認証フローの欠陥を発見し、それがアーキテクチャsubagentの分析に影響するケースを考えると、Orchestratorはこの依存関係に気づき、情報を適切にルーティングしなければなりません。複数回のハンドオフを経るうちに、重要な詳細が要約で失われたり、コンテキストの圧縮で消えたりするリスクが累積します。
この弱点が顕在化しやすいのは、subagent同士が密に関連する情報を扱う場面です。互いの発見を即座に共有する必要があるタスクでは、中央集約型の情報流通は遅延と劣化の原因となりがちです。後述するShared State型が向く領域は、まさにこの弱点が問題になる場面と重なっており、選定時の重要な分岐点になります。
直列実行が招くスループット低下と明示的並列化を選ぶ判断の境界条件
もう一つの注意点は、Orchestrator-Subagentが明示的に並列化されない限り、subagentが直列実行されてしまう点です。直列実行になると、複数エージェントを使うことでトークンコストは増えるのに、処理速度の利点は得られないという最悪のトレードオフが発生します。
この事態を避けるためには、Orchestratorの実装側で「どのsubagentを並列で起動するか」を明示的に判断する仕組みが必要です。Claude Codeの背景探索のように、独立性の高い調査タスクは並列起動し、結果ストリーミングで非同期に受け取るという設計が、スループット確保の標準的なやり方になります。
並列化の境界条件は、subagent間の依存関係の有無に集約されます。互いの結果を待つ必要のないタスクは並列に走らせ、依存関係があるタスクは順序を担保した直列処理にする、というシンプルな判断で多くのケースが整理可能です。設計時に各subagentの入出力依存をマップ化しておくと、後からの並列化判断が大きく容易になります。
Agent Teams型による長期並列処理とworker持続性の実務効果
Agent Teams型は、Orchestrator-Subagentが拡張する形で発展したパターンで、独立性が高く長時間に及ぶ並列タスクの処理に適しています。Orchestrator型との最大の違いはworker持続性、つまり一度起動したエージェントが個別タスクで終了せず、累積的にドメイン知識を蓄えていくという設計思想の差です。この違いが運用結果を大きく左右します。
coordinatorとteammate構成によるタスクキュー型分業の仕組み
Agent Teams型の構造は、coordinatorと呼ばれる調整役が複数のteammateを独立プロセスとして起動するところから始まります。teammateは共有キューからタスクを取得し、複数ステップにわたって自律的に処理を進め、完了をシグナルで通知します。
Orchestrator-Subagentが「一回のサブタスクのために起動して終了」というモデルなのに対し、Agent Teamsは「複数のタスクをまたいで生存し続ける」点で異なります。タスク完了後もteammateはリセットされず、次のタスクを受け取る準備状態で待機する仕組みです。この継続性が、後述するドメイン専門化のメカニズムを支える基盤となります。
coordinatorの役割は、タスクの割り当てと結果の収集に限定されます。Orchestratorのように各サブタスクの詳細な指示やフィードバック仲介は行わず、teammate同士の動作にもあまり介入しません。これにより、coordinatorの認知負荷は抑えられる一方、teammate同士の調整不足が生むリスクは別途設計で吸収する必要があり、後述する弱点へつながります。
Orchestrator-Subagentとの最大の差異であるworker持続性の意味
Agent Teamsを理解する上で最も重要な概念がworker persistence、すなわちteammateの持続性です。Orchestrator-Subagentでは、subagentは一つのサブタスクのために起動され、結果を返した後に消滅します。これに対しAgent Teamsのteammateは、複数の割り当てをまたいで生存し続け、コンテキストとドメイン知識を蓄積していきます。
この設計の何が効くかというと、teammateが担当領域に対する習熟度を高めていく点です。同じ種類のタスクを繰り返し処理する中で、依存関係の把握、頻出パターンへの対応、ドメイン固有の規約への適応が進み、初期状態のエージェントよりも明らかに高い出力品質を出せるようになります。
Anthropic公式の表現を借りると、teammateは時間とともに「real familiarity」、つまり実際の馴染みを獲得していく存在です。これは一回起動型のsubagentでは原理的に得られない性質であり、長期間にわたって同種のタスクを処理する用途では、Orchestrator-Subagentでは複製できない優位性となります。逆に、サブタスクが完全に異質で蓄積が活かせない場面では、この優位性は消えるため、用途選定の判断材料となります。
大規模コードベース移行プロジェクトでのservice単位割当の実務例
Anthropic公式が示す代表的な適用例が、大規模コードベースのフレームワーク移行プロジェクトです。たとえば旧フレームワークから新フレームワークへ移行する際、コードベースを構成する各サービスを独立して移行できる構造であれば、Agent Teams型が強く機能します。
coordinatorは各サービスをteammateへ割り当て、各teammateは依存関係の更新、コード書き換え、テストの修正、検証という移行ワークフロー全体を自律的に処理します。最終的にcoordinatorが完了した移行を収集し、システム全体としての結合テストを実行する、という流れになります。
この用途でAgent Teamsが効くのは、各teammateが担当サービスの構造、依存グラフ、テストパターン、デプロイ設定に対する習熟を蓄積していく点です。一つのサービスを移行する中で得た知見が、同じサービスの次の修正に活きるため、後半になるほど作業効率と品質が向上していきます。これは持続性を持たないsubagent群では再現できない、Agent Teams特有の効果です。
teammate相互の中間情報共有困難に起因する出力衝突の失敗パターン
Agent Teamsの最大の構造的弱点は、teammate同士が中間段階の発見を共有しづらいという点です。Orchestrator-Subagentでは中央のOrchestratorが情報を仲介できますが、Agent Teamsではteammateが自律的に動くため、互いの作業が他方に与える影響に気づかないまま進行する事態が起こり得ます。
たとえばteammate Aが担当サービスで共通ライブラリの破壊的変更を施した場合、その影響はteammate Bが担当する別サービスにも及ぶ可能性があります。しかし両者の間に直接の通信経路がないため、最終結果を持ち寄った段階で初めて衝突が発覚し、手戻りが発生するという失敗パターンが典型です。
この弱点が示すのは、Agent Teamsが本質的に「独立性」を前提とした設計だという点です。サブタスク間に依存関係が存在する場面では、その依存をタスク分割時点で取り除いておくか、別パターンを検討する必要があります。teammate同士が頻繁に意見交換する必要が出てきたら、それはShared State型への進化を検討する明確なシグナルになります。
完了時刻のばらつきと共有リソース競合に対する分割設計の判断論点
もう一つAgent Teamsで考慮すべきなのが、teammateの完了時刻が大きくばらつく点と、共有リソースへの競合発生です。あるteammateは2分で完了し、別のteammateは20分かかる、という状況が普通に起こります。
coordinatorはこの部分的完了状態を適切にハンドリングする必要があります。全員の完了を待つ設計にすると最遅のteammateにシステム全体が縛られ、完了順に処理を進める設計にすると後段の依存処理を慎重に組まなければなりません。どちらを選ぶかは、結合テストのタイミングや、後段処理の独立性に依存します。
共有リソース問題はさらに厄介で、複数のteammateが同じコードベース、データベース、ファイルシステムに対して並行操作すると、同じファイルへの書き込み競合や、互換性のない変更が衝突する事態を招きます。これを避けるには、タスク分割の時点で「触れる範囲」を明確に分離し、ロック機構やバージョン管理によって競合を検出・解決する仕組みを準備しておく必要があります。分割設計の粒度こそがAgent Teams導入成功の鍵そのものです。
Message Bus型のイベント駆動連携と拡張容易性のトレードオフ
Message Bus型は、エージェントの数が増え、相互作用のパターンが複雑になってきた場面で、直接的な調整に代わる選択肢として登場するパターンです。共有の通信レイヤを介して各エージェントがイベントの発行と購読を行う構造により、疎結合な拡張性を獲得しつつ、別種の運用課題を抱える設計でもあります。
publish/subscribeとrouterによる疎結合連携の動作原理
Message Busの基本構造は、エージェントがpublishとsubscribeという二つの操作で連携するというシンプルなものです。各エージェントは関心のあるtopicを購読し、別のエージェントが該当topicへイベントを発行すると、routerがそれを購読者へ配送します。
この仕組みの利点は、エージェント同士が直接互いを認識する必要がない点です。発行側は誰が受け取るかを知らず、購読側は誰が発行したかを知らなくても、共通のtopic定義さえあれば連携が成立します。これにより、新しい能力を持つエージェントを追加する際も、既存の配線を変更せず購読者として参加するだけで動き始められます。
routerの実装は、固定ルールに基づくものから、LLMを用いてイベント内容から動的に配送先を判断するものまで幅があります。LLMベースのrouterは意味的な柔軟性を持つ一方、誤分類などの固有の失敗モードも持ち込むため、用途に応じた選択が必要です。動作原理を踏まえた上で、後述する適用領域と弱点を読むと、Message Busの位置づけが立体的に見えてきます。
セキュリティアラートのtriage型振り分けで効果を発揮する事例
Anthropic公式が示すMessage Bus型の代表例が、セキュリティ運用の自動化システムです。複数のソースからアラートが届く環境では、triage役のエージェントがアラートを重要度と種別で分類し、高重要度のネットワークアラートはネットワーク調査エージェントへ、認証関連アラートはアイデンティティ分析エージェントへ、といった具合に振り分けます。
各調査エージェントは、必要に応じて補強情報を要求するイベントを発行し、コンテキスト収集エージェントがそれを満たすために動きます。最終的に得られた発見はレスポンス調整エージェントへ流れ、適切なアクションが決定されるという、多段のパイプラインが構成されます。
この事例がMessage Bus型に適合するのは、アラートの種類や調査経路を事前に完全予測できないからです。新しい脅威カテゴリが出現すれば、その対応エージェントを追加するだけで、既存の配線を変えずにシステムに組み込めます。チームごとに独立して開発・デプロイできる点も、運用組織が分散しているセキュリティ領域と相性が良い理由です。
新規エージェント追加時に既存配線を変更しない拡張容易性という利点
Message Bus型が最も評価される利点は、エージェント生態系の拡張容易性です。新しい能力を持つエージェントを追加する際、既存のエージェントの実装を変更する必要がなく、関連するtopicを購読するだけで参加できます。
これはOrchestrator型と対比すると鮮明になります。Orchestrator型では、新しいsubagentを追加するたびにOrchestratorのプロンプトやルーティングロジックを更新する必要がありますが、Message Bus型ではrouterの設定変更だけで済むか、場合によっては不要です。エージェント数が増えるほど、この差は運用負荷の差として明確に現れます。
もう一つの利点は、開発と運用の分散です。各エージェントを別々のチームが独立して開発、テスト、デプロイできるため、組織のスケールアップにも対応しやすくなります。topicという契約だけが共通化されていれば、内部実装は各チームの裁量で決められる点が、大規模プロジェクトの実務感覚と合致する設計思想です。拡張容易性は単なる技術的利点ではなく、組織的スケーラビリティを支える性質でもあります。
イベント連鎖のトレース困難とサイレント失敗を招くrouter誤分類
一方でMessage Bus型の最大の弱点は、イベント駆動の柔軟性が裏返ってトレーサビリティを難しくする点です。あるアラートが5つのエージェントを経由してカスケード的に処理された場合、「何が起きたか」を理解するには注意深いロギングと相関付けが必要になります。
Orchestrator型では、Orchestratorの逐次的な判断ログを追えば処理経路が明らかになりますが、Message Bus型ではイベントが時間軸上に散在し、複数経路を並行して流れるため、再現性のあるデバッグが格段に難しくなります。これは運用段階で問題が発生した際の原因究明コストとして跳ね返ります。
さらに深刻なのが、routerの誤分類によるサイレント失敗です。routerがイベントを誤って分類したり、配送漏れを起こしたりすると、システムは「何もしないが、エラーも出さない」という状態に陥ります。クラッシュしないからこそ気づきにくい、という性質の失敗で、品質クリティカルな領域では特に警戒が必要です。これらの弱点は導入前の運用設計で吸収すべき論点となります。
LLMベースrouterの柔軟性と固有failure modeの両面評価
Message Bus型のrouterをLLMで実装するか、ルールベースで実装するかは、システムの性格を大きく左右する設計判断です。LLMベースrouterは、イベントの自然言語的内容から意味を解釈して配送先を決定できるため、固定ルールでは扱えない曖昧な分類に対応できる強みがあります。
一方でLLMベースrouterは、それ自体がモデル推論を伴うため、レイテンシ増加、トークンコスト、判断ばらつきといった固有の特性を持ち込みます。同じイベントに対して微妙に異なる配送先を選ぶ可能性があるため、再現性が求められる用途では追加の対策が必要です。
選定の判断軸は、イベントの構造化度合いに集約されます。アラートの種別フィールドや重要度ラベルがあらかじめ整っているなら、ルールベースで十分に正確かつ高速な配送が可能です。逆に自由記述の問い合わせやログ本文から分類が必要なら、LLMベースrouterの柔軟性が活きてきます。両者をハイブリッドで使い、明確な部分はルールで処理し、曖昧な部分のみLLMへ委ねるという折衷案も実務的な選択肢です。
Shared State型は、5つのパターンの中で最も分散度が高く、中央コーディネータが存在しないという特徴を持ちます。エージェント同士が共有storeを介して間接的に協調するこの構造は、研究合成のような知見蓄積型のタスクに強い一方で、反応的ループという独自の失敗モードを抱えるパターンでもあります。
共有storeへのread/writeで完結する中央コーディネータ不在の構造
Shared State型の構造は、各エージェントが共有データベース、共有ファイルシステム、共有ドキュメントのいずれかに対してreadとwriteを行う、というシンプルな仕組みです。中央のOrchestratorやcoordinatorは存在せず、各エージェントが自律的にstoreを参照し、関連情報があれば動作し、結果をstoreへ書き戻します。
処理の起動は、初期化ステップでstoreに質問やデータセットをseedするところから始まる仕組みです。各エージェントはこの初期情報を起点に動き、後続のエージェントは先行エージェントが書き込んだ内容も参照しながら処理を進めます。終了は、時間制限、収束しきい値、あるいは「storeに十分な答えが揃ったか」を判定する専任エージェントの判断、といった終了条件によって決まります。
この構造が他のパターンと根本的に異なるのは、情報流通を仲介する存在がない点です。Orchestrator型のOrchestrator、Agent Teams型のcoordinator、Message Bus型のrouterに相当する役割がなく、storeそのものが情報集約点となります。これは利点であると同時に、後述する課題の温床にもなる構造的特徴です。
複数エージェントによる研究合成や知見蓄積型タスクへの実務適用例
Anthropic公式が示す代表的な適用例が、研究合成システムです。複雑な問いに対して、複数のエージェントがそれぞれ異なる角度から調査を進める場面を想定すると、Shared State型の強みが鮮明になります。
たとえば一つのエージェントは学術文献を探索し、別のエージェントは業界レポートを分析し、三つ目のエージェントは特許出願を調査し、四つ目のエージェントはニュース報道を追跡する、という分担を考えます。各エージェントの発見は他のエージェントの調査方針にも影響を与え得る性質のものです。学術文献エージェントが重要な研究者を発見すれば、業界エージェントはその研究者の所属企業を詳しく調べるべき、といった連鎖が自然に発生します。
Shared Stateでは、こうした発見はそのままstoreに書き込まれ、業界エージェントが次回storeを参照した時点で即座に利用可能になります。コーディネータを介した経路では避けがたい遅延や情報損失なしに、エージェント同士が互いの発見を踏まえて作業を進められる点が、研究合成のような協調型タスクとの適合性を生み出しています。
単一障害点の排除によって得られる耐障害性と継続稼働の優位性比較
Shared State型のもう一つの利点が、単一障害点の排除です。Orchestrator型ではOrchestratorが、Agent Teams型ではcoordinatorが、Message Bus型ではrouterが、いずれも停止すればシステム全体が止まる構造になっています。
Shared State型では、これらの中央役割が存在しないため、特定のエージェントが停止しても他のエージェントはstoreの参照と書き込みを続けられます。誰か一人が落ちただけでシステムが止まらない、という耐障害性は、長時間稼働や本番運用において重要な性質となります。
この優位性は、システム全体の信頼性要件が厳しい場面で特に効いてくる性質です。たとえばミッションクリティカルな分析パイプラインで、24時間365日の継続稼働が求められる場合、中央役割への依存を減らすこと自体が設計上の価値を持ちます。一方で、後述する反応的ループの問題は、この分散性の代償として現れるため、利点と弱点を並べて評価する必要があります。耐障害性だけで判断すると別の罠に陥りやすい点に注意が必要です。
重複作業と同時書き込み競合に対するlocking・versioningの工学的対処
Shared State型では、明示的な調整がないために、複数のエージェントが同じ調査対象を独立に追いかけたり、矛盾するアプローチを並行して進めたりする可能性があります。重複作業はトークンコストを浪費し、矛盾するアプローチは結果統合時の混乱を招きます。
もう一つの課題が、共有storeへの同時書き込み競合です。複数のエージェントが同じレコードを同時に更新しようとすると、片方の変更が失われたり、データが不整合な状態に陥ったりする事態が発生し得ます。
これらの問題には、データベースや分散システム分野で確立された工学的対処策がそのまま適用できます。lockingで同時書き込みを排除する、versioningで変更履歴を追跡する、partitioningで担当範囲を分離する、といったテクニックが標準的な対応です。重要なのは、これらが既知の解決可能な問題である、という点です。Anthropic公式も「known engineering fixes」と表現しており、Shared State導入時に避けては通れないが、決して未解決の難問ではない、という位置づけで設計に組み込むのが正しい姿勢となります。
反応的ループを止めるためのtermination condition設計指針
Shared State型で最も警戒すべき失敗モードが、反応的ループ問題です。エージェントAが発見を書き込み、エージェントBがそれを読んでフォローアップを書き込み、エージェントAがそのフォローアップを見て応答を書き込み、という連鎖が、収束せずに延々と続く状態を指します。
この問題は、locking等の工学的手法では解決できない振る舞いレベルの問題です。Anthropic公式は「reactive loops are a behavioral problem」と明言しており、設計の最初から終了条件を一級市民として扱うべきだと推奨しています。
具体的な終了条件としてAnthropic公式が挙げるのは、時間予算、収束しきい値、専任の終了判定エージェントという三つの選択肢です。時間予算は処理時間の上限を切る方式で、収束しきい値は「Nサイクル新規発見がなければ終了」というルールを設ける方式、終了判定エージェントは「storeに十分な答えが揃ったか」を専門に判断する役割を担います。これらを後付けで足すのではなく、設計初期から組み込んでおくことが、無限ループを防ぐ確実な方法です。終了条件を軽視したShared Stateシステムは、ほぼ確実にどこかで暴走するか、特定エージェントのコンテキストが溢れた時点で恣意的に止まる、という不安定な振る舞いに陥ります。
5つの協調パターン横断の選択基準と相互比較から導く意思決定フロー
各パターンを個別に理解した上で、実際の選定場面では「どれを選ぶか」という横断的な判断が必要になる局面が訪れます。Anthropic公式は、いくつかの構造的な問いを通じて5つのパターンを比較する枠組みを提示しているのが特徴です。この枠組みは、context-centric decompositionの原則を踏まえ、各パターンがコンテキスト境界と情報流通をどう管理するかという観点で整理されています。
短期完結タスクと長期蓄積タスクの境界条件によるパターン選別ロジック
Orchestrator-SubagentとAgent Teamsの選別は、サブタスクが短期完結型か長期蓄積型かという境界条件で決まります。両者はいずれも中央調整役が他のエージェントへ作業を委譲する構造ですが、エージェントがどれだけコンテキストを保持し続けるかという点で本質的に異なります。
Orchestrator-Subagentは、サブタスクが短く、焦点が定まり、明確な出力を生む場合に適しています。コードレビューシステムが好例で、各検査は単一の起動内で分析を実行し、レポートを生成して返却します。subagentが複数回の起動をまたいでコンテキストを持ち越す必要はありません。
Agent Teamsは、サブタスクが持続的で多段階の作業から恩恵を受ける場合に適した構造です。コードベース移行が好例で、各teammateは担当サービスへの実際の馴染みを獲得していく経過をたどります。依存グラフ、テストパターン、デプロイ設定への蓄積された理解が、一回限りのディスパッチでは再現できない方法でパフォーマンス改善につながるはずです。subagentが起動をまたいで状態を保持する必要が出てきた段階で、Agent Teamsが適合解になります。
ワークフローの予測可能性によるOrchestrator型とMessage Bus型の選別
Orchestrator-SubagentとMessage Busはどちらも多段ワークフローを扱えるため、選別には別の軸が必要です。Anthropic公式は、ワークフロー構造の予測可能性を判断軸として提示しています。
Orchestrator-Subagentは、手順の順序が事前に分かっている場合に向きます。コードレビューシステムは固定のパイプラインに従い、PRを受け取り、検査を実行し、結果を統合する、という一連の流れが予測可能です。各ステップで何が起こるかが設計時に明らかであるため、中央集約型の制御で過不足なく扱えます。
Message Busは、ワークフローがイベントから創発し、発見内容に応じて変動する場合に向きます。セキュリティ運用システムは、どのアラートが届き、どの調査経路を要求するかを予測できません。新しいアラート種別が出現すれば新しい処理を要する、という変動性に対応するために、Message Busは固定シーケンスではなくイベントを受け取れるエージェントへ配送する方式を採用します。Orchestrator内に条件分岐ロジックが累積してきたら、Message Busへの移行を検討する明確なシグナルとなります。
Agent TeamsとShared Stateはどちらもエージェントが自律的に作業する点で似ていますが、互いの発見をどれだけ必要とするかという軸で選別されます。
Agent Teamsは、エージェント同士が相互作用しない別パーティション上で作業する場合に適しています。コードベース移行はこの分かれ目に当てはまり、各teammateが担当サービスを処理し、coordinatorが最後に結果を結合するという流れで完結します。中間段階でのteammate間情報交換は本質的に不要です。
Shared Stateは、エージェントの作業が協働的であり、発見が両者の間でリアルタイムに流れるべき場合に適しています。研究合成システムが好例で、学術エージェントの重要研究者発見が、業界エージェントの調査対象選択に即座に影響を与えるべき場面です。teammateが最終結果の共有だけでなく、互いに通信する必要が出てきた段階で、Shared Stateの方が自然な選択になります。両者の境界は、サブタスク間の独立性の度合いという単一軸でクリアに引けます。
Message BusとShared Stateは、いずれも複雑なマルチエージェント協調を支えますが、作業が離散イベントとして流れるか、共有知識ベースに累積されるかという点で異なります。
Message Busは、エージェントがパイプライン内のイベントに反応する場合に向く構造です。セキュリティ運用システムはアラートを段階ごとに処理し、各イベントが完了する前に次のイベントを引き起こします。能力のあるエージェントへイベントを配送するという仕組みが、この流れに合致します。
Shared Stateは、エージェントが時間をかけて累積された発見の上に構築していく場合に向く設計です。研究合成システムは知識を継続的に集めていく構造で、エージェントは繰り返しstoreへ戻り、他者の発見を見て自分の調査を調整します。さらに、Message Busにはrouterが存在するため、イベントの行き先を決める中央コンポーネントが残る点が両者の違いです。Shared Stateは完全に分散型で、単一障害点の排除を優先する場合はShared Stateの方が要件を満たします。Message Bus上のエージェントが、アクションを起こすためではなく発見を共有するためにイベントを発行している状態が観察されたら、Shared Stateへの移行を検討する好機です。
協調パターン選別マトリクスで整理する5つの判断基準と推奨対応の一覧
5つのパターンとそれぞれの選定状況を一覧化すると、自社の課題がどの軸に属するかを即座に判別できるようになります。Anthropic公式が示すサマリ表を基に、判断基準とパターンの対応関係を整理します。
| 判断基準となる状況 | 推奨されるパターン |
|---|---|
| 品質クリティカルな出力で明示的な評価基準が設定可能 | Generator-Verifier |
| タスク分解が明確で境界の定まったサブタスクで構成 | Orchestrator-Subagent |
| 並列ワークロードで独立した長時間サブタスクが連なる | Agent Teams |
| イベント駆動のパイプラインでエージェント生態系が拡大 | Message Bus |
| 協働的な調査でエージェント同士が発見を共有 | Shared State |
| 単一障害点の存在を許容できない | Shared State |
このマトリクスを使う際の注意点は、複数の状況が同時に成立する場合は、最も拘束力の高い要件を優先することです。たとえば品質クリティカル要件と協働調査要件が両方ある場合、Generator-Verifierと Shared Stateを組み合わせたハイブリッド構成が選択肢に入ります。マトリクスは単一選択を強制するものではなく、組み合わせを検討する起点として活用するのが正しい使い方です。
Orchestrator-Subagent起点で組み立てる進化戦略とハイブリッド構成
Anthropic公式が一貫して推奨する運用戦略が、Orchestrator-Subagentから始め、ボトルネックを観察しながら他のパターンへ進化させていくというアプローチです。最初から完成形を目指すのではなく、段階的に複雑性を導入する姿勢が、過剰設計を避けつつ実需に応える鍵となります。
公式が推奨する「Orchestrator-Subagentからの開始」の理由分析
多くのユースケースにおいてOrchestrator-Subagentから始めるべき、というAnthropic公式の推奨には、いくつかの構造的な理由があります。最も大きな理由は、このパターンが最も広範な問題を最小の調整オーバーヘッドで扱えるという点です。
中央集約型のOrchestratorが意思決定を一元化するため、ログ追跡とデバッグが直線的になる構造です。問題が発生した際、Orchestratorの判断ログを順に追えば処理経路を再構築できるため、運用初期の試行錯誤に向きます。これがMessage BusやShared Stateだと、ログの相関付けに余分な労力が必要になります。
もう一つの理由は、コスト管理のしやすさです。Orchestratorがsubagent起動を統制するため、トークン消費の予測と上限管理が比較的容易です。並列化の判断もOrchestratorが握っているため、過剰な並列起動を制御しやすくなります。最初は単一エージェントで作り、その後Orchestrator-Subagentに拡張、というステップを踏むと、複雑性導入の必要性が現場の課題から自然に立ち上がってくる感覚が掴めるようになります。
ボトルネック観測からパターン進化を判断するための4つのシグナル整理
Orchestrator-Subagentから他のパターンへ進化するタイミングは、いくつかの観測可能なシグナルで判断できます。これらのシグナルは、現場で問題が顕在化した時点で初めて意味を持つため、推測ではなく実運用データで判断することが重要です。
第一のシグナルは、subagent間で情報共有が必要になる頻度の増加です。あるsubagentの発見が別のsubagentに頻繁に影響する状況が観測されたら、Orchestrator経由の中継では遅延と情報損失が累積するため、Shared Stateへの移行を検討する材料となります。
第二のシグナルは、サブタスクが長時間化し、起動ごとに状態をリセットすることが非効率になる状況です。同じドメインへの繰り返し作業で蓄積が活きる場面が増えてきたら、Agent Teamsの持続性が答えになります。第三のシグナルは、Orchestrator内に条件分岐が累積し、保守困難になってきた状況で、Message Busへの移行が検討候補です。第四のシグナルは、単一障害点の存在自体が問題視される運用要件が出てきた状況で、Shared Stateが必要になります。シグナル発生時に対症療法的にロジックを足すのではなく、パターン進化の判断機会として捉える姿勢が重要です。
Anthropic公式が明示するように、本番システムでは複数のパターンを組み合わせるハイブリッド構成が一般的です。代表的な組み合わせの一つが、全体ワークフローはOrchestrator-Subagentで管理しつつ、協働性の高い部分タスクだけShared Stateで処理する構成です。
具体例として、コード移行プロジェクトの全体進行はOrchestratorが管理するが、移行に必要な調査フェーズだけはShared Stateで複数のリサーチエージェントが互いの発見を即座に共有する、という設計が考えられます。Orchestratorは調査の終了を待ってから、その結果をsubagentによる実装フェーズへ引き渡す、という二段構成です。
このハイブリッドの妙は、各部分タスクの性格に応じて最適なパターンを当てはめられる点です。協働性が必要な部分だけ分散構成にし、それ以外は中央制御で済ませることで、Shared Stateの設計負荷を必要最小限に抑えつつ、その利点を享受できます。パターンを「排他的選択肢」と見るのではなく、「組み合わせ可能なビルディングブロック」と見る視点が、現実的なシステム設計を支えます。
Message Bus上でAgent Teams型workerを運用する構成パターン
もう一つよく使われるハイブリッド構成が、Message Busによるイベントルーティング上で、Agent Teamsスタイルのworkerが各イベント種別を処理するというパターンです。これは特に大規模イベント駆動システムで採用される設計です。
この構成では、Message Busが「どのイベントをどのworker群に流すか」を管理し、各worker群はAgent Teams型で持続的に動作してイベントを処理します。新しいイベント種別が出現すれば、新しいworker群を追加してそのtopicを購読させるだけで対応できる柔軟性と、各worker群がドメイン知識を蓄積する持続性の両方を獲得できます。
この組み合わせが効くのは、イベントの種別ごとに専門化が進むほど処理品質が上がるドメイン、たとえばカスタマーサポートの問い合わせカテゴリ別処理や、データ分析パイプラインの分析種別ごとの処理などです。Message Busの拡張容易性とAgent Teamsの専門性蓄積を併せ持つこの構成は、組織がスケールしていく過程で自然に行き着く形の一つでもあります。複数パターンの利点を組み合わせる設計感覚が、長期運用するシステムの基盤となります。
早すぎる複雑化を避けるための段階的拡張ロードマップとチェックポイント
Anthropic公式の方針を実装ロードマップに落とすと、段階的拡張のステップが明確になります。各ステップでチェックポイントを設けることで、早すぎる複雑化を防ぎながら確実に進化させる運用が可能です。
- 単一エージェントで実装し、機能と精度の基準値を確立する
- 品質クリティカル要件が浮上したらGenerator-Verifierを追加する
- タスク分解が必要になったらOrchestrator-Subagentへ拡張する
- subagentの持続性が必要になったらAgent Teamsへ進化させる
- イベント駆動の拡張性が必要になったらMessage Busを導入する
- 協働性と耐障害性が必要になったらShared Stateを採用する
各ステップへ進む前のチェックポイントは、現在の構成で実際にボトルネックが観測されているか、その問題が次のパターンで解決される性質のものか、という二点を確認することです。これを飛ばして「いずれ必要になるだろう」という予測で進むと、Anthropic公式が警告する過剰設計に陥りやすくなります。実需に基づく拡張判断こそが、健全なシステム成長を保証する基盤です。
Anthropic公式の警告から逆算する導入前チェックと現場の落とし穴
Anthropic公式は5つのパターンを紹介する中で、各所で具体的な失敗パターンや警告を発しています。これらの警告を逆算して導入前チェックリストとして整理すれば、現場で陥りがちな落とし穴を体系的に回避できるはずです。最後の章として、導入を判断する前に確認すべき論点を整理します。
「sophisticated」な構造への憧れによる過剰設計の失敗パターン
Anthropic公式が冒頭で警告するのが、「sophisticated」、つまり高度に聞こえるアーキテクチャを内容より先に選んでしまう失敗パターンです。Message BusやShared Stateといった分散構成は技術的には魅力的に映りますが、実際の問題がそれを必要としているかは別問題です。
この失敗を避けるための最初のチェックは、「現在の構成で何が困っているか」を具体的に言語化することです。困っている内容を明文化できないまま「より高度な構成にしたい」と考えている場合、それは過剰設計のサインである可能性が高くなります。実需が言語化できれば、必要なパターンも自然と絞り込まれます。
もう一つのチェックは、現在の構成のボトルネック観測データを持っているかという点です。レイテンシ、トークン消費、エラー率、再試行回数といった具体的な指標で「ここが詰まっている」と示せる状態でなければ、次のパターンへ進化する判断基盤がありません。データに基づいた進化判断こそが、過剰設計と適正な進化を分ける決定的な違いとなります。Anthropic公式の「最もシンプルなパターンから始める」という方針は、まさにこの落とし穴への対策として打ち出されたものです。
verification基準未定義による「early victory」問題の典型例
Anthropic公式が「previous post」で議論したと言及している失敗が、early victory問題です。Generator-Verifier型でVerifierの基準を曖昧なまま実装すると、Verifierがほぼ無条件で合格を出し、品質統制が機能しているかのような錯覚を生む現象です。
典型例は、Verifierへの指示が「この出力は良いですか」とだけ書かれている場合です。これでは何を基準に判断すべきかが伝わらず、Verifierは「特に問題なさそうです」という回答を返しがちです。表面的にはレビュープロセスが回っているように見えますが、実際には何もチェックされていない、という状態が静かに進行します。
この問題を避けるためのチェックは、Verifierへの指示文を読み返したときに、合格基準が具体的に列挙されているかを確認することです。「事実関係はソースXと一致しているか」「言及すべき項目A・B・Cがすべて含まれているか」「禁止表現リストYに該当する記述がないか」といった粒度まで落ちていれば機能します。逆に抽象的な評価語だけで構成されている場合、early victory発生の確度が高いと判断すべきです。導入前の指示文レビューが、形だけの品質管理を防ぐ最大の防壁となります。
Anthropic研究システム事例が示す約15倍トークンコストという代償の評価
マルチエージェント構成が持つ重要な代償の一つが、トークンコストの増加です。Anthropic公式のエンジニアリングブログ「How we built our multi-agent research system」によれば、マルチエージェント構成はチャット会話と比較して約15倍のトークン量を消費すると報告されています。これは設計時点で覚悟しておくべき数字です。
この代償を許容するかどうかは、ユースケースの性質に依存します。Claude Researchのように調査の広さと深さが事業価値に直結する用途では、コスト増を上回るリターンが見込めるため正当化されます。一方、定型的な質問応答やシンプルなタスク処理では、シングルエージェントの方が経済的に合理的です。
導入前のチェックとして、「単一エージェントで対応可能な水準を超える品質や速度が、実際に事業価値を生むか」を金額換算で見積もる作業が有効です。コスト天井、精度SLA、速度予算、エラー率といった本番制約を明文化した上で、それらを満たすためにマルチエージェント化が必要かを判断する、という順序を踏むことで、コスト超過による運用破綻を避けられます。約15倍という数字は、設計判断の重さを物理的に示す指標として活用すべき情報です。
tracing・debug困難性への対応として整備すべきログ設計の要点
マルチエージェント構成、特にMessage BusとShared Stateで顕在化するのが、トレース困難性とデバッグの難しさです。事象が複数のエージェントを経由してカスケードする中で、何がどの順序で起こったかを再構築するには、設計時点からのログ整備が不可欠となります。
ログ設計の要点は、各イベントに一意の相関IDを付与し、エージェントをまたいで追跡可能にすることです。これがあれば、ある最終結果から逆引きして、関与した全エージェントの判断と入出力を時系列で並べ直せます。相関IDなしでは、複数経路を流れたイベントの再構築が指数的に困難になります。
もう一つの要点は、エージェントの判断根拠を構造化して残すことです。「何を入力に、何を出力したか」だけでなく、「どのプロンプトでどの中間思考を経て、どの根拠でその出力を選んだか」までログ化することで、エラー時の原因究明が可能になります。本番運用に入ってからログ設計を後付けすると、過去の問題を遡及調査できないため、導入前の設計段階で整備しておくことが事実上の必須要件となります。デバッグ容易性は技術的価値というより、運用継続性を支える基盤的要件です。
単一エージェント維持やパターン未採用が正解となる判断ケースの整理
最後に押さえておきたいのが、マルチエージェント協調パターンを採用しないことが正解となるケースです。Anthropic公式は、過去記事「Building multi-agent systems」で、単一エージェントの方が適している場面を明示しています。
典型的なのは、タスクの全体が単一のコンテキストウィンドウに収まり、手順が短く、独立した探索や並列処理を必要としない場合です。たとえば一般的なFAQ応答、定型的なドキュメント生成、明確な指示に基づくコード補完などは、シングルエージェントで十分機能します。これらにマルチエージェント構成を導入すると、コストとデバッグ難度だけが増え、品質や速度の改善は得られません。
もう一つの判断ケースは、開発・運用リソースが限定的で、マルチエージェント構成のログ設計、エラー処理、進化判断を継続的に支えるだけの体制がない場合です。技術的に可能であることと、組織的に運用可能であることは別の問題であり、後者の前提が崩れている状態で複雑な構成を導入すると、運用負荷で別の問題を生み出します。「採用しない」という判断も、5つのパターンを理解した上で初めて意味のある選択肢として浮かび上がります。シンプルさを守る勇気が、結果としてシステムの長期健全性を支えるという視点が、すべての導入判断の根底にある哲学です。