协议层 · 网页版

Agent2Agent ProtocolA2A,智能体间协议

让不同厂商、不同框架的 AI Agent 互相「发现、委派、协作」的开放协议—— MCP 接工具,A2A 接 Agent。本页从「为什么单个 Agent 不够用」讲到协议本体、跑通协作、生产落地与安全。讲义 PPT 见页脚链接。

核实窗口 2026-07-09 至 07-12 规范 v1.0 已稳定 · 生态数字季度级增长

01是什么 / 为什么#a2a-what-why

真实企业里不是一个万能 Agent,而是一堆专精 Agent:订票、报销、风控……像公司里不同部门的员工,靠「流程」把活儿流转。缺了标准就是 M×N 的定制对接地狱——A2A 把它塌缩成 M+N:规定 Agent 如何发现对方、委派任务、同步进度、交换结果。做好一次就通用:一个「合规审查 Agent」发布后,任何遵循 A2A 的上游都能直接委派,不用一对一对接。

MCP(模型上下文协议)A2A(智能体间协议)
连接方向Agent ↔ 工具/数据(纵向)Agent ↔ Agent(横向)
类比给 Agent 装的 USB 接口Agent 之间的协作/外交规范
解决让 Agent「会用」外部能力让多个 Agent「会协作」
粒度一次工具调用(tools/call)一次任务委派(Task,可长时运行)
关系互补,一个系统里两个都要——A2A 编排的 Agent 内部往往正用 MCP 调工具

客户最爱问「选哪个」,标准答案是「都要」——同一次差旅审批里,两个协议管的是两个方向:

A2A · 横向:谁接力这一单 出行 Agent 财务 Agent 风控 Agent 航司 API ERP 合规规则库 MCP · 纵向:每个 Agent 手里有什么工具
选型尺子一句话:单 Agent + 工具 → 只上 MCP;多个专精 / 跨厂商 Agent 要协作 → MCP + A2A 叠着上。

来历与治理:Google 2025-04 发布(50+ 合作伙伴)→ 2025-06 捐给 Linux Foundation 中立托管——与 MCP 同一条「先厂商提出、再基金会治理」的路,是回应「会不会被锁定」最有力的答案。

A2A 接入选型器

三个问题得到协议层结论、传输绑定与交付方式——判据全部来自本页第 1/3/5 节的选型口诀,不新增事实。

02协议解剖:五大对象#a2a-protocol

记忆法一行:Agent Card=名片(发现)、Task=工单(有状态)、Message/Part=信与附件(内容)、Artifact=成品(产出)。规范 v1.0 以 Protocol Buffers 为唯一权威定义——保证三种传输绑定语义一致、跨语言 SDK 不跑偏。

对象是什么像什么 / 要点
Agent Card一份 JSON 元数据:name、url(服务端点)、capabilities、skills、鉴权要求,默认发布在 well-known URI商务名片 + 服务菜单——「我是谁、能做什么、去哪找我、进门要什么证件」。本身是公开菜单不含密钥;敏感能力靠 securitySchemes 声明鉴权,v1.0 还支持签名防冒充(第 7 节)
Task工作基本单元:唯一 ID + 状态 + 生命周期像给外包发的工单——有进度、能查询、能补料、能取消。「有状态」是 A2A 与一次性 RPC 的关键差别:天生支持长耗时、多轮、需人工介入的真实协作
Message一轮通信,带 role由若干 Part 组成
Part最小内容块text / file / data 统一抽象
ArtifactTask 的产出,也由 Part 组成可增量流式返回——大文件传 URI 引用而非内联

Task 状态机九种状态、三条路:正常线 submitted → working → completed;中断线 working ↔ input-required / auth-required(补料补授权后回来继续);异常线随时可进 failed / canceled / rejected(另有兜底 unspecified)。两条纪律:终态不可回跳——重试=创建新 Task(可关联旧任务),绝不修改终态历史,审计与回放靠这条撑着;状态真相永远在服务端,客户端只是观察者。

