Multi-Agent Orchestration — マルチエージェント協調の設計・実行
複数エージェントを協調させる構成を 設計(アドバイス) し、必要なら Claude Code の
Agent / Workflow ツールで 実際に実行 する。一次情報源は Anthropic マルチエージェント
研究システム・Building Effective Agents・Cognition「Don't Build Multi-Agents」・
context engineering 記事に基づく。
フェーズ判定
依頼から、必要なフェーズを判定する(通常 1→2→3 の順。実行不要なら 2 で止める)。
- フェーズ1 判断ゲート: 常に最初に通す。マルチエージェントが本当に要るか。
- フェーズ2 設計: 必要と判断したら topology と協調を設計する。
- フェーズ3 実行: この環境で実際に動かす依頼なら Agent/Workflow で組む。
フェーズ1: 判断ゲート(過剰設計を防ぐ門)
まずここで止めて評価する。 マルチエージェントは単一エージェントの 約15倍トークンを 消費し、性能分散の80%をトークン量が説明する(Anthropic)。Cognition は 「Don't Build Multi-Agents」で、並列サブエージェントは暗黙の前提が衝突して成果が壊れるとし、 単一スレッド線形エージェント + コンテキスト圧縮を推奨する。
マルチエージェントが正当化されるのは次が揃うとき(Anthropic):
- breadth-first / 並列探索: 独立した方向を同時に探れる(依存が低い)
- 単一コンテキストを超える規模
- 高価値でコスト(15倍)を正当化できる
いずれも満たさないなら、単一エージェント設計を推奨し harness-design に委ねて終了する。
「分割できるが相互依存が高い」タスクは特に危険(inter-agent misalignment の主因)。
フェーズ2: 設計(topology と協調)
必要と判断したら、対象に合う topology を 1つ 推奨する。詳細な選択基準・協調機構・
失敗モードは references/patterns.md を参照(必要時に読む)。
出力形式:
## マルチエージェント設計: <対象>
判断ゲート: <なぜマルチが正当か。15倍コストを上回る理由を1-2行>
### 1. topology
推奨: <orchestrator-worker / supervisor / parallel-sectioning / handoff-network / hierarchical> — 理由
### 2. 協調機構
- コンテキスト共有: <フルトレース共有 vs agent-as-tool で要約だけ返す> — 理由
- 委譲: <各サブエージェントへ渡す 目的/出力形式/ツール/境界>
- 結果の圧縮: <親に返すのは 1-2k トークンの凝縮サマリ>
### 3. 失敗モード対策
- inter-agent misalignment(暗黙の前提衝突)への対策
- 停止条件・スケーリング規則(簡単=1体、複雑=10体以上)
### 最小構成での第一歩
<まず単一 orchestrator + 2-3 worker から。動いてから増やす>
フェーズ3: 実行(Claude Code で動かす)
この環境で実際に協調を走らせる。Agent(LLM主導の動的サブエージェント)と
Workflow(コードで決定的にオーケストレーション)を使い分ける。具体的な記法・レシピ・
ガードレールは references/claude-code-recipes.md を参照。
判断の骨子:
- 動的に分解する必要がある / 探索的 →
Agentツールでサブエージェントを spawn - 構造が決まっている(fan-out → verify → synthesize 等) →
Workflowでpipeline/parallel - 並列でファイルを書く → worktree 隔離(衝突回避)
- 書き込み範囲を制限したい →
permissions.denyか PreToolUse フックでガード (単純なパス禁止は deny、条件分岐が要るならフック)
注:
Workflowはトークン消費が大きく、明示的オプトインが要る。本スキルが指示する形で 起動する場合も、規模(spawn数・トークン)をユーザーに伝えてから実行する。
重要な設計原則(常に効かせる)
- 最も単純に機能するものを採用: 単一で足りるなら単一。マルチは最後の手段。
- コンテキストを共有せよ: 個別メッセージでなくフルのエージェントトレース(Cognition)。
- 行動は暗黙の決定を含む: 並列ワーカーの前提が衝突すると統合不能になる。
- 委譲は明示的に教える: 曖昧な指示は重複作業を生む(Anthropic の初期失敗)。
- サブエージェントはクリーンな文脈で作業し、凝縮サマリだけ返す(context engineering)。
詳細な一次情報源は各 references ファイル末尾を参照。