Skip to main content
委任は、ある Agent が別の Agent に助けを求める仕組みです。Sub Agent と違い、対象はその場で作られる存在ではありません。自分のワークスペース、記憶、スキル、セッション、スケジューラを持つ常駐の同僚です。自分の環境で回答し、その結果は依頼した Agent に戻ります。ユーザーに直接送られることはありません。
agent_delegate ツールは、有効な Agent が 2 つ以上ある場合にのみ現れます。単一 Agent の構成では表示されません。

Sub Agent か同僚か

自分の作業を並列化するなら Sub Agent。そのタスクが本来別の担当のもの——そのコードベース、そのナレッジベース、その顧客を持つ Agent のもの——であれば委任します。

委任は 1 つの run

委任するたびに run_id が返ります。これは対象のワークスペースに実際に記録された run へのハンドルであり、その親は依頼元の run です。したがって委任の連鎖はどちらの端からもたどれます。 ハンドルがあるからこそ、待つことが任意になります。呼び出し元が待てる時間を超えた作業はバックグラウンドで進み続け、呼び出し元は聞き直すのではなく後から受け取ります。
既定の wait_seconds であれば、すぐ終わるタスクは 1 回の呼び出しでそのまま結果が返り、ハンドルを使う必要はありません。

アクション

ハンドルを読めるのは、それを作成した Agent だけです。

ガード

委任は完全な Agent 同士で行われるため、境界が設けられています。
  • 許可リスト —— 誰が誰に頼めるか。未設定ならすべての Agent 間で可能
  • 循環 —— すでに連鎖に含まれる Agent へは再委任できない
  • 深さ —— 1 つの連鎖で許される委任の段数
  • サイズ —— 1 回のタスク本文の上限
  • 時間予算 —— 予算を超えた委任 run はキャンセルされる
キャンセルされた対象は、自らそのキャンセルを記録します。それでも回答を返した場合、その回答は破棄されず run に添付されます。

設定

上記の "research" のように空配列を指定した Agent は、委任を受けることはできますが、さらに外へ委任することはできません。