三个异常终态不是同义词,它们分的正是「这一单卡在谁那儿」:rejected=对方没接这一单、failed=接了但没跑成、canceled=委派方自己撤。跨厂商协作里这是划责的第一手记录,所以别图省事把失败一律写成 failed——写准了,出事那天不用靠回忆对峙(用法见追问「对方给错了结果算谁的」)。

TaskState 九态核实 2026-07-12,来源 a2a-protocol.org 规范。不可外推边界:九态是规范定义的状态集,不是各家实现的现状——对接前按对方 Agent Card 与所用 SDK 的版本核一遍,引用状态机时带规范版本号。

03发现与传输#a2a-transport

发现:Agent Card 约定发布在 https://<host>/.well-known/agent-card.json ——像 robots.txt 放固定位置,按约定路径去拿就有,零协商免对接;不想公开可用私有注册中心 + 鉴权。传输三种绑定语义由 protobuf 统一约束、可互换——A2A 不逼你换技术栈。

绑定适合场景特点
JSON-RPC 2.0通用默认、Web 友好HTTP POST、人类可读、生态最广,preferredTransport 常用它
gRPC高性能、内网服务间HTTP/2 + protobuf,低延迟高吞吐、强类型,适合大规模集群
HTTP+JSON/REST已有 REST 基建贴合传统习惯,易接入现有网关/鉴权/监控,改造成本最低

拿结果的四种姿势

先判运行条件再选交付:

姿势怎么拿代价用在哪
Blocking同步等连接占用、易超时短活
Polling轮询空轮询与状态陈旧——用退避 + 变更标记网络最简单的场景
StreamingSSE 单连接持续推增量,比 WebSocket 更轻更易穿网关要处理断线重连与背压要看进度
Push客户端离线时服务端回调 webhook,像发快递留手机号回调必须幂等 + URL 校验 + 签名长任务

口诀:短活阻塞、简单轮询、看进度流式、长任务推送。同一个 Task 可同时被轮询 / 订阅 / 推送观察——通道只是观察方式。三种绑定都跑在 HTTP(S) 上,复用现有 443 与网关,一般不用单独开防火墙。

04跑通一次协作#a2a-handson

接入心智模型:server 端「把已有能力包一层 A2A 外壳」——声明 Agent Card + 把现有逻辑塞进 executor + 发布,三步;client 端「拉 Card + 发 message/send」,几行代码。业务核心基本不动——这是给客户估接入量的口径。

「包壳」这个形状还有一层客户很在意的含义:A2A 那一层是贴上去的,不是长进去的。接入量小是它的正面,可换性是它的背面——万一将来换协议,重写的是壳,业务逻辑与工具调用原样留着。前提是接入时守住一条纪律:A2A 相关的东西只待在壳里,别渗进业务代码。

一次调用的真实报文(JSON-RPC):请求 method: "message/send",params 里一条 role 为 user 的 Message、Part 装「审查这张发票是否合规」;响应返回 Task——id: "task-7f3a"、状态 completed、Artifact 里 Part 装结论。

有什么
官方 SDK六语言(Python / JavaScript / Java / Go / .NET / Rust)覆盖主流后端栈,Python 已实现 1.0(含 0.3 兼容模式)
不用 SDK 行不行行——A2A 是开放的 HTTP + JSON-RPC / gRPC 协议,可手写报文对接,规范以 protobuf 为准
配套工具Inspector(调试观察报文)与 TCK(协议一致性测试套件)

一个 Agent 可以既是 server 又是 client——链式协作里,中间 Agent 对上游是 server、对下游是 client,这正是多 Agent 编排的基础。

05多智能体协作#a2a-orchestration

opaque agents(不透明协作):Agent 之间只通过 Card 暴露能力、通过 Task 交换输入输出,不共享内部提示词、工具、推理过程——像把活儿外包给另一家公司,你告诉它「要什么」、它交「成品」,不会把对方员工怎么干全看光。不透明 = 更好的封装与安全边界,协作靠接口契约而非看内部——对跨厂商、跨组织协作是必需的。

