Delegation and Handoff
By the end of this module
- Tell delegation from handoff by what happens to control
- Say what a sub-agent is for, and what it costs
- Judge when splitting an agent helps and when it only adds latency
Definition
One agent with twelve tools becomes hard to steer. The usual response is to split it, and there are two ways to do that which look the same in a transcript and behave completely differently.
In a delegation, work goes down and is expected back. In a handoff, a peer takes over and does not return. Everything else in this module follows from that one difference.
Where Control Ends Up
The same merchant question, routed two ways. Switch between them and read the last row and the facts underneath.
Work goes down and is expected back. The specialist runs as a sub-agent, returns a result, and Triage carries on holding the conversation.
The row that matters is the fourth. Under delegation the turn comes back and Triage answers. Under handoff Triage is finished the moment it hands over, and nothing returns to it.
Notice what that does to the exits from the previous module. A delegating run produces one exit, assigned by the agent that kept control. A handoff produces an agent-transfer exit for the first agent and a separate exit for the second, so a system built on handoffs has more runs than conversations, and a completion rate measured per run will quietly disagree with what the merchant experienced.
Sub-Agents and Peers
A sub-agent is an agent that runs under another. It has the same properties as any agent, its own instructions, model and tools, and a different standing: something above it is waiting for its result and can do something about a bad one.
| Sub-agent, delegated to | Peer, handed off to | |
|---|---|---|
| Control | Returns to the caller when it finishes. | Does not return. The peer owns the conversation. |
| Context | Gets the brief it was given, which is usually a slice. | Gets the conversation, plus whatever state is passed over. |
| Who answers | The caller, after reading the result. | The peer, directly, in its own voice. |
| Exits | One exit for the run, assigned by the caller. | An agent transfer, then a separate exit for the peer run. |
| On failure | The caller sees it and can retry, recover or escalate. | The caller has finished. Nothing is watching unless something else is. |
| Cost | At least one extra model call on the critical path. | A new run, often re-reading context the first agent already paid for. |
The context column is the one people underestimate. A sub-agent that is given only a brief cannot be derailed by the rest of the conversation, which is usually the point of using one. It also cannot notice something relevant that was said twenty turns ago, which is usually the first complaint about it.
When Splitting Helps
Splitting is not free. Every delegation is at least one extra model call on the critical path, and every handoff is a place where context can be dropped.
| Reason given | Does it hold |
|---|---|
| The prompt is too long and the agent ignores half of it | Holds. Splitting by job gives each agent a prompt short enough to be followed, which is the most common sound reason. |
| Different steps need different tools | Holds. A smaller tool registry improves selection, as in the tools module. Fewer tools per agent is a real gain. |
| Different steps need different models or different permissions | Holds, and the permissions case is the strongest of all. A boundary that is also a trust boundary is worth the latency. |
| It mirrors how our teams are organised | Usually does not hold. It produces handoffs that exist to match a reporting line, and the merchant pays for them in latency. |
| One agent per step is cleaner | Does not hold on its own. Steps inside one agent are free; agents are a model call each. Split on prompts, tools or trust, not on tidiness. |
A team reports 97% completion. Their triage agent hands off to four specialists. What should you check first?
Discussion
If your team has split an agent, or is about to, say out loud which of the reasons in the table above is the real one. Then ask what the second agent is not allowed to see, and whether anyone decided that or it just happened.
