分散型パターンとは、エージェントが対等な立場で動作し、それぞれの専門性に基づいてワークフローの実行を互いにハンドオフするマルチエージェントのオーケストレーションパターンである。ハンドオフは一方向の引き渡しであり、それを受け取ったエージェントは、呼び出し元に結果を返すのではなく、実行を引き継いでユーザーと直接やり取りする。これは エージェント構築の実践ガイド が広く適用可能と名指す 2 つのマルチエージェントの類型の一つであり、もう一方は マネージャーパターン である。

用法

エージェントをノードとするグラフとしてモデル化すると、分散型パターンのエッジは実行を引き渡すハンドオフであり、これに対してマネージャーパターンのエッジは結果が戻ってくるツール呼び出しである。OpenAI Agents SDK では、ハンドオフ自体がツールあるいは関数の一種である。エージェントがそれを呼び出すと、ハンドオフ先のエージェントで直ちに実行が始まり、最新の会話の状態も併せて引き渡される(OpenAI Agents SDK を参照)。

同ガイドの具体例は、販売とサポートの両方を扱うカスタマーサービスのワークフローである。トリアージエージェントが最初の窓口として問い合わせを評価し、適切な専門エージェントへ振り分ける。その handoffs 配列には、テクニカルサポート、販売アシスタント、注文管理の各エージェントが並べられている。最近の購入に関する質問があると、トリアージエージェントは注文管理エージェントにハンドオフし、制御をそちらへ引き渡す。同ガイドは、受け取る側のエージェントに、元のエージェントへ戻すハンドオフを任意で持たせることもできると述べている。

適用される場面

同ガイドはこのパターンを、単一のエージェントが中央で制御を保ったり結果を統合したりする必要がない場合 — 各エージェントが実行を引き継いで自らユーザーに対応することが許容され、かつ望ましい場合 — に最適なものとして提示している。典型例として会話のトリアージを挙げ、より一般的には、元のエージェントが関与し続ける必要なく、専門のエージェントが特定のタスクを完全に引き継ぐべきあらゆる場面を挙げている。

ハンドオフはタスクを切り出して戻すのではなく、やり取りそのものを移すため、このパターンは引き渡しをまたいで会話の状態を持ち越せるランタイムを前提とする。同ガイドの全般的な優先順位はこのパターンより先に適用される。すなわち、まず単一のエージェントの能力を最大限に引き出し、プロンプトに条件分岐が多くなったときや、ツールの重複が選択を混乱させるほどになったときに、複数のエージェントを導入する。

このパターンは、独立に確立された分類ではなく、一ベンダーが自社の顧客経験をもとに示した特徴づけである。同ガイドはこの 2 つの類型を、顧客との取り組みから浮かび上がったものとして説明しており、そのコード例も全編を通じてそのベンダー自身の SDK を前提としている。

関連用語