For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
メインナビゲーション
Theme

オーケストレーションとハンドオフ

会話を専門エージェントに引き継がせるか、マネージャーの補助役として呼び出すかを選びます。

作業を分担し、それぞれを専門エージェントに任せたい場合は、複数のエージェントを使ったワークフローが役立ちます。設計で最初に決めるのは、ワークフローの各分岐で、どのエージェントがユーザーへの最終回答を担当するかです。

オーケストレーションパターンの選び方

パターン 適した場面 動作
ハンドオフ その分岐で専門エージェントに会話を引き継がせたい場合 制御が専門エージェントに移ります
ツールとしてのエージェント呼び出し マネージャーが制御を維持し、特定の作業に限って専門エージェントを呼び出したい場合 引き続きマネージャーが回答を担当します

ハンドオフによる応答の委譲

専門エージェントに裏方として支援してもらうだけでなく、次の応答そのものを任せたい場合は、ハンドオフが最も適しています。

ハンドオフによる委譲
import { Agent, handoff } from "@openai/agents";

const billingAgent = new Agent({ name: "Billing agent" });
const refundAgent = new Agent({ name: "Refund agent" });

const triageAgent = Agent.create({
  name: "Triage agent",
  handoffs: [billingAgent, handoff(refundAgent)],
});

どのエージェントに作業を振り分けるかが明確になるよう、次の点を意識します。

  • 各専門エージェントの担当範囲を絞ります。
  • handoffDescription は短く具体的に記述します。
  • 分岐先で異なる指示、ツール、ポリシーのいずれかが本当に必要な場合に限り、分岐を設けます。

より高度な使い方として、ハンドオフ時に構造化メタデータやフィルタリングした会話履歴を渡すこともできます。実装方法は言語によって異なるため、具体的な API については SDK ドキュメントを参照してください。

マネージャーが専門エージェントをツールとして呼び出すワークフロー

メインエージェントが最終回答を担当し、補助役として専門エージェントを呼び出す場合は、agent.asTool() を使います。

専門エージェントをツールとして呼び出す例
import { Agent } from "@openai/agents";

const summarizer = new Agent({
  name: "Summarizer",
  instructions: "Generate a concise summary of the supplied text.",
});

const mainAgent = new Agent({
  name: "Research assistant",
  tools: [
    summarizer.asTool({
      toolName: "summarize_text",
      toolDescription: "Generate a concise summary of the supplied text.",
    }),
  ],
});

通常、次のような場合はこのパターンが適しています。

  • マネージャーが専門エージェントの結果をまとめて最終回答を作る場合
  • 専門エージェントが要約や分類など、範囲の明確なタスクを担当する場合
  • 回答の担当を移さず、全体のワークフローを一つに保ち、その中で専門エージェントを呼び出したい場合

専門エージェントの追加は役割や要件が変わるときだけ

できる限り、まずはエージェントを一つだけ使います。専門エージェントを追加するのは、機能やポリシーを明確に切り分けられる、プロンプトが明確になる、トレースが読みやすくなるなど、はっきりした改善が見込める場合に限ります。

早い段階で分割すると、プロンプトやトレース、承認が必要な箇所が増えます。それでワークフローが改善するとは限りません。

次のステップ

どのエージェントが回答を担当するかが決まったら、実行時の動作や状態管理など、次に確認したい内容に応じてガイドを参照してください。