智能体互操作协议 A2A

A2A (Agent2Agent Protocol)

A2A(Agent2Agent Protocol,智能体互操作协议)由 Google 于 2025 年发布并捐赠给 Linux 基金会,让不同厂商与框架的智能体互相发现能力、委派任务并交换结果。它以 Agent Card 自描述能力,把跨组织智能体协作标准化,与 MCP 形成「纵向连工具、横向连智能体」的互补格局。

详细解释

智能体互操作协议 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 定位对比表

维度A2AMCP解决方向连接对象典型角色是否互补适用场景
连接对象智能体对智能体模型对工具横向打通多智能体协作对端是具备自主性的智能体,下挂的是无自主性的工具协作双方的智能体互补,一横一纵跨厂商、跨组织的任务委派
提出方Google 于 2025 年发布,后捐赠给 Linux 基金会Anthropic 于 2024 年底开源制定中立的开放标准面向各自的多厂商生态标准制定方与维护方互补,各自独立演进需要长期稳定标准的企业
核心抽象Agent Card、Task、Message 与 ArtifactTools、Resources、Prompts统一发现与调用的约定描述对象分别是智能体与工具抽象层各管一段互补,抽象互不冲突多智能体协作对比单模型接工具
传输方式HTTP 配合流式推送stdio 与 HTTP 加流式推送复用通用 Web 技术栈均为网络连接或本机连接传输层实现方互补,可共用同一基础设施云原生部署、企业内网接入
鉴权粒度面向跨组织身份,按智能体与任务授权面向工具访问,按 Server 与工具授权坚持最小权限原则授权对象一个是智能体、一个是工具网关与统一身份系统互补,可收敛到一层网关多租户、合规审计要求高的场景
生态成熟度起步较晚,2025 年之后快速补齐已成事实标准,集成面更广网络效应决定普及速度工具生态对比智能体生态框架与平台厂商互补,共同拉动采用按团队所处阶段判断选型
组合使用场景用 A2A 让多个智能体互相委派任务用 MCP 让单个智能体接上各类工具组合成完整协作链路横向协作叠加纵向连接智能体平台与网关互补,叠用效果最佳复杂企业流程的端到端自动化

多智能体协作模式对比表

模式编排方式通信路径可观测性故障隔离适用场景
单体智能体无编排,一个模型配一组工具模型与工具在同一进程内调用高,全部调用落在一个追踪内强,单点失败即整体失败但边界清晰单场景、工具数量少于 15 个的轻量任务
编排者与工作者模式由一个主智能体拆解并分派子任务主智能体与各工作者点对点调用,通常是私有格式中,依赖框架自带埋点中,工作者失败可由主智能体重试或替换单团队内部、流程相对固定的自动化
A2A 对等协作无中心,智能体之间平等协商与委派基于 A2A 标准协议,跨进程甚至跨组织较低,需要统一追踪才能串起链路中,单方失败影响面取决于委派关系跨厂商、跨组织的任务委派与能力拼装
层级式编排多层主从,逐级拆分任务父子智能体之间的树状调用中低,层数越深越难定位较强,某一分支失败可局部隔离大型流程、任务可自然分层的场景
唯元智创 智能体编排网关网关统一编排,集中路由与治理各智能体通过网关接入,协议可转换高,网关层统一做全链路追踪强,网关提供熔断、重试与降级企业多租户、需要统一治理与审计的场景

