详细解释
智能体互操作协议 A2A(Agent2Agent Protocol) 是由 Google 在 2025 年发布、其后捐赠给 Linux 基金会托管的一套开放标准,目标是让不同厂商、不同框架构建的 智能体 能够互相发现能力、委派任务并交换结果。它要解决的是一个跨组织边界的连接问题:在 A2A 出现之前,每个团队都会把自己的智能体封装成私有接口,A 公司的智能体即便能力更强,也无法把任务直接交给 B 公司的智能体,双方只能靠人工写胶水代码或约定私有格式来对接,本质上仍是彼此隔绝的信息孤岛;一旦参与方超过三家、能力需要动态组合,缺少统一的发现与调用约定就会让集成成本迅速失控,每接入一个新伙伴都要重做一遍联调与鉴权。A2A 把发现、描述、调用与状态跟踪这一整套交互收敛成协议,让智能体之间像服务之间调用那样具备可组合性,也使跨厂商协作从一次性定制变成可复用的标准动作。
在概念层面,A2A 把协作拆成几个清晰的抽象。Agent Card 是智能体的自描述名片,通常发布在一个约定好的公开地址上,声明这个智能体的名称、用途、能力清单、支持的输入与输出形式以及可访问的端点,调用方据此判断它能不能接这个任务、应该怎么接;Task 是任务对象,也是协作的核心载体,它具备可跟踪的生命周期状态,从被提交、到进行中、到最终完成或失败,双方围绕同一个任务标识推进,避免把状态散落在各自的日志里;Message 与 Artifact 分别承载协作过程中的消息流与最终产物,前者是双方来回沟通的内容,后者是任务完成后交付的成品,例如一份报告、一段结构化结果或一个文件链接。传输上 A2A 基于普通 HTTP,并配合流式推送把长任务的中间进展实时回传给调用方,从而复用现有的网络设施、鉴权体系与运维工具,不必为协议单独搭一套基础设施。需要理解的是,Agent Card 描述的是「我具备什么能力」,而不是「我一定做得到」,这个区别直接决定了后续校验环节的做法。
理解 A2A 的关键,是把它和模型上下文协议 MCP 放在一起看:两者不是竞争关系,而是两个正交方向。MCP 解决的是「模型与工具」之间的纵向连接,让一个 智能体 能通过统一协议接上数据库、搜索、企业内部系统等各种 工具调用 能力;A2A 解决的是「智能体与智能体」之间的横向连接,让多个各自武装好的智能体能够互相委派任务。一个常见的组合是:每个参与方先用 MCP 把自己的工具接好,再用 A2A 把彼此串成一条协作链路,纵向的工具连接与横向的 多智能体编排 叠加起来,才能支撑真实的企业流程。协议的细节与最新规范可以查阅官方站点 https://a2a-protocol.org 。落地时直接在业务系统里两两对接往往难以治理,因此主流做法是在中间加一层 智能体网关,把鉴权、能力校验、任务路由与全链路追踪集中处理;唯元智创 在网关侧提供智能体编排与互操作接入,把参与协作的智能体注册到统一目录,按租户与业务场景动态挂载,并对每个 Agent Card 声明做静态校验与最小权限约束,让跨组织协作既有标准可依、又有边界可控。
A2A 与 MCP 定位对比表
| 维度 | A2A | MCP | 解决方向 | 连接对象 | 典型角色 | 是否互补 | 适用场景 |
|---|---|---|---|---|---|---|---|
| 连接对象 | 智能体对智能体 | 模型对工具 | 横向打通多智能体协作 | 对端是具备自主性的智能体,下挂的是无自主性的工具 | 协作双方的智能体 | 互补,一横一纵 | 跨厂商、跨组织的任务委派 |
| 提出方 | Google 于 2025 年发布,后捐赠给 Linux 基金会 | Anthropic 于 2024 年底开源 | 制定中立的开放标准 | 面向各自的多厂商生态 | 标准制定方与维护方 | 互补,各自独立演进 | 需要长期稳定标准的企业 |
| 核心抽象 | Agent Card、Task、Message 与 Artifact | Tools、Resources、Prompts | 统一发现与调用的约定 | 描述对象分别是智能体与工具 | 抽象层各管一段 | 互补,抽象互不冲突 | 多智能体协作对比单模型接工具 |
| 传输方式 | HTTP 配合流式推送 | stdio 与 HTTP 加流式推送 | 复用通用 Web 技术栈 | 均为网络连接或本机连接 | 传输层实现方 | 互补,可共用同一基础设施 | 云原生部署、企业内网接入 |
| 鉴权粒度 | 面向跨组织身份,按智能体与任务授权 | 面向工具访问,按 Server 与工具授权 | 坚持最小权限原则 | 授权对象一个是智能体、一个是工具 | 网关与统一身份系统 | 互补,可收敛到一层网关 | 多租户、合规审计要求高的场景 |
| 生态成熟度 | 起步较晚,2025 年之后快速补齐 | 已成事实标准,集成面更广 | 网络效应决定普及速度 | 工具生态对比智能体生态 | 框架与平台厂商 | 互补,共同拉动采用 | 按团队所处阶段判断选型 |
| 组合使用场景 | 用 A2A 让多个智能体互相委派任务 | 用 MCP 让单个智能体接上各类工具 | 组合成完整协作链路 | 横向协作叠加纵向连接 | 智能体平台与网关 | 互补,叠用效果最佳 | 复杂企业流程的端到端自动化 |
多智能体协作模式对比表
| 模式 | 编排方式 | 通信路径 | 可观测性 | 故障隔离 | 适用场景 |
|---|---|---|---|---|---|
| 单体智能体 | 无编排,一个模型配一组工具 | 模型与工具在同一进程内调用 | 高,全部调用落在一个追踪内 | 强,单点失败即整体失败但边界清晰 | 单场景、工具数量少于 15 个的轻量任务 |
| 编排者与工作者模式 | 由一个主智能体拆解并分派子任务 | 主智能体与各工作者点对点调用,通常是私有格式 | 中,依赖框架自带埋点 | 中,工作者失败可由主智能体重试或替换 | 单团队内部、流程相对固定的自动化 |
| A2A 对等协作 | 无中心,智能体之间平等协商与委派 | 基于 A2A 标准协议,跨进程甚至跨组织 | 较低,需要统一追踪才能串起链路 | 中,单方失败影响面取决于委派关系 | 跨厂商、跨组织的任务委派与能力拼装 |
| 层级式编排 | 多层主从,逐级拆分任务 | 父子智能体之间的树状调用 | 中低,层数越深越难定位 | 较强,某一分支失败可局部隔离 | 大型流程、任务可自然分层的场景 |
| 唯元智创 智能体编排网关 | 网关统一编排,集中路由与治理 | 各智能体通过网关接入,协议可转换 | 高,网关层统一做全链路追踪 | 强,网关提供熔断、重试与降级 | 企业多租户、需要统一治理与审计的场景 |
实战经验与避坑
-
只有协作跨出单个系统边界时才考虑上多智能体,团队内部简单场景用单体智能体加工具调用即可,不要为了「架构先进」上多智能体:多智能体的每一跳都会引入额外的 延迟、成本与不确定性,链路越长,出错概率与调试难度就越呈非线性上升。判断标准可以先问三个问题:参与协作的是不是分属不同团队或不同厂商的智能体;任务能否被清晰拆分并独立完成;单条链路的价值是否足以支撑多一跳的代价。三个答案都是肯定的,才值得引入 A2A 这类互操作标准。业界经验是,把本可以用单体智能体完成的任务改成多智能体协作,端到端成功率往往下降一到三成,而延迟接近翻倍,因此宁可先用单体加 工具调用 把流程跑通,确有跨边界协作需求再逐步演进。
-
Agent Card 的能力声明必须做真实性校验,恶意智能体可以虚报能力骗取任务:能力声明的本质是自我申报,一份 Agent Card 描述的是「我具备什么能力」,而不是「我保证做得到」。恶意或不稳定的智能体完全可以声称自己支持某些它实际做不到的能力,先把任务骗到手,再在关键时刻掉链子或窃取任务里的敏感信息。工程上要把它当简历而不是保证书:一是维护来源白名单,只允许经过审核的智能体进入协作目录;二是在网关侧做轻量探测,用一组在验证用例比对声明能力与实际行为是否一致;三是在任务执行过程中持续比对输出与声明,发现偏差立即降级或剔除。对外越开放的协作目录,越要把这层校验收敛到网关统一完成。
-
跨组织调用必须做鉴权与授权范围限定,不能让对方智能体拿到你方全量数据:跨组织协作最常见的事故,是为了让流程「顺畅」而给对方开了一个权限过宽的入口——一次授权就拿到了整库只读、整个文件目录或全局的管理凭证。正确做法是把授权收窄到具体任务所必需的最小范围:按任务下发短期凭证,任务结束即失效;数据按字段与记录级做脱敏与隔离,只让对方看到完成本次任务必须看到的部分;高风险或不可逆动作强制走人工二次确认。经验值是,把单个协作任务的授权范围从「全库」收紧到「单模块加单任务」之后,越权访问与数据外泄事件通常能下降七成以上。
-
任务生命周期要设计幂等与超时,对端智能体挂掉不能让整个链路僵死:A2A 的任务是有状态的,从提交到完成会经历多个阶段,而对方智能体是外部依赖,网络抖动、进程崩溃、上游限流都可能发生。如果没有超时,一个卡住的任务会让发起方无限等待;如果没有幂等,重试又可能把同一次交付重复执行,造成重复扣款或重复发货。设计要点是:为每个任务设定明确的超时与最大重试次数,超时后走降级或 熔断,不要无限重试;为任务引入幂等标识,保证重复提交只产生一次副作用;把任务状态变化作为可观测事件记录下来,便于定位究竟卡在哪一跳。
-
多智能体链路必须打通全链路追踪,否则出问题定位成本极高:一次跨智能体协作可能涉及三到五个参与方、十几跳调用,如果每一跳的日志各写各的、标识互不相认,那么一旦最终结果不对,排查会变成一场跨团队的扯皮。正确做法是让追踪标识贯穿始终:发起方生成统一的任务与追踪标识,随每一次委派透传下去,各参与方在日志与指标里都带上同一个标识;协作过程中的上下文与中间结论可以按需沉淀到 智能体记忆,但记忆条目必须与追踪标识绑定,方便回溯。没有这套追踪,多智能体的排障时间往往是以小时甚至天计,远超单智能体的分钟级。
-
要设置协作轮次与预算上限,防止两个智能体互相委派无限循环烧钱:对等协作没有中心节点,两个智能体很容易陷入「我请你确认、你再请我确认」的循环,或者反复把任务推给对方。工程上必须为每条链路设置硬上限:最大协作轮次、最大任务嵌套深度、单次协作的 Token 与费用预算上限,任一项触顶就强制终止并回报给人工。这类保护要放在网关层统一执行,而不是指望每个智能体自觉,因为一旦出现循环,成本会随着轮次快速膨胀。实践经验是,为长链路加上轮次与预算双上限后,异常链路的单次成本可以被控制在预期范围的两到三倍以内,而不是失控到无法解释。