Handoff、Agents as Tools 与 A2A
学到多 Agent 之后,这三个概念很容易混在一起:
- 任务到底是该
handoff - 还是把下游 Agent 当成
tool - 还是应该走
A2A
这三个词都和“把工作交给别的执行单元”有关,但它们解决的问题并不一样。
这里集中处理一个问题:
把 handoff、agents as tools 和 A2A 放在同一张设计坐标里,看清它们分别适合什么边界。
1. 先看最短区分
可以先用这组定义建立直觉:
handoff:把主导权交给另一个 Agentagents as tools:主 Agent 保持主导,只调用下游 Agent 完成一段工作A2A:和另一个独立 Agent 系统按协议协作
先把这一层分清,后面的设计判断会轻松很多。
2. 它们分别在回答什么问题
2.1 handoff 回答的是“谁来继续主导任务”
常见情况是:
- 先由一个总入口 Agent 接住请求
- 再根据领域、权限或任务类型,把后续流程交给另一个 Agent
交接之后,新的 Agent 成为当前任务的主要执行者。
这类模式常见于:
- 问题分流
- 多领域专家协作
- 不同阶段需要不同主控角色的系统
2.2 agents as tools 回答的是“主 Agent 是否只需要借用下游能力”
这里的关键不是“对面是不是 Agent”,而是:
- 当前系统是否还需要一个明确的主控 Agent
- 下游能力是不是只负责一个局部任务
- 主流程是否仍应保持在同一条运行链里
如果答案是肯定的,下游 Agent 往往更适合作为 tool。
这类模式常见于:
- 主 Agent 统一管理状态
- 下游只处理一个专长任务
- 希望把观察、评估和错误处理收敛在一条链里
2.3 A2A 回答的是“如何与另一个独立 Agent 系统协作”
A2A 的重点不是“交不交主导权”,而是:
- 对方是不是独立系统
- 是否需要远程任务状态
- 是否需要任务产物、异步更新和跨系统协作
当下游已经不是“系统内部一个节点”,而是“另一套 Agent 服务”,A2A 才开始变得重要。
这类模式常见于:
- 跨团队 Agent 协作
- 远程长任务
- 需要明确任务状态、产物和异步交付的场景
3. 一张关系图
这张图里最需要记住的是:
handoff会改变主导者agents as tools不改变主导者A2A讨论的是跨系统协作接口
4. handoff 什么时候更合适
更适合 handoff 的信号有这些:
4.1 任务后半段已经进入另一个领域
例如:
- 总入口先做分流
- 财务问题交给财务 Agent
- 法务问题交给法务 Agent
4.2 后续流程需要新的系统提示和工具集
如果下一个阶段需要:
- 完全 不同的系统提示
- 完全不同的工具权限
- 完全不同的输出责任
让新 Agent 接管,边界会更清楚。
4.3 交接本身需要被显式记录
有些系统需要清楚回答:
- 谁把任务交出去
- 为什么交出去
- 交给了谁
- 从哪一步开始由另一个角色负责
这时 handoff 会比普通 tool 调用更合适。
5. agents as tools 什么时候更合适
5.1 主控链路必须保持统一
如果系统希望:
- 统一记录 trace
- 统一管理 state
- 统一控制预算、超时和重试
那么把下游 Agent 包装成 tool,通常更稳一些。
5.2 下游 Agent 只是局部专长能力
例如:
- SQL 生成 Agent
- 检索摘要 Agent
- 表格格式化 Agent
- 图表建议 Agent
这些能力已经带一点 Agent 性质,但并不需要接管整个任务。
5.3 希望减少协作复杂度
很多系统一开始就把多个角色拆得太开,结果往往是:
- 状态来回传
- 错误不好追
- 测试边界变模糊
如果主控 Agent 仍然足够清楚,agents as tools 往往是更收敛的做法。
6. A2A 什么时候更合适
6.1 下游本来就是独立 Agent 服务
例如:
- 一个 research agent 平台
- 一个采购审批 agent 服务
- 一个企业内统一的合同审阅 agent
这类对象不只是“某个工具”,而是一套独立任务系统。
6.2 任务不是短同步调用
如果下游需要:
- 排队
- 异步执行
- 分阶段返回状态
- 最后交付 artifact
就已经更接近 A2A 的任务模型。
6.3 需要跨组织或跨边界协作
A2A 的价值经常出现在:
- 团队之间
- 服务之间
- 平台之间
这里关注的不只是功能调用,而是协作接口和任务契约。
7. 一个很实用的判断表
| 问题 | 更接近哪种模式 |
|---|---|
| 下一个执行者是否应成为新的主导者 | handoff |
| 主 Agent 是否仍需保留统一主控 | agents as tools |
| 下游是否只是一个局部专长能力 | agents as tools |
| 下游是否是独立远程 Agent 系统 | A2A |
| 是否需要远程任务状态、产物和异步回传 | A2A |
| 是否只是做领域分流和职责转交 | handoff |