multi-agent-orchestration について
Multi-Agent Orchestration は、作業を独立したサブタスクに分け、サブエージェントへ並行して割り当て、結果を統合するスキルです。並列化の効果が見込める作業向けに、明確な範囲、検証可能な成果物、統合チェックを重視します。
主な機能
- 01独立した検証可能な作業単位への分割
- 02サブエージェントへの一括並列割り当て
- 03オーケストレーターとワーカーの役割定義
- 04競合の検出と結果の調整
- 05統合結果のチェック
活用シーン
- 01複数の独立した調査を並行して進める
- 02別々のファイルやモジュールを同時に扱う
- 03検索を分担して結果を集約する
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ composio-community/ opencode-skills --skill multi-agent-orchestrationインストール後、Claude Code で/multi-agent-orchestrationを入力して読み込まれたか確認します。
詳細
マルチエージェントのオーケストレーション
作業を独立した単位に分解し、サブエージェントに並列で割り当てて、結果を統合します。オーケストレーターが分解、契約、マージを担い、サブエージェントは実行のみを担います。
使用する場面
真に独立したサブタスク(別々のファイル/モジュール、並行する調査スレッド、ファンアウト検索)があり、逐次実行に実際のコストがかかる場合に使用します。効果が得られるのは、独立性がある場合です。
サブタスクが可変状態を共有する場合、順番に実行する必要がある場合、または調整のオーバーヘッドが作業量を上回る場合は、使用しないでください。互いの作業を妨げる5つのエージェントより、1つの作業に集中するエージェントのほうが優れています。
分解
各単位が次の条件を満たすように分割します。
- 独立している — 可変状態を共有せず、実行中に他の単位の出力に依存しません。
- 自己完結している — プロンプトにすべてのコンテキスト(パス、制約、完了の定義)が含まれています。サブエージェントは会話を見ることができません。
- 検証可能である — 明確で確認可能な成果物があります。
2つの単位が同じファイルを変更する必要がある場合や、一方が他方の結果を必要とする場合は、1つの単位にまとめるか、順番に実行します。並列化しないでください。
割り当て
- 独立した単位は一括で起動し、同時に実行します。1つ起動して待ち、その後に次を起動するやり方は避けてください。
- 各エージェントに、目的、正確な範囲(対象と対象外)、入力/パス、出力形式、完了基準を伝えます。
- 作業に合ったエージェントを割り当てます(読み取り専用の調査、実装、レビューなど)。
- 同時実行数は、実際に独立している単位の数を上限とします。独立した単位より多くのエージェントを割り当てても、マージのコストが増えるだけです。
役割(明示的に割り当てる)
- オーケストレーター — 分解、割り当て、マージ、競合の解決を行います。機能コードは書きません。
- ワーカー — 1つの単位を実行し、構造化された結果を報告します。
- レビュアー(任意)— マージ済みの出力を仕様に照らして独立して確認します。自分の作業はレビューしません。
マージ
- 構造化された結果を収集します。返されるのはワーカーのメッセージのみです。重要な内容を伝えます。
- 競合を検出します。編集箇所の重複、相反する調査結果、前提のずれを確認します。
- 意図的に調整します(オーケストレーターが判断します。ワーカーが範囲を見落とした場合は、その単位を再度割り当てます)。
- 統合した結果に対してインテグレーションチェックを実行します。個別には問題がなくても、組み合わせると不具合が起きることがあります。
アンチパターン
- 同じファイルを編集する「並列」エージェント — 競合が起き、作業が失われます。
- 順次の割り当て(起動、待機、起動)を並列と呼ぶ — 速度は向上しません。
- エージェントが見られない会話のコンテキストを前提にした曖昧なサブプロンプト。
- インテグレーションチェックをせずに、マージ済みの出力を受け入れる。
- 独立した単位が2つしかないのに、N個のエージェントを起動する。
完了条件
すべての単位の成果物がそれぞれの基準を満たし、競合が解決され、統合した結果が当初の目的に照らしたエンドツーエンドのチェックに合格していること。
コメント
Markdown 対応