agent-orchestration について
agent-orchestrationは、単一およびマルチエージェントシステムを設計する開発者向けスキルです。推論ループ、連携、シナリオ振り分け、フレームワーク選定のパターンを扱い、詳細なルールを必要に応じて読み込めます。
主な機能
- 01ReAct、計画実行、自己修正ループ
- 02複数エージェントの並列連携と結果統合
- 03意見の相違や出力の調停
- 04シナリオ別の振り分けと結果集約
- 05CrewAI、AutoGenなどの選定
活用シーン
- 01ステップ数を制限した推論ループの実装
- 02専門エージェントへのタスク分配と結果統合
- 03チームや要件に合うフレームワークの比較
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ yonatangross/ orchestkit --skill agent-orchestrationインストール後、Claude Code で/agent-orchestrationを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
metadata.jsontest-cases.jsonchecklists/framework-selection.mdreferences/claude-code-instance-management.mdork-delta.mdframework-comparison.mdlanggraph-implementation.mdrules/_template.mdmulti-debate.mdmulti-supervisor.md_sections.mdscenario-routing.mdscenario-orchestrator.mdscripts/agent-workflow-template.tsopenai-multi-agent.pycrewai-crew.py詳細
エージェントのオーケストレーション
単一エージェントの推論ループからマルチエージェントシステム、フレームワークの選定まで、AI エージェントの構築と調整に関する包括的なパターンを紹介します。調整とマルチシナリオのカテゴリには、それぞれ個別のルールファイルがあり、必要に応じて rules/ から読み込まれます。ループとフレームワークのチュートリアルは上流のソースにあります(上流の対応状況を参照)。プロジェクト独自のデフォルト設定は references/ork-delta.md にあります。
CC ネイティブの
/workflows(2.1.154): Claude Code には、動的な ワークフロー が搭載されるようになりました。Claude にワークフローの作成を依頼すると、バックグラウンドで数十から数百のエージェントをオーケストレーションします。実行状況は/workflowsで確認できます。これは、ここで紹介するパターンを補完するものです。大規模な、後から結果を確認するバックグラウンドのファンアウトには CC/workflowsを使用してください。単一のスキル呼び出し内で、共有メモリ(引き継ぎファイル、メッシュメッセージング)を介して 8 エージェント以下が連携する必要がある場合は、以下の制限付きのフォアグラウンド Agent Teams/Task ツールのパターンを使用してください。規模が異なるだけで、置き換えるものではありません。本当に行き詰まった場合にのみ質問してください(CC 2.1.154): CC は、選択肢形式の質問プロンプトを、自身では判断できない場合にのみ使うようになりました。十分なコンテキストがあり、処理を進められるときには質問しません。エージェントをオーケストレーションする際は、リードが利用可能なコンテキストから判断できる
AskUserQuestionによって進行を止めないでください。プロンプトは、元に戻せない操作や要件の不足など、本当に分岐が必要な場合に限って使用してください。これは、ork の音声に配慮した判断ガイダンスを補完するものです。
クイックリファレンス
| カテゴリ | ルール | 影響度 | 使用する場面 |
|---|---|---|---|
| エージェントループ | 上流 | 高 | ReAct 推論、計画と実行、自己修正 |
| マルチエージェントの調整 | 2 | 重大 | スーパーバイザーによるルーティング、エージェント間の議論、結果の統合 |
| 代替フレームワーク | 上流 | 高 | CrewAI のクルー、AutoGen のチーム、フレームワークの比較 |
| マルチシナリオ | 2 | 中 | シナリオの並列オーケストレーション、難易度に応じたルーティング |
合計:4 カテゴリにわたる 4 つのルールです。 ループとフレームワークのチュートリアルは各プロジェクトの公式ソースに移動しました。引き継がれたプロジェクト独自のデフォルト設定は references/ork-delta.md にあります。
クイックスタート
# ReAct agent loop
async def react_loop(question: str, tools: dict, max_steps: int = 10) -> str:
history = REACT_PROMPT.format(tools=list(tools.keys()), question=question)
for step in range(max_steps):
response = await llm.chat([{"role": "user", "content": history}])
if "Final Answer:" in response.content:
return response.content.split("Final Answer:")[-1].strip()
if "Action:" in response.content:
action = parse_action(response.content)
result = await tools[action.name](*action.args)
history += f"\nObservation: {result}\n"
return "Max steps reached without answer"
# Supervisor with fan-out/fan-in
async def multi_agent_analysis(content: str) -> dict:
agents = [("security", security_agent), ("perf", perf_agent)]
tasks = [agent(content) for _, agent in agents]
results = await asyncio.gather(*tasks, return_exceptions=True)
return await synthesize_findings(results)
エージェントループ
自律的な LLM 推論のパターンを紹介します。ReAct(推論と行動)、再計画を伴う計画と実行、自己修正ループ、スライディングウィンドウによるメモリ管理が含まれます。
主な判断事項: 最大ステップ数は 5~15、温度は 0.3~0.7、メモリウィンドウは 10~20 メッセージです。
マルチエージェントの調整
ファンアウト/ファンインによる並列処理、依存関係の順序付けを伴うスーパーバイザーによるルーティング、競合の解決(信頼度ベースまたは LLM による仲裁)、結果の統合、CC Agent Teams(CC 2.1.33 以降のピアメッセージング向けメッシュトポロジー)を紹介します。
主な判断事項: 専門エージェントは 3~8 個とし、独立したエージェントは並列化します。3 つのモードから 1 つ選択してください。単純な作業には Agent ツール(スター)、分野横断的な課題には Agent Teams(メッシュ)、後から結果を確認する大規模なバックグラウンドのファンアウトには Workflow を使用します。
代替フレームワーク
Flows を備えた CrewAI の階層型クルー(1.8 以降)、OpenAI Agents SDK のハンドオフとガードレール(0.12 以降)、Microsoft Agent Framework(AutoGen と SK の統合)、長時間にわたるコーディング向けの GPT-5.2-Codex、オープンソースの柔軟性を備えた AG2 を紹介します。
主な判断事項: フレームワークは、チームの専門知識とユースケースに合わせて選択します。ステートマシンには LangGraph、役割ベースのチームには CrewAI、ハンドオフワークフローには OpenAI SDK、エンタープライズのコンプライアンスには MS Agent を使用します。
マルチシナリオ
1 つのスキルを 3 つの並列シナリオ(シンプル/中程度/複雑)にわたってオーケストレーションし、段階的な難易度のスケーリング(1x/3x/8x)、マイルストーンの同期、シナリオをまたぐ結果の集約を行います。
主な判断事項: チェックポイント付きの連続実行とし、シナリオは常に 3 つ、スケーリングは 1x/3x/8x の指数的な増加、時間予算は 30 秒/90 秒/300 秒とします。
上流の対応範囲(再記載しないでください)
以下のトピックに関するローカルチュートリアルは廃止されました。一次情報を参照し、プロジェクト固有の差分のみを references/ork-delta.md に残してください。
| トピック | 一次情報 |
|---|---|
| ReAct/計画と実行/自己修正ループの実装 | OpenAI function calling guide (https://platform.openai.com/docs/guides/function-calling); LangGraph tutorials (context7: /langchain-ai/langgraph) |
| ファンアウト調整、結果統合の定型処理、汎用マルチエージェント設計チェックリスト | Python asyncio docs (https://docs.python.org/3/library/asyncio-task.html); Anthropic "Building effective agents" (https://www.anthropic.com/research/building-effective-agents); ork:langgraph supervisor patterns |
| CrewAI(crews、Flows、MCP ツール、ガードレール) | CrewAI docs (https://docs.crewai.com); context7: /crewaiinc/crewai |
| OpenAI Agents SDK(ハンドオフ、セッション、ガードレール、MCP) | https://openai.github.io/openai-agents-python/ ; context7: /openai/openai-agents-python |
| Microsoft Agent Framework/AutoGen(チーム、終了条件、A2A) | https://learn.microsoft.com/en-us/agent-framework/ ; context7: /microsoft/autogen |
| GPT-5.2-Codex の機能、料金、IDE 連携 | OpenAI model docs (https://platform.openai.com/docs/models) |
| マルチシナリオのステートマシン、アーキテクチャ、スキルに依存しないテンプレートの詳細解説 | スキル内の rules/scenario-orchestrator.md と rules/scenario-routing.md に置き換え済みです |
参考資料
references/ork-delta.md- 廃止されたチュートリアルから引き継いだ、プロジェクトのデフォルト設定と日付入りの決定事項references/framework-comparison.md- 簡潔なフレームワーク選定マトリックスとユースケース表references/langgraph-implementation.md- マルチシナリオオーケストレーターの LangGraph 1.2+ 実装references/claude-code-instance-management.md- シナリオのデモ用に Claude Code インスタンスを3つ並行実行する方法
主な決定事項
| 決定事項 | 推奨 |
|---|---|
| シングルエージェントかマルチエージェントか | 集中的なタスクにはシングル、分解可能な作業にはマルチ |
| ループの最大ステップ数 | 5~15(無限ループを防止) |
| エージェント数 | ワークフローごとに3~8人の専門エージェント |
| フレームワーク | チームの専門知識とユースケースに合わせる |
| トポロジー | シンプルな場合は Agent tool(スター型)、複雑な場合は Agent Teams(メッシュ型)、大規模なバックグラウンドのファンアウトには Workflow |
| シナリオ数 | 必ず3つ(シンプル、中程度、複雑) |
よくある間違い
- エージェントループにステップ上限を設けない(無限ループ)
- メモリ管理をしない(コンテキストのオーバーフロー)
- マルチエージェントでエラーを分離しない(1つの失敗ですべてが停止)
- 注(CC 2.1.161):並列のツール呼び出しは個別に失敗するようになりました。失敗した Bash が同じバッチ内の他の処理をキャンセルすることはなくなりました。この注意事項が当てはまるのはエージェントオーケストレーションのレベルであり、ツールのバッチではありません。
claude agentsの行には、ファンアウトされた作業のdone/totalが表示されるようになりました。 - 注(CC 2.1.157):
claude agentsは、ディスパッチされたセッションでsettings.jsonのagentフィールドを使用します。--agent <name>を指定すると上書きされます。ディスパッチ時には、エージェントの種類を明示的に固定してください。
- 注(CC 2.1.161):並列のツール呼び出しは個別に失敗するようになりました。失敗した Bash が同じバッチ内の他の処理をキャンセルすることはなくなりました。この注意事項が当てはまるのはエージェントオーケストレーションのレベルであり、ツールのバッチではありません。
- 結果の統合ステップがない(エージェントの生の出力は役に立たない)
- 1つのプロジェクトで複数のフレームワークを混在させる(複雑さが急増)
- シンプルな逐次作業に Agent Teams を使う(Agent tool を使用)
- シナリオを並列ではなく逐次実行する(目的に反する)
関連スキル
ork:langgraph- LangGraph のワークフローパターン(スーパーバイザー、ルーティング、状態)function-calling- ツールの定義と実行ork:task-dependency-patterns- Agent Teams ワークフローによるタスク管理
機能の詳細
react-loop
キーワード: react、reason、act、observe、loop、agent 解決できること:
- ReAct パターンを実装する
- 推論ループを作成する
- 反復型エージェントを構築する
plan-execute
キーワード: plan、execute、replan、multi-step、autonomous 解決できること:
- 計画を作成してから各ステップを実行する
- 失敗時の再計画を実装する
- 目標指向型エージェントを構築する
supervisor-coordination
キーワード: supervisor, route, coordinate, fan-out, fan-in, parallel 解決する課題:
- タスクを専門エージェントにルーティングする
- エージェントを並列で実行する
- 複数エージェントの結果を集約する
agent-debate
キーワード: debate, conflict, resolution, arbitration, consensus 解決する課題:
- エージェント間の意見の相違を解決する
- LLM による調停を実装する
- 出力の競合に対処する
result-synthesis
キーワード: synthesize, combine, aggregate, merge, summary 解決する課題:
- 複数のエージェントからの出力を統合する
- エグゼクティブサマリーを作成する
- 調査結果全体の信頼度を評価する
crewai-patterns
キーワード: crewai, crew, hierarchical, delegation, role-based, flows 解決する課題:
- 役割ベースのエージェントチームを構築する
- 階層型の連携を実装する
- イベント駆動型のオーケストレーションに Flows を使用する
autogen-patterns
キーワード: autogen, microsoft, agent framework, teams, enterprise, a2a 解決する課題:
- エンタープライズ向けエージェントシステムを構築する
- AutoGen/SK の統合フレームワークを使用する
- A2A プロトコルを実装する
framework-selection
キーワード: choose, compare, framework, decision, which, crewai, autogen, openai 解決する課題:
- 適切なフレームワークを選択する
- フレームワークの機能を比較する
- 要件に適したフレームワークを選ぶ
scenario-orchestrator
キーワード: scenario, parallel, fan-out, difficulty, progressive, demo 解決する課題:
- 複数の難易度レベルでスキルを実行する
- 並列シナリオ実行を実装する
- 複数シナリオにまたがる結果を集約する
scenario-routing
キーワード: route, synchronize, milestone, checkpoint, scaling 解決する課題:
- 難易度レベルに応じてタスクをルーティングする
- マイルストーンで同期する
- 入力を段階的に拡大する