不透明的另一面,是责任也跟着落在接口上:你能主张的和你要担的,都止于 Card 声明的能力与 Task 交付的结果——对方内部用什么模型、什么提示词、调了谁的工具,既不是你的责任,也不能当你的把柄。跨组织协作里这句话要在签合同之前说清楚:接口契约就是责任边界。

委派拓扑三种基本形状

与单机编排同构,区别只在跨进程 / 跨厂商:

形状怎么走例子
编排者—执行者主 Agent 拆活、分发、汇总差旅审批调度订票 / 预算 / 风控
链式流水线A 的产出作 B 的输入翻译 → 校对 → 排版
并行汇聚同时委派,等全部返回再合并尽调并行查财务 / 法务 / 舆情

三层叠起来看

编排层 一个系统里多个节点怎么走 · LangGraph / ADK 框架 协作层 跨系统跨厂商怎么标准化对接 A2A · 本页 工具层 每个 Agent 手里有什么工具 MCP
内部流转归框架,跨出去找别人的 Agent 那一步才走 A2A——编排层见 Agent 网页版,工具层见 MCP 网页版。

成本提醒:跨 Agent 有网络与模型开销——能单 Agent 完成就别拆,真正需要专精 / 隔离 / 跨厂商时,协作的收益才划算。

06生产落地与上云#a2a-production

demo 是「能打通电话」,生产是「开一家有工号、有录音、有权限、有话务量管控的呼叫中心」:多租户隔离、每个 Task 可追踪、鉴权与授权范围、限流配额、失败重试与超时。协议本身已就绪,生产化门槛主要在治理与可观测。

三大云都已托管

AzureAI Foundry / Copilot Studio——Agent 托管 + 编排,原生 A2A 互操作
AWSBedrock AgentCore Runtime
GoogleVertex AI Agent Engine(发源方)

对客户口径:中立标准、三云互通、不锁定。AP2(Agent Payments Protocol)是 A2A 之上的支付扩展(60+ 组织参与):规范 Agent 代表用户发起 / 授权 / 结算支付,全程有可核验的授权凭据——展示了「核心协议 + 垂直扩展」的生态方向。

采用度四个数字

回应「成熟吗、谁在用」:

参与组织150+(较发布时增长两倍)
版本v1.0.0 于 2026-03-12 发布,当前补丁 v1.0.1
SDK六语言官方
云托管三大云

核心仓库 26,000+ stars,生产案例见于供应链、金融、保险、IT 运维。

上线前六条验收线

每条都问「查什么 + 拿什么证据」,答不出证据就还没到生产:

发现与版本

Card 来源可信、接口选择可重复——证据:签名 / 域名校验记录、supportedInterfaces 兼容表。

任务语义

状态流转合规、终态纪律、重试建新 Task——证据:事件序列可回放、失败 / 取消用例。

身份与授权

逐操作、逐租户、audience 限定——证据:跨租户越权回归、scope 用例、审计日志。

异步交付

断线重连、事件顺序、推送至少一次送达——证据:快照对账、重复通知的幂等证明。

运营与恢复

SLO、容量、故障演练、可回滚——证据:压测报告、告警配置、runbook。

质量与安全

业务结果、恶意输入、工具副作用——证据:评测集、红队记录、人工介入控制。

终极判断:任意一次协作都能回放「谁委派、做了什么、为何结束、交付了什么、谁验收」。

生态数字核实 2026-10-20,来源 Linux Foundation 一周年通稿;版本号来源 规范仓库 releases。不可外推边界:基金会通稿的采纳规模是自报口径、未公开统计方法:它能支持的是「不是某一家的私有协议」,不能当作「已经在生产里大规模跑起来」的证据。

顺着追问什么:客户的 Agent 现在跑在哪——自己容器里,还是已经用了某家云的 Agent 运行时?要对外协作的那一头是自家另一个团队,还是外部厂商,跨不跨云、跨不跨组织?现在按客户分租户了吗,每个 Task 查得到状态和 trace 吗?

