シーケンシャル オーケストレーションを使用する

完了

順次オーケストレーションでは、各エージェントがタスクを順番に処理するパイプラインにエージェントが配置されます。 1 つのエージェントからの出力が、次のエージェントの入力になります。 このパターンは、ドキュメント レビュー、データ変換パイプライン、マルチステージ推論など、各ステップが前のステップに依存するワークフローに最適です。

エージェントが定義されたパイプライン順序でタスクを処理する、順次オーケストレーションを示す図。出力は、1 つのエージェントから次のエージェントにフローします。

シーケンシャル オーケストレーションは、ステップ バイ ステップで実行する必要があるタスクに最適で、各ステップは最後に改善されます。 エージェントが実行される順序は事前に固定され、決定され、エージェントは次に何が起こるかを決定しません。

シーケンシャル オーケストレーションを使用するタイミング

ワークフローに次の機能がある場合は、シーケンシャル オーケストレーション パターンの使用を検討してください。

  • 特定の順序で実行する必要がある複数のステップで構成されるプロセス。各ステップは、その前のステップに依存します。
  • 各ステージで、次のステージが適切に機能するために必要な重要な要素が追加されるデータ ワークフロー。
  • ステージを同時に実行できないため、次々に実行する必要があるタスク。
  • コンテンツの下書き、レビュー、洗練など、段階的な改善が必要な状況。
  • 各エージェントの実行方法を把握し、プロセス全体を停止することなく、任意の手順で遅延または障害を処理できるシステム。

シーケンシャル オーケストレーションを回避するタイミング

次の場合は、このパターンを避けてください。

  • ステージは、品質に影響を与えることなく、独立して並列で実行できます。
  • 1 つのエージェントでタスク全体を効果的に実行できます。
  • 初期段階では、失敗したり、出力が低下したりする可能性があり、エラーに基づいてダウンストリーム処理を停止または修正する方法はありません。
  • エージェントは、作業を順番に受け渡すのではなく、動的に共同作業する必要があります。
  • ワークフローには、中間結果に基づく反復、バックトラッキング、または動的ルーティングが必要です。

順次オーケストレーションを実装する

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

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

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

  3. シーケンシャル ワークフローを構築する
    SequentialBuilder クラスを使用して、エージェントを次々に実行するワークフローを作成します。 participants() メソッドを使用してエージェント インスタンスを参加者として追加し、build()を呼び出してワークフローを作成します。

  4. ワークフローを実行する
    エージェントに作業させたいタスクや入力を渡して、ワークフローのrun_streamメソッドを呼び出します。 ワークフローは、すべてのエージェントを通じてタスクを順番に処理し、各エージェントの出力が次のエージェントの入力になります。

  5. ワークフロー イベントを処理する
    非同期ループを使用してワークフロー イベントを反復処理します。 シーケンシャル処理の結果を含む WorkflowOutputEvent インスタンスを探します。

  6. 最後の会話を抽出する
    ワークフロー出力から最終的な会話を収集します。 結果には、シーケンス内の各エージェントが最終的な結果にどのように貢献したかを示す完全な会話履歴が含まれます。

シーケンシャル オーケストレーションは、各エージェントが前の出力に基づいて構築される明確な順序付けされた手順がタスクに必要な場合に最適です。 このパターンは、段階的な絞り込みを通じて出力品質を向上させ、予測可能なワークフローを保証するのに役立ちます。 Microsoft Agent Framework SDK を慎重に適用すると、コンテンツの作成、データ処理などの複雑なタスクに対して強力なマルチエージェント パイプラインが可能になります。