エージェントHandoff

あるエージェントがタスクを完了または特定の条件を満たした際に、次のエージェントへ制御と文脈を渡すパターン。エージェントオーケストレーションの一形態。

動機

複雑なワークフローを一つのエージェントで処理しようとすると:

Handoffパターンは、各ステップを専門エージェントに委ねながら、全体の流れを制御する。

GitHub Copilotでの実装

Copilotではhandoffsフィールドで宣言的に定義する:

---
name: planner
description: 実装計画を立てる
handoffs:
  - label: "実装を開始"
    agent: implementer
    prompt: "上記の計画に基づいて実装してください"
    send: false
---

ユーザーは「実装を開始」というラベルのボタンを押すことで、次のエージェントへ制御が移る。

Handoffの方向性

線形チェーン

Planner → Implementer → Reviewer

各エージェントが前のエージェントの成果物を受け取り、次のステップを実行する。

条件分岐

Analyzer ─→ 問題なし → Deployer
           └→ 問題あり → Fixer → Reviewer

分析結果に応じて異なるエージェントへHandoffする。

Claude Codeとの対比

Claude Codeでは明示的なHandoff機能はなく、代わりに:

Copilotのhandoffs宣言的であるのに対し、Claude CodeはHooksやプロンプトで命令的に制御する。

ユーザー関与の選択

Handoffには以下の選択肢がある:

承認型を選ぶことで、プランニングフェーズと実行フェーズの間にヒューマンインザループを確保できる。

関連