云替你做不了什么:「不锁定」说的是 A2A 这一层跨边界互操作——A2A 不做「怎么编排、怎么循环」,只做「跨边界怎么对接」(见本页协议解剖一节);框架内部那套编排本来就不在 A2A 管辖内,换平台的代价要另算,别拿 A2A 的中立性去背书。

07安全#a2a-security

Agent 自动发现、自动委派,攻击面随之扩大:假冒 Agent、越权调用、恶意投毒、数据经 Artifact 外泄——从「人工审批每一单」变成「机器自动接单」,不设门禁冒牌供应商也能混进来。自动化的收益必须配套默认设防:验证身份、限定权限、留痕审计,安全前移到协议层。

信任基石:Signed Agent Cards(v1.0 头号新特性)

给名片加密码学签名,接收方能验证「这张名片确实由该域名所有者签发」——像盖了防伪钢印,不再是「谁都能印一张说自己是银行」。它把发现从「默认信任」升级为「可验证信任」,是跨组织自动协作的前提。

鉴权与授权三件:OAuth 2.0(Card 声明 securitySchemes,调用带 token 校验 scope)+ mTLS(服务间双向证书)+ 授权范围(按 skill / 租户限定谁能调什么,越权直接拒)。

五个信任边界对五组控制

边界威胁控制
发现Card 可伪造可信域 + 签名
身份凭据扩散带外授权 + audience 限定 + 短期凭证
任务越权读取逐操作鉴权 + 租户绑定
模型跨 Agent 提示注入指令数据隔离 + 工具最小权限
回调伪造重放URL 校验 + 签名 + 幂等 + 限流

与 MCP 一套安全心法:验身份、限权限、默认关自动批准、全链路留痕——A2A 多出的「跨组织委派链信任」用签名名片补上。安全主张要能被测试复现(签名校验日志 / 越权回归 / 注入语料 / 重放测试),不靠口头承诺。威胁全景与架构级防御在 Security 网页版。

08现场高频追问#qa

只收会改变某个决定的问题——会改变技术方案、风险判断、验收方法、对客沟通或下一步行动。

每题标出它加入本题库的日期:2026-07-09 来自讲义首版对练页,2026-07-12 来自状态机与交付方式深潜,2026-07-23 是按客户交锋场景补的四题(成熟度 / 内部自研 / 责任边界 / 押错协议)。

A2A 和 MCP 到底啥区别,是不是二选一?2026-07-09

不是。MCP 连工具/数据(纵向),A2A 连 Agent(横向),一个系统里常常两个都用—— A2A 编排的 Agent 内部往往正用 MCP 调工具。

这是本册最常被问的一题:粒度也不同——MCP 是一次工具调用,A2A 是一次可长时运行的任务委派。

下一步 用差旅审批一张图讲两层:A2A 决定谁接力这一单, MCP 决定每个 Agent 手里有什么工具。

依据 分工对照表

能不能只用一个 Agent,别搞这么复杂?2026-07-09

能就别上。只有当存在多个独立、专精、可能来自不同厂商的 Agent 要协作时 A2A 才有价值;单 Agent 场景直接 MCP 即可。

跨 Agent 有网络与模型开销——拆分本身有成本,专精/隔离/跨厂商的收益要大过它才划算。

下一步 拿选型器把手头场景过一遍,判断尺子就一条:是否存在多个异构 Agent 要接力一件事。

依据 选型尺子

这是不是 Google 的私有协议,用了会被锁定吗?2026-07-09

不会。2025-06 已捐给中立的 Linux Foundation;150+ 组织参与、六语言官方 SDK、三大云托管且互通,治理和演进公开。

「中立治理 + 广泛采用」是回应「昙花一现」质疑最有力的组合——和 MCP 走的同一条去厂商化路线。

下一步 30 秒成熟度话术用四个数字组织:150+ 组织 / v1.0 稳定版 / 5 个 SDK / 3 大云。

