A2A 智能体通信协议
A2A 约定智能体之间怎样介绍能力、委派任务和交付结果,让调用方不必了解对方的内部实现。
理解与应用
A2A(Agent2Agent)是一套智能体之间的通信协议。一个差旅助手想请财务助手查询报销进度,不需要知道财务助手用了什么模型、提示词或数据库,只要双方对能力描述、消息、任务状态和返回产物有共同约定,就能围绕同一个任务交互。本篇以 A2A v1.0.0 为边界。
差旅助手首先读取财务助手的 Agent Card,了解它提供哪些能力、支持什么接口、如何认证。随后发出“查询报销单 R-204 的进度”,并记录返回的任务标识。如果请求能立即处理,对方可以直接回复消息;如果查询要等待多个系统,任务就会在一段时间内持续更新。调用方因此能区分“已接到请求”“正在查询”和“结果已交付”。
假如财务助手发现缺发票,需要补充输入,差旅助手就应把这个缺口带回原任务,而不是新建一笔无关委派。重连时也是如此:任务标识帮助双方继续追踪原来的工作,但并不自动保证业务动作只执行一次。涉及修改报销单时,服务还需要自己的幂等和授权检查。
协议统一的是协作接口,具体怎样分工仍由应用决定。一个中心调度器可以联系多个助手,助手也可以点对点交流,A2A 并不要求固定拓扑。Agent Card 中写着“能提交报销”,同样不表示用户批准了本次提交;远端返回的文字也只是外部信息,不能替用户扩大原任务范围。
看一次交互:委派一次报销进度查询
这里用中文呈现交互含义。等待发票编号属于补充任务输入,对应 TASK_STATE_INPUT_REQUIRED;若缺少访问财务系统所需的授权,则对应 TASK_STATE_AUTH_REQUIRED,不能用补充编号代替授权。调用方始终追踪同一任务,拿到任务标识时还不能说查询已经完成。
以下为教学示意,未连接真实业务系统。
交互示意
差旅助手 → 财务助手:查询报销单 R-204 的当前进度。 财务助手 → 差旅助手:已建立任务 T-17,正在查询。 财务助手 → 差旅助手:需要补充输入,请提供发票编号。 差旅助手 → 用户:这笔报销需要发票编号才能继续查。 用户补充编号后,差旅助手在任务 T-17 中继续交互。
示意结果
任务 T-17 完成:R-204 等待发票核验。 交付内容:当前状态、待补材料,以及查询所依据的记录。
常见误区
- “已受理”只表示请求进入了处理流程,不能作为任务完成的回执。
- Agent Card 描述能力;用户授权、数据权限和身份核验仍需要各自的检查。
- 网络断开后另起任务,可能把一次委派变成两次执行。
前置与延伸
建议先读
相关概念
参考与版本
Apollo 原创讲解与教学示例。参考资料用于核对技术定义;核验日不代表资料的发布日期。
- A2A v1.0.0 Release ↗
官方发布记录日期为 2026-03-12;核对正式版本及枚举等破坏性变更,接入时仍须核对客户端和服务端实际支持版本。 · 核验:2026-10-10
- A2A v1.0.0 固定规范 ↗
固定核对官方 v1.0.0 标签下的任务、消息、Agent Card、接口协商与授权说明;文件标题残留 RC 字样,正式发布状态以对应 Release 为准。示例不实现全部状态或线协议字段。 · 核验:2026-10-10