C.W.K.
Stream
Lesson 03 of 05 · published

Handoffs vs Agents as Tools

~28 min · handoffs, delegation

Level 0Observer
0 XP0/40 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete

Delegation has shapes

There are two common ways to use another agent. A handoff transfers conversational control to a specialist. An agent-as-tool keeps the manager in control and calls the specialist for a bounded subtask.

The difference matters for UX, logging, guardrails, and context ownership. A handoff changes who owns the next response. An agent-as-tool returns a result to the manager, which still owns synthesis and user-facing tone.

When to hand off

Use handoffs when the specialist should take over the conversation: support routing, billing versus refunds, domain-specific intake, or any branch where the user should now be talking to the specialist.

Use agent-as-tool when the manager should synthesize outputs: research workers, code reviewers, translators, evaluators. The specialist returns a bounded answer; it does not own the whole session.

The route must be inspectable

Every handoff should leave a route reason, the source agent, the destination agent, and enough compact context for the specialist to continue without rereading the whole conversation. Otherwise multi-agent becomes theater with extra latency.

Code

Handoff owns the next response·python
from agents import Agent, handoff

billing_agent = Agent(
    name="Billing agent",
    instructions="Handle invoice, subscription, and payment questions.",
)
refund_agent = Agent(
    name="Refund agent",
    instructions="Handle refund eligibility and refund status questions.",
)

triage_agent = Agent(
    name="Support triage",
    instructions="Route the user to the specialist that should own the next reply.",
    handoffs=[billing_agent, handoff(refund_agent)],
)
Agent-as-tool stays bounded·python
def manager(task):
    risk = refund_risk_agent.run({"case": task, "max_findings": 3})
    draft = support_writer_agent.run({"case": task, "risk_summary": risk})
    return final_review(task, draft, risk)

External links

Exercise

For a customer support agent, identify one case for handoff and one case for agent-as-tool. Include the route reason and what context should be passed.
Hint
Refund specialist takeover is different from a risk-scoring helper.

Progress

Progress is local-only — sign in to sync across devices.
Spotted a bug or have feedback on this page?Report an Issue

Comments 0

🔔 Reply notifications (sign in)
Sign inPlease sign in to comment.

No comments yet — be the first.