

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Saga オーケストレーションパターン
<a name="saga-orchestration-patterns"></a>

LLMs によって駆動されるワークフローがますます複雑になり、プロンプトチェーン、データ処理ステップ、ツール呼び出し、エージェントのコラボレーションにまたがるにつれて、インテリジェントなオーケストレーションの必要性が不可欠です。これらのワークフローは、緊密に結合されたスクリプトや静的な事前定義された実行フローに依存するのではなく、イベント駆動型のオーケストレーションパターンとして実装できるため、LLM ベースのシステムは自律型エージェント間でマルチステップタスクを動的に調整、モニタリング、適応できます。

次の図は、オーケストレーターの例です。

![\[Orhestrator。\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/agentic-ai-patterns/images/workflow-patterns-orchestrator.png)


## イベントオーケストレーション
<a name="event-orchestration"></a>

従来の分散システムでは、イベントオーケストレーションとは、複数のサービスまたはタスクにまたがる制御フローを明示的に指示することで、中央コーディネーターが複雑なワークフローを管理するパターンを指します。イベントコレオグラフィ (各サービスが独立して反応する) とは異なり、オーケストレーションはプロセス全体の一元化されたロジック、可視性、制御を提供します。

これは通常、次のツールを使用して実装されます。
+ **AWS Step Functions** – ステートフルワークフローを定義して実行する
+ **AWS Lambda** – オーケストレーションされたフロー内で個別のタスクを実行する
+ **Amazon SQS** または **Amazon EventBridge** – 非同期ステップまたはレスポンスをトリガーします

次の図は、Saga オーケストレーションの例です。

![\[Saga オーケストレーション。\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/agentic-ai-patterns/images/workflow-patterns-saga-orchestration.png)


 AWS Step Functions ワークフローは、顧客注文プロセスを管理します。

1. 注文を作成する (AWS Lambda)

1. インベントリの更新 (AWS Lambda)

1. 支払いを行う (AWS Lambda)

オーケストレーターは、再試行、並列ブランチ、タイムアウト、失敗を管理することで、各ステップを調整します。

## ロールベースのエージェントシステム (オーケストレーター)
<a name="role-based-agent-system-orchestrator"></a>

エージェントシステムでは、オーケストレーターパターンはイベントオーケストレーションをミラーリングしますが、それぞれが定義されたロールまたは専門分野を持つ複数の推論エージェントにロジックを分散します。中央オーケストレーターエージェントは、タスク全体を解釈し、サブタスクに分解してワーカーエージェントに委任します。ワーカーエージェントはそれぞれ、特定のドメイン (研究、コーディング、要約、レビューなど) 用に最適化されています。

## スーパーバイザー
<a name="supervisor"></a>

1. ユーザーは「プロジェクト概要を作成し、上位 5 つの競合を要約する」というクエリを送信します。

1. オーケストレーターエージェントは以下を実行します。
   + 競合データを見つけるために調査エージェントを割り当てます
   + 未加工の検出結果を要約エージェントに送信します
   + ショートライターエージェントに結果を渡す
   + ユーザーの最終出力をコンパイルします

各エージェントは独立して動作しますが、オーケストレーターはタスクを調整します。これは、ワークフロータスクを処理する Lambda 関数のようなものです。

次の図は、スーパーバイザーの例です。

![\[スーパーバイザー。\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/agentic-ai-patterns/images/workflow-patterns-supervisor.png)


1. ユーザーは Amazon Bedrock スーパーバイザーエージェントにタスクを送信します。

1. スーパーバイザーエージェントは、エージェントコラボレーターごとにリクエストをサブタスクに解析します。

1. 各サブタスクは、ロール固有のプロンプトまたはツールチェーンを持つ共同作業者エージェントに割り当てられます。

1. ワーカーエージェントAPIs またはツールを呼び出します。

1. 各ワーカーエージェントは、構造化形式で出力を返します。

1. すべてのワーカーが結果を返すと、スーパーバイザーは評価、合成、最終レスポンスを返します。

この構造により、複雑なマルチステップエージェントワークフロー全体でモジュール性、適応性、イントロスペクションが可能になります。

## 重要な点
<a name="takeaways-role-based"></a>

イベントオーケストレーションが集中制御 (例: AWS Step Functions) を使用してサービス実行を指示する場合、ロールベースのエージェントシステムは LLM 搭載のオーケストレーターエージェントを使用して、目標の根拠を示し、サブタスクをワーカーエージェントに委任し、最終出力を合成します。

どちらのパラダイムでも、オーケストレーターは以下を実行します。
+ コンテキストと実行フローを維持します
+ 分岐、シーケンス、エラー処理を処理します
+ 分散コンポーネントから統一された結果を生成します

ただし、エージェントオーケストレーションは推論、適応性、セマンティック委任を追加します。これにより、オープンエンド、あいまい、進化するタスクに適しています。