Handoffs

多 agent 系统里把当前会话控制权从一个 agent 交给另一个 specialist 的接力模式。

#tech / ai #resource / handoffs #type / concept #status / growing

[!info] related notes

Handoffs

一句话定义

Handoff 是多 agent 系统里的接力机制:一个 agent 判断当前任务更适合由另一个 specialist 处理时,把 active agent 直接切换过去。

它的核心特征

  • 不是让 specialist 在幕后处理子任务
  • 而是把当前会话的控制权交出去
  • 被切过去的 specialist 会成为这一段流程里的 active agent

所以 handoff 的重点不是“调用别人帮忙”,而是“把接力棒交出去”。

什么时候适合用

适合这些情况:

  • routing 本身就是流程的一部分
  • 你希望 specialist 直接面向用户说话
  • 不同 specialist 代表不同角色或职能边界

一个典型例子是:

用户 -> triage agent
     -> handoff 给 refund agent
     -> refund agent 继续处理剩余会话

它和 Manager 模式的区别

Handoffs

  • 会切换 active agent
  • specialist 直接接管当前阶段的对话
  • 更像“前台换人”

Manager (agents as tools)

  • manager 一直保持总控
  • specialist 更像幕后专家
  • 更像“前台不变,后台请专家支援”

它和普通工具调用的区别

Handoff 在运行时看起来也像一种动作,但它不是普通 function tool。

区别在于:

  • 普通工具调用执行完,会话控制权通常还在当前 agent 手里
  • handoff 执行后,系统会切换 active agent

所以不要把 handoff 简单理解成“调用一个特殊工具”。

它在工程上带来的设计问题

一旦使用 handoff,就要额外考虑:

  • 上下文是否完整传给下一个 agent
  • 哪些历史要裁剪
  • guardrails 只挂在入口,还是在 handoff 节点再检查
  • trace 里怎么标识 active agent 的切换

也就是说,handoff 本质上属于 orchestration 设计,而不是单独一条 prompt 技巧。

最短记忆方式

Handoff 就是把当前会话的接力棒交给另一个 specialist,让它成为新的 active agent。

参考

创建于 2026/4/16 更新于 2026/5/27