实战经验与避坑

  1. 只有协作跨出单个系统边界时才考虑上多智能体,团队内部简单场景用单体智能体加工具调用即可,不要为了「架构先进」上多智能体:多智能体的每一跳都会引入额外的 延迟、成本与不确定性,链路越长,出错概率与调试难度就越呈非线性上升。判断标准可以先问三个问题:参与协作的是不是分属不同团队或不同厂商的智能体;任务能否被清晰拆分并独立完成;单条链路的价值是否足以支撑多一跳的代价。三个答案都是肯定的,才值得引入 A2A 这类互操作标准。业界经验是,把本可以用单体智能体完成的任务改成多智能体协作,端到端成功率往往下降一到三成,而延迟接近翻倍,因此宁可先用单体加 工具调用 把流程跑通,确有跨边界协作需求再逐步演进。

  2. Agent Card 的能力声明必须做真实性校验,恶意智能体可以虚报能力骗取任务:能力声明的本质是自我申报,一份 Agent Card 描述的是「我具备什么能力」,而不是「我保证做得到」。恶意或不稳定的智能体完全可以声称自己支持某些它实际做不到的能力,先把任务骗到手,再在关键时刻掉链子或窃取任务里的敏感信息。工程上要把它当简历而不是保证书:一是维护来源白名单,只允许经过审核的智能体进入协作目录;二是在网关侧做轻量探测,用一组在验证用例比对声明能力与实际行为是否一致;三是在任务执行过程中持续比对输出与声明,发现偏差立即降级或剔除。对外越开放的协作目录,越要把这层校验收敛到网关统一完成。

  3. 跨组织调用必须做鉴权与授权范围限定,不能让对方智能体拿到你方全量数据:跨组织协作最常见的事故,是为了让流程「顺畅」而给对方开了一个权限过宽的入口——一次授权就拿到了整库只读、整个文件目录或全局的管理凭证。正确做法是把授权收窄到具体任务所必需的最小范围:按任务下发短期凭证,任务结束即失效;数据按字段与记录级做脱敏与隔离,只让对方看到完成本次任务必须看到的部分;高风险或不可逆动作强制走人工二次确认。经验值是,把单个协作任务的授权范围从「全库」收紧到「单模块加单任务」之后,越权访问与数据外泄事件通常能下降七成以上。

  4. 任务生命周期要设计幂等与超时,对端智能体挂掉不能让整个链路僵死:A2A 的任务是有状态的,从提交到完成会经历多个阶段,而对方智能体是外部依赖,网络抖动、进程崩溃、上游限流都可能发生。如果没有超时,一个卡住的任务会让发起方无限等待;如果没有幂等,重试又可能把同一次交付重复执行,造成重复扣款或重复发货。设计要点是:为每个任务设定明确的超时与最大重试次数,超时后走降级或 熔断,不要无限重试;为任务引入幂等标识,保证重复提交只产生一次副作用;把任务状态变化作为可观测事件记录下来,便于定位究竟卡在哪一跳。

  5. 多智能体链路必须打通全链路追踪,否则出问题定位成本极高:一次跨智能体协作可能涉及三到五个参与方、十几跳调用,如果每一跳的日志各写各的、标识互不相认,那么一旦最终结果不对,排查会变成一场跨团队的扯皮。正确做法是让追踪标识贯穿始终:发起方生成统一的任务与追踪标识,随每一次委派透传下去,各参与方在日志与指标里都带上同一个标识;协作过程中的上下文与中间结论可以按需沉淀到 智能体记忆,但记忆条目必须与追踪标识绑定,方便回溯。没有这套追踪,多智能体的排障时间往往是以小时甚至天计,远超单智能体的分钟级。

  6. 要设置协作轮次与预算上限,防止两个智能体互相委派无限循环烧钱:对等协作没有中心节点,两个智能体很容易陷入「我请你确认、你再请我确认」的循环,或者反复把任务推给对方。工程上必须为每条链路设置硬上限:最大协作轮次、最大任务嵌套深度、单次协作的 Token 与费用预算上限,任一项触顶就强制终止并回报给人工。这类保护要放在网关层统一执行,而不是指望每个智能体自觉,因为一旦出现循环,成本会随着轮次快速膨胀。实践经验是,为长链路加上轮次与预算双上限后,异常链路的单次成本可以被控制在预期范围的两到三倍以内,而不是失控到无法解释。

常见问题

A2A 和 MCP 到底要不要一起上,只上其中一个行不行?
两者是互补的正交方向,规模小的时候只上 MCP 就够,一旦涉及跨团队或跨厂商的智能体协作才需要引入 A2A。MCP 解决的是模型与工具之间的纵向连接,让一个智能体接上各类外部能力;A2A 解决的是智能体与智能体之间的横向连接,让多个智能体互相委派任务。判断标准可以看协作边界:如果所有能力都由你自己的团队封装、流程也在一个系统内闭环,那么单体智能体加工具调用就能覆盖,硬上多智能体只会增加链路的脆弱点;如果任务需要跨越组织边界、由不同厂商或不同框架的智能体共同完成,A2A 才有用武之地。需要提醒的是,两者可以共用同一套网关与鉴权基础设施,先上 MCP 打好工具接入的底子,再按需叠加 A2A,是更稳妥的演进路径。
Agent Card 的能力声明可以完全信任吗,怎么防止被虚报的能力骗了?
Agent Card 只是一份自述,默认不可信,必须由调用方或网关做交叉校验。能力声明的本质是自我申报,恶意或不稳定的智能体完全可以声称自己支持某些它实际做不到的能力,从而骗取任务,因此工程上要把它当成简历而不是保证书。常见加固手段有三层:一是来源白名单,只允许经过审核的智能体加入协作目录;二是网关侧做能力探测与模式校验,用一组轻量用例验证其真实行为是否与声明一致;三是任务执行中持续比对实际输出与声明能力,发现偏差立即降级或剔除。越是对外开放的协作目录,越要把校验做在网关这一层统一完成,而不是让每个业务方各自判断,否则标准再统一也挡不住一个虚报能力的参与方。
A2A 是 2025 年才出现的协议,现在采用会不会有标准迁移风险?
从公开动态看,A2A 已经把「智能体之间怎么互操作」这个中立问题标准化,并交由 Linux 基金会这样的中立机构托管,长期标准化的基础是成立的。它由 Google 在 2025 年发布,随后快速补齐规范与实现,被多个平台与框架采纳,又走了 MCP 已经验证过的「中立协议加生态共建」路径,因此短期被彻底替代的概率不高。稳妥的采用姿态是按可迁移原则设计:智能体侧在实现 A2A 接口的同时保留一层原生接口兜底,通过网关做协议转换,这样即便未来标准演进,改动也集中在网关一层,不会牵动每个业务系统。同时要明确声明自己支持的协议版本与已知不兼容的实现。一句话总结,现在投入 A2A 的收益大于风险,但不要把业务逻辑深度绑死在某个具体实现上,把网关这层抽象留好就够了。