依据 采用度

接 A2A 要不要换我现在的 Agent 框架?2026-07-09

不用。A2A 是框架之上的互操作层:LangGraph、ADK 等都能对外暴露/调用 A2A,内部实现不动。server 端主要是「包壳」,client 端几行发消息。

「业务核心不动」是接入量评估的关键口径——新增的只有 Card 声明、 executor 包装、发布三块。

下一步 挑熟悉语言的官方 SDK 跑通 hello-world 级 server + client,再给客户列接入清单。

依据 接入心智模型

Task 有状态,服务端要一直存着?会不会很重?2026-07-09

Task 状态需要持久化(内存/DB 皆可),但这正是长任务、断点续传、推送回调的基础;短任务也可即时 completed,不强制长存。

「有状态」是 A2A 与一次性 RPC 的本质差别——真实协作是长耗时、多轮、要人工介入的,工单模式才接得住。

下一步 记住终态纪律:终态不可回跳、重试建新 Task——审计与回放靠它;状态真相永远在服务端。

依据 Task 状态机

长任务客户端断了怎么办?2026-07-12

用推送通知:注册 webhook,Task 完成或变更时服务端回调你——客户端无需挂连接,天然适配离线与批量。

四种交付各有代价:阻塞占连接、轮询会陈旧、流式要处理断线背压、推送要防重复投递与回调伪造(幂等 + URL 校验 + 签名)。

下一步 口诀选型:短活阻塞、简单轮询、看进度流式、长任务推送——先判运行条件再选交付。

依据 四种交付

怎么防止别人伪造一个 Agent 冒充我们?2026-07-09

用 v1.0 的 Signed Agent Card:名片带密码学签名,接收方验签确认确由你的域名签发——伪造的 Card 过不了验证。

自动协作把发现从人工审批变成机器接单,「可验证信任」是跨组织委派的前提——这正是 v1.0 头号新特性的动机。

下一步 给安全负责人讲「默认设防」全景:验签 + 最小权限 + 关自动批准 + 全链路审计,别只说「支持 OAuth」。

依据 Signed Agent Cards

跨多个 Agent,出错了怎么定位?2026-07-09

每个 Task 有 ID 和状态、可观测,链路上逐段查即可;生产部署给每个 Task 打 trace,配统一可观测。

验收的终极判断:任意一次协作能回放「谁委派、做了什么、为何结束、交付了什么、谁验收」——答不全就还没到生产。

下一步 按六条验收线(发现/任务语义/授权/异步交付/运营/ 安全)列上线 checklist。

依据 生产验收

现在上是不是太早了?你说 150 家在用,真跑在生产上的有几家?2026-07-23

先把话说在前头:那些采纳数字是自报口径、没有公开统计方法。它们能证明的是「这不是某一家的私有协议」——中立治理、官方 SDK 覆盖主流后端栈、三大云都托管;证不了「已经在生产里大规模跑起来」。所以成熟度要拆两层讲:协议层已经稳(v1.0 稳定线、以 protobuf 为唯一权威定义、有 TCK 可自测一致性),生态层还在长。判断早不早,不看别人几家在用,看你自己有没有那条「要跨出去」的边。

把「参与组织数」当「生产案例数」讲,是这册最容易犯也最贵的一次口误——验收时一定会被翻出来。主动说破这条边界反而最像行家,还顺手把话题从「别人怎么样」拉回「你有没有这个场景」。

下一步 报那几个数字时永远配一句限定语:「这是生态广度,不是生产规模。」生产成熟度另外证——TCK 跑协议一致性(注意它只证一致性,不替代安全与业务评测),再加你们自己的验收线。

依据 采用度与不可外推边界 · Inspector 与 TCK

我们几个 Agent 都是自己开发的,还需要上标准协议吗?2026-07-23

