エージェントオーケストレーションについて
Microsoft Agent Framework SDK のエージェント オーケストレーション フレームワークを使用すると、エージェントの調整の詳細を手動で処理することなく、複雑なマルチエージェント ワークフローを設計、管理、スケーリングできます。 1 つのエージェントに依存してタスクのすべての側面を管理する代わりに、複数の特殊なエージェントを組み合わせることができます。 独自の役割または専門知識を持つ各エージェントは、共同作業を行って、より堅牢で適応性があり、実際の問題を共同で解決できるシステムを作成できます。
エージェントを一緒に調整することで、並列分析の実行からマルチステージ処理パイプラインの構築、エキスパート間の動的なコンテキスト駆動ハンドオフの管理まで、1 つのエージェントにとって複雑すぎるタスクを実行できます。
マルチエージェント オーケストレーションが重要な理由
多くの場合、単一エージェント システムはスコープ内で制限され、1 セットの命令または単一のモデル プロンプトによって制約されます。 マルチエージェント オーケストレーションでは、次の操作を可能にすることで、この制限に対処します。
- 各エージェントに個別のスキル、責任、またはパースペクティブを割り当てます。
- 複数のエージェントからの出力を結合して、意思決定と精度を向上させます。
- 各エージェントの作業が前の作業を基に進められるように、ワークフローのステップを調整します。
- コンテキストまたはルールに基づいてエージェント間で制御を動的にルーティングします。
このアプローチにより、特にコラボレーション、特殊化、冗長性を必要とする実際のアプリケーションに対して、より柔軟で効率的でスケーラブルなソリューションへの扉が開かれます。
Microsoft Agent Framework のワークフローを理解する
Microsoft Agent Framework には 、 ワークフロー (タスクの完了に使用されるステップの構造化されたシーケンス) が用意されています。 これらのワークフローには、複雑な操作を自動化するために、1 つ以上の AI エージェント を他のコンポーネントと共に含めることができます。
ワークフローを使用すると、開発者はタスクの実行方法を制御し、 マルチエージェント オーケストレーションを有効にし、ワークフローの状態を保存および再開するための チェックポイント処理を サポートできます。
ワークフローのコア コンポーネント
実行者
Executor は、ワークフローの主要なワーカーです。 入力メッセージを受信し、特定のアクションを実行し、ワークフローを目標の達成に向けて移動する出力を生成します。
Executor は、 AI エージェント または カスタム ロジック コンポーネントを表すことができます。
例: 1 人のエグゼキューターは旅行要求を分析し、別の実行者は結果に基づいてフライトまたはホテルを予約できます。
エッジ
エッジは、Executor 間のメッセージフローを定義し、ロジックと実行順序を決定します。 Microsoft Agent Framework では、いくつかの種類のエッジがサポートされています。
直接エッジ: 1 つの Executor を別の Executor に順番に直接接続します。
例: AI エージェントがユーザー入力を収集した後、次の Executor が予約を処理します。*条件付きエッジ: 特定の条件が満たされた場合にのみトリガーされます。
例: ホテルの部屋が利用できない場合、ワークフローは、別の日付または場所を提案する Executor に分岐します。*Switch-Case エッジ: 定義済みの条件に基づいて、異なる Executor にメッセージをルーティングします。
例: VIP のお客様は Premium サービス Executor にルーティングされる場合があります。他のユーザーは標準プロセスに従います。*Fan-Out エッジ: 1 つのメッセージを複数の Executor に同時に送信します。
例: 1 つの要求を複数のエージェントに送信できます。1 つはフライトをチェックし、もう 1 つはホテルをチェックしています。*Fan-In エッジ: 最後の手順では、異なる Executor の複数のメッセージを 1 つに結合します。
例: ホテルとフライトの結果を収集した後、サマリー エグゼキューターはそれらを 1 つの旅行スケジュールにコンパイルします。*
イベント
Microsoft Agent Framework には、ワークフロー実行中の監視とデバッグを向上させるための組み込みのイベントが含まれています。 これらのイベントは、開発者が進行状況を監視し、エラーを追跡し、システムパフォーマンスを分析するのに役立ちます。
| イベント名 | 説明 |
|---|---|
| WorkflowStartedEvent | ワークフローの実行が開始されたときにトリガーされます。 |
| WorkflowOutputEvent | ワークフローが出力を生成するときに生成されます。 |
| WorkflowErrorEvent | エラーが発生したときに発生します。 |
| ExecutorInvokeEvent | Executor がタスクの処理を開始したときに発生します。 |
| ExecutorCompleteEvent | Executor が作業を完了したときに発生します。 |
| RequestInfoEvent | 外部要求が発行されたときにログに記録されます。 |
Microsoft Agent Framework のワークフローを使用すると、開発者は、複数の AI エージェントとロジック コンポーネントが対話して複雑なタスクを完了する方法を 設計、監視、制御 できます。 エージェント駆動型アプリケーションに構造、柔軟性、透明性をもたらします。
サポートされているオーケストレーション パターン
Microsoft Agent Framework には、SDK に直接複数のオーケストレーション パターンが用意されています。それぞれに、エージェントを調整するための異なるアプローチが用意されています。 これらのパターンは、独自のドメインに適応させ、既存のシステムに統合できるように、テクノロジに依存しないように設計されています。
- 同時オーケストレーション - 同じタスクを一度に複数のエージェントにブロードキャストし、結果を個別に収集します。 並列分析、独立したサブタスク、またはアンサンブルの意思決定に役立ちます。
- シーケンシャル オーケストレーション - 1 つのエージェントから次のエージェントへの出力を固定順序で渡します。 ステップ バイ ステップのワークフロー、パイプライン、プログレッシブ絞り込みに最適です。
- ハンドオフ オーケストレーション - コンテキストまたはルールに基づいてエージェント間で制御を動的に転送します。 1 つのエージェントが一度に動作するエスカレーション、フォールバック、エキスパート ルーティングに最適です。
- グループ チャット オーケストレーション - 次に話すユーザーを選択するチャット マネージャーによって管理される複数のエージェント (および必要に応じて人間) 間の共有会話を調整します。 ブレーンストーミング、共同作業による問題解決、コンセンサスの構築に最適です。
- マゼンティック オーケストレーション - 特別なエージェント間で計画、委任、適応を行うマネージャー主導のアプローチ。 ソリューション パスが進化する複雑なオープンエンドの問題に適しています。
統合オーケストレーション ワークフロー
選択したオーケストレーション パターンに関係なく、Microsoft Agent Framework SDK には、それらをビルドして実行するための開発者向けの一貫性のあるインターフェイスが用意されています。 一般的なフローは次のようになります。
- エージェントを定義 し、その機能を記述します。
- オーケストレーション パターンを選択して作成します。必要に応じて、マネージャーエージェントを追加します。
- 必要に応じて、 カスタム入力および出力処理用のコールバックまたは変換を構成します。
- ランタイムを開始 して実行を管理します。
- タスクでオーケストレーションを呼び出します。
- 非同期 の非ブロッキングの方法で結果を取得します。
すべてのパターンが同じコア インターフェイスを共有するため、エージェント ロジックを書き換えたり、新しい API を学習したりすることなく、さまざまなオーケストレーション戦略を簡単に試すことができます。 SDK では、エージェントの通信、調整、結果の集計の複雑さが抽象化されるため、結果を提供するワークフローの設計に集中できます。
Microsoft Agent Framework SDK のマルチエージェント オーケストレーションは、複数の特殊なエージェントの長所を組み合わせたインテリジェント なシステムを構築するための柔軟でスケーラブルな方法を提供します。 組み込みのオーケストレーション パターン、統合された開発モデル、実行を管理するためのランタイム機能を使用すると、コラボレーション AI ワークフローのプロトタイプ作成、調整、デプロイをすばやく行うことができます。 このフレームワークには、並列プロセス、シーケンシャル ワークフロー、動的な会話のいずれを実行しているかに関係なく、複数のエージェントをまとまりのある問題解決チームに変えるツールが用意されています。