Handoff is the multi-agent equivalent of function calls. Agent A finishes its part, packages what Agent B needs, transfers control. The hard part is the "packages what B needs" step: naive handoff dumps all prior context and runs up the cost; over-pruned handoff drops information B actually needs.
Good handoff protocols define a handoff schema: each agent, when transferring, must emit a structured summary of relevant state. No raw transcript dump, no free-form dump. The receiving agent starts fresh from the schema.
Example Prompt
After triage, hand off to the appropriate specialist.
Handoff schema (required fields):
- `issue_category`: billing | technical | account
- `customer_context`: up to 3 bullet points
- `prior_actions`: what has already been tried
- `handoff_reason`: why the current agent is transferring
Specialists: billing_agent, tech_support_agent, account_agentWhen to use it
- Multi-stage workflows where different stages want different agent competencies
- Escalation pipelines (L1 -> L2 -> human)
- You can define a clean state schema between stages
When NOT to use it
- Single agent handles the whole workflow fine
- You can't define a clean state schema -- the information transfer becomes the bug farm
- Handoff adds latency users will notice
