オーケストレーション
早期アクセスオーケストレーターは、複数のサブエージェントを調整して、複雑な複数ステップのワークフローを管理します。
サブエージェントの追加 によってエージェントをオーケストレーターとして構成すると、エージェントはタスクを計画し、サブエージェントに作業を委任し、その出力を統合する調整レイヤーになります。オーケストレーターはツールを直接実行しません。代わりに、戦略、タスクのルーティング、結果の組み合わせに焦点を当てます。
アーキテクチャ
オーケストレーターは、複数のエージェントを調整する監視レイヤーとして機能します。ツールを直接呼び出すことはありません。
代わりに、次の操作を実行してワークフローを管理します。
- エンドユーザーの目標を解釈します。
- どのエージェントが必要かを特定する。
- これらのエージェントにタスクを委任する。
- 収集し、その結果を統合します。
利点
- モジュラーアーキテクチャ:エージェントは特殊であり、独立して保守できます。
- スケーラブルな実行: タスクを並行して実行できます。
- 堅牢性: 障害は再試行/フォールバック メカニズムで分離されます。
- 明確な責任分担: オーケストレーターが計画を管理し、エージェントが実行を管理します。
- 拡張性: 新しいエージェントやツールを簡単に追加できます。
オーケストレーター プロンプトの例
Workflow Example: Quarterly Sales Report
1. Understand end user intent.
- Identify that the request involves data extraction, analysis, visualization, and summary generation.
2. Break down into subtasks:
- Data Extraction → retrieve and prepare sales data
- Analysis → compute key metrics (totals, growth rates, etc.)
- Visualization → generate charts and graphs
- Summary Generation → write a textual executive summary
3. Delegate each subtask:
- Assign to the most suitable AI agent based on its capabilities
- Provide each agent with clear, structured instructions and required inputs
4. Monitor and validate responses:
- Check if each agent output meets the required format and quality
- Retry or reassign if an agent fails or produces incomplete output
5. Integrate results:
- Combine data, charts, and summary text into a unified final report
6. Deliver the final output to the end user in a clear and formatted structure
Behavioral Guidelines:
- Always focus on planning and coordination, not execution
- Use consistent task naming and clear communication between agents
- Ensure all outputs are validated before integration
- Manage partial failures gracefully: retry or reroute when needed
- Maintain transparency in the workflow (log which agent performed which subtask)
Example End User Request:
"Generate a Q2 sales performance report with visualizations and an executive summary."
Expected Orchestrator Behavior:
- Break down → Delegate → Monitor → Integrate → Deliverオーケストレーションを使用するタイミングについては、エージェントの計画を参照してください。
サブエージェントがツールとして使用できるコンポーネントを構築するには、コンポーネント設計を参照してください。
サブエージェントのバージョン管理
オーケストレーター エージェントがサブエージェントを参照する場合、各サブエージェントには独自の独立したバージョン ライフサイクルがあります。オーケストレーターを公開すると、各サブエージェントの正確なバージョンを固定する不変のスナップショットが作成されます。
仕組み
- ドラフトオーケストレーターは、サブエージェントの任意のバージョン(ドラフトまたはリリース済み)を参照できます。
- オーケストレーターのリリース バージョンを作成すると、次のようになります。
- まだドラフト状態のサブエージェントは、新しいリリース バージョンに自動的に公開され、オーケストレーターのリリースに固定されます。
- すでにリリースされているサブエージェントは、そのまま固定されます。不要なバージョンのバンプは発生しません。
- サブエージェントがまだドラフトである場合は、続行する前に、そのサブエージェントをリストする確認ダイアログが表示されます。
- リリースされたオーケストレーターは、サブエージェントに対する今後の変更の影響を受けません。ピン留めされたバージョンはフリーズされたままです。
ランタイム バージョンの解決
オーケストレーターが実行時にサブエージェントを呼び出すと、現在アクティブなサブエージェントのバージョンではなく、マニフェストの固定されたバージョンが使用されます。
サブエージェントのアクティブバージョンは、そのサブエージェントへの直接トラフィックを処理するバージョンを制御します(たとえば、ユーザーがサブエージェントスタンドアロンと対話する場合)。親エージェントが依存関係を解決する方法には影響しません。
例: オーケストレーター (V1) は、払い戻しハンドラー V2 をピン留めします。払い戻しハンドラー V3 がアクティブな場合でも、オーケストレーターは引き続き V2 を使用します。V3 を使用するには、オーケストレーターのドラフトを V3 を参照するように更新し、新しいリリース バージョンを作成します。
ロールバック
オーケストレーターのリリースされた各バージョンは、固定されたサブエージェント バージョンの不変のスナップショットであるため、オーケストレーターを以前のバージョンにロールバックして、以前のサブエージェント構成を即座に復元できます。詳細は、バージョン履歴をご参照ください。