很可能不需要——这句要先说,别硬推。同一套代码库、同一个团队维护、一起发版的几个 Agent,内部流转归框架(LangGraph / ADK 之流)管就好,中间插一层 A2A 只是多一跳网络和一层序列化。A2A 的价值在跨出去的那一步,判据只有一条:这个 Agent 归不归你管——你能改它、你决定它什么时候发版,就框架编排;不归你管(子公司、供应商、SaaS 厂商、有独立发版节奏的兄弟部门),那条边才值得标准化。

这题答「当然要」会当场丢分:对方比你更清楚自己的系统。诚实划出边界,你后面说「这一步该上」时才有人信;而且这条判据客户拿得走、回去自己就能用。

下一步 请客户在自己的架构图上圈一下:哪几个 Agent 不由他们自己发版?圈出来的那几条边就是 A2A 的边;一条都圈不出来,就先别上。

依据 三层叠起来看 · 接入选型器

跨厂商协作,对方那个 Agent 给错了结果,算谁的?2026-07-23

先划界,再摆证据链。界划在接口上:opaque 协作里你看不见对方内部,也不为对方内部负责——你担的是「委派得对不对」(照 Card 声明的能力调、输入给全、授权范围给准),对方担的是「交付得对不对」(Artifact 里的内容)。证据留在 Task 上:异常终态本身就在记责任,rejected 是对方没接、failed 是接了没跑成、canceled 是委派方自己撤;再加上终态不可回跳、事件序列可回放,一次协作能完整复盘「谁委派、做了什么、为何结束、交付了什么、谁验收」。所以责任条款要锚在这套记录上,而不是锚在会议纪要上。

多方系统里「谁的锅」平时没人问,一出事就是甲乙双方最难看的一段。协议本身不判责,但它把判责要用的事实固定了下来——这话得在签字之前讲,出事之后再讲就晚了。

下一步 把验收线里「任务语义」那条抽出来当合同附件:失败 / 取消用例跑通、事件序列可回放——这两样是划责的最低证据。

依据 opaque agents · Task 状态机 · 六条验收线

非得现在就定协议吗?万一它没成主流,这笔投入不打水漂了?2026-07-23

先把最坏情况的上限算出来,再决定。A2A 在你系统里的形状是「在已有能力外面包一层壳」——Card 声明 + executor 包装 + 发布,业务核心不动;真押错了,重写的是那层壳,不是脑子。往里还有两层缓冲:三种传输绑定的语义由 protobuf 统一约束、可互换;不用官方 SDK 也能手写报文对接,不绑语言不绑框架。反过来,推迟决定也不是零成本——不定标准就继续一对一定制对接,M×N 那笔账每多一家供应商就再付一次。

客户问「会不会打水漂」,真正想知道的是最坏能亏多少,而不是要你保证它一定赢。给沉没成本的上限比给信心承诺有用得多;顺手把「不做决定」的成本也摆上台面,这道选择题才是完整的。

下一步 接入时守一条纪律:A2A 相关的东西只待在壳里、别渗进业务代码。守住了,「将来换协议」永远是一笔能估量的改造,而不是一次重做。

依据 接入心智模型 · 三种绑定

10来源与核实#sources

本页时效性数字均经联网核实后写入,完整登记见本模块 MANIFEST。核实窗口 2026-07-09 至 07-12。生态数字季度级增长,引用任何数字前先核日期。

来源 ID信源支持什么不能支持什么
src-speca2a-protocol.org 规范 / github.com/a2aproject/A2A releasesv1.0.0(2026-03-12)与 v1.0.1、TaskState 九态、protobuf 权威定义、三绑定后续版本演进
src-lfLinux Foundation 项目公告 / 一周年通稿2025-06 捐赠、150+ 组织、22K+ stars、行业案例 数字持续增长,引用前核日期
src-sdkgithub.com/a2aproject(a2a-python 等)六语言 SDK 与 Python 1.0 实现、Inspector/TCK 工具—
src-cloud三家云官方文档 Azure Foundry / Bedrock AgentCore / Vertex Agent Engine 托管支持 产品名与能力随发布会变
src-ap2AP2 项目公告 支付扩展与 60+ 参与组织扩展仍在早期