同時実行オーケストレーションを使用する

完了

同時オーケストレーション を使用すると、複数のエージェントが同じタスクで同時に作業できます。 各エージェントはタスクを個別に処理し、その出力が収集されて結合されます。 この方法は、ブレーンストーミング、グループの意思決定、投票中など、さまざまなアプローチやソリューションが必要な場合に特に適切に機能します。

同時実行オーケストレーション フローの図。

このパターンは、同じ問題を解決するためにさまざまなアプローチやアイデアが必要な場合に便利です。 エージェントを 1 つずつ作業するのではなく、すべて同時に動作します。 これにより、プロセスが高速化され、多くの角度から問題がカバーされます。

通常、各エージェントの結果を組み合わせて最終的な回答を作成しますが、これは必ずしも必要とは限りません。 各エージェントは、タスクを完了するためのツールの呼び出しや、異なるデータ ストアの個別の更新など、独自の結果を生成することもできます。

エージェントは単独で作業し、互いに結果を共有しません。 ただし、エージェントは、プロセスの一部として独自のオーケストレーションを実行することで、他の AI エージェントを呼び出すことができます。 エージェントは、タスクで使用できる他のエージェントを把握する必要があります。 このパターンでは、登録されているすべてのエージェントを毎回呼び出すか、特定のタスクに基づいて実行するエージェントを選択できます。

同時実行オーケストレーションを使用する場合

次のような状況では、同時オーケストレーション パターンの使用を検討することをお勧めします。

  • 固定のエージェント グループを使用するか、タスクに必要な内容に基づいて AI エージェントを動的に選択することで、タスクを同時に実行できる場合。
  • タスクが、それぞれ独立して機能するが、同じ問題の解決に貢献するさまざまな特殊なスキルやアプローチ (技術、ビジネス、クリエイティブなど) の恩恵を受ける場合。

この種のチームワークは、次のようなマルチエージェントの意思決定方法で一般的です。

  • ブレーンストーミングのアイデア
  • 異なる推論方法の組み合わせ (アンサンブル推論)
  • 投票またはコンセンサス (クォーラム) に基づいて意思決定を行う
  • 速度が重要なタスクを処理し、エージェントを並列で実行すると待機時間が短縮されます

同時オーケストレーションを回避する状況

次のシナリオでは、同時実行オーケストレーション パターンの使用を避けたい場合があります。

  • エージェントは、互いの作業に基づいて構築するか、特定の順序で共有コンテキストに依存する必要があります。
  • このタスクには、厳密な一連の手順または予測可能で反復可能な結果が必要です。
  • モデルの使用クォータなどのリソース制限により、エージェントの並列実行が非効率的または不可能になります。
  • エージェントは、同時に実行中に共有データまたは外部システムへの変更を確実に調整することはできません。
  • 異なるエージェントからの結果間の競合や矛盾を解決する明確な方法はありません。
  • 結果の組み合わせが複雑すぎるか、全体的な品質が低下します。

同時実行オーケストレーションを実装する

Microsoft Agent Framework を使用して同時オーケストレーション パターンを実装します。

  1. チャット クライアントを作成する
    AI サービス プロバイダーに接続するための適切な資格情報を使用してチャット クライアント ( AzureOpenAIChatClient など) を設定します。

  2. エージェントを定義する
    チャット クライアントの create_agent メソッドを使用してエージェント インスタンスを作成します。 各エージェントには、特定の指示と、その役割と専門知識領域を定義する名前が必要です。

  3. 同時実行ワークフローを構築する
    ConcurrentBuilder クラスを使用して、複数のエージェントを並列で実行できるワークフローを作成します。 participants() メソッドを使用してエージェント インスタンスを参加者として追加し、build()を呼び出してワークフローを作成します。

  4. ワークフローを実行する
    エージェントに作業させたいタスクや入力を渡して、ワークフローのrunメソッドを呼び出します。 ワークフローは、すべてのエージェントを同時に実行し、結果を含むイベントを返します。

  5. 結果を処理する
    get_outputs()を使用してワークフロー イベントから出力を抽出します。 結果には、すべてのエージェントからの会話が結合され、各エージェントの応答が最終的な出力に含まれます。

  6. 集計された応答を処理する
    すべてのエージェントから集計されたメッセージを処理します。 各メッセージには作成者名とコンテンツが含まれており、各応答を提供したエージェントを識別できます。

同時オーケストレーションは、複数の AI エージェントを同時に使用するための強力なパターンであり、より迅速かつ多様な問題解決を可能にします。 エージェントを並行して実行することで、さまざまなアプローチを一度に調べ、効率を向上させ、より豊富な分析情報を得ることができます。 ただし、タスクを本当に独立して実行できる場合は、このパターンを選択し、リソースの制約と調整の課題に注意することが重要です。 Microsoft Agent Framework SDK を慎重に実装すると、同時オーケストレーションによって AI ワークフローと意思決定プロセスを大幅に強化できます。