01 · 30 秒速览
01 · The 30-Second Overview
A2A 是一个开放标准,让不同厂商、不同框架、不同团队做的 AI Agent 能够互相发现能力、委派任务、交换消息、回传产物。它由 Google 在 2025 年 4 月发布,后来捐给 Linux Foundation 托管,2026 年发布了第一个稳定版 v1.0。
A2A is an open standard that lets AI agents built by different vendors, frameworks, and teams discover each other's capabilities, delegate tasks, exchange messages, and return artifacts. Google announced it in April 2025, later contributed it to the Linux Foundation, and the first stable version, v1.0, shipped in 2026.
MCP 管「Agent 往下连工具」,A2A 管「Agent 往旁边连另一个 Agent」。官方原话是:MCP inside agents, A2A between agents——两者互补,不是二选一。
MCP wires an agent down to its tools; A2A wires an agent sideways to a peer agent. The official phrasing: "MCP inside agents, A2A between agents." They are complementary, not competing.
当前状态(截至 2026-07-29)
Where things stand (as of 2026-07-29)
这些数字来自 Linux Foundation 2026 年 4 月 9 日的一周年新闻稿。技术指导委员会由 AWS、Cisco、Google、IBM Research、Microsoft、Salesforce、SAP、ServiceNow 八家公司的代表组成;微软已把 A2A 集成进 Azure AI Foundry 和 Copilot Studio,AWS 通过 Bedrock AgentCore Runtime 支持。
These figures come from the Linux Foundation's one-year press release dated 9 April 2026. The Technical Steering Committee draws representatives from eight companies — AWS, Cisco, Google, IBM Research, Microsoft, Salesforce, SAP, and ServiceNow. Microsoft has integrated A2A into Azure AI Foundry and Copilot Studio; AWS supports it through Bedrock AgentCore Runtime.
「支持」是一个光谱,不是一个开关。有开发者指出,press release 里的「150+ 组织支持」可能包含从「只是发了个声明」到「真在生产环境跑」的各种程度,真正有意义的指标是生产留存——出过一次真实运维事故之后,团队还愿不愿意继续用。这一点目前公开数据无法回答。(来源:技术博客观点,非官方数据)
"Supported by" is a spectrum, not a switch. Practitioners have pointed out that a "150+ organizations" figure can span everything from a press statement to a real production deployment. The metric that actually matters is production retention — whether teams keep the protocol after their first real operational incident. Public data cannot answer that yet. (Source: a technical blog's assessment, not official data.)
02 · 为什么需要它:MCP 之外缺的那一半
02 · Why It Exists: The Half MCP Doesn't Cover
要理解 A2A,得先承认一个 2025 年的普遍反应:「我们已经有 MCP 了,为什么还要 A2A?」 这个质疑在当时很合理,今天依然值得认真回答——不回答清楚,你就会把 A2A 用错地方。
To understand A2A you first have to take seriously the reaction it got in 2025: "We already have MCP — why do we need A2A?" That was a fair question then and it deserves a real answer now. Skip it and you will end up using A2A in the wrong places.
MCP 能包住的,和包不住的
What MCP can wrap, and what it can't
MCP 的模型是「工具」:服务端暴露 Tools、Resources、Prompts,客户端(也就是 Agent)去调用。问题在于,一个 MCP 工具内部可以藏得很深。比如一个叫 research_company 的工具,内部可能跑了搜索、检索、摘要、排序、写报告一整套流程——从 MCP 客户端看它是个函数,从架构上看它藏了一个 Agent。
MCP's model is the tool: a server exposes Tools, Resources, and Prompts, and a client — the agent — calls them. The catch is that an MCP tool can hide a lot inside. A tool named research_company might internally run search, retrieval, summarization, ranking, and report writing. To the MCP client it is a function call; architecturally it is an agent wearing a function's clothes.
这就是很多人认为 A2A 多余的理由:既然 Agent 可以被包成 MCP 工具,为什么还要单独一个协议?答案是——包得住不等于包得对。当一个系统积累了足够多自己的状态、策略、生命周期和决策权时,把它建模成「一个函数」会让架构变模糊而不是变简单。
That is precisely why some engineers argued A2A was unnecessary: if an agent can be exposed as an MCP tool, why add a protocol? The answer is that being able to wrap something is not the same as wrapping it well. Once a system accumulates enough of its own state, policy, lifecycle, and decision-making authority, modelling it as "a function" obscures the architecture rather than simplifying it.
类比:外包给供应商 vs 使用一台机器。你在公司里用打印机,是「调用工具」——你按下打印,它照做,没有自己的意见和进度。但你把法务审查外包给一家律所,是「委派任务」——对方有自己的流程、自己的资料库、自己的排期,可能中途回来问你要一份补充材料,最后交给你一份报告而不是一个返回值。MCP 是前者,A2A 是后者。
Analogy: hiring a firm vs. operating a machine. Using the office printer is a tool call — you press print, it complies, it has no opinions and no schedule of its own. Outsourcing a legal review to a law firm is a delegation — they have their own process, their own archives, their own queue, they may come back mid-way asking for one more document, and they hand you a report rather than a return value. MCP is the printer. A2A is the law firm.
A2A 给出「一等公民」待遇的那些东西
What A2A promotes to first-class citizens
相比把一切都塞进工具调用,A2A 把下面这些东西显式建模成协议的一部分(以下条目综合自官方文档与社区技术评论):
Instead of squeezing everything into a tool call, A2A models the following explicitly as part of the protocol (this list combines official documentation with community technical commentary):
对方是谁、会什么
通过 Agent Card 公布能力与技能清单,不需要事先硬编码接口。
任务有状态,不是一次调用
submitted → working → 可能需要补充输入 → 完成 / 失败 / 取消。
跑几分钟甚至几小时
轮询、流式、webhook 三种消费方式,不必卡在一个同步请求上。
返回的是 artifact,不是标量
报告、文件、结构化结果,可以分片增量返回。
不需要共享内部记忆
协作方各自保留自己的工具、策略与上下文。
跨越信任边界的委派
签名 Agent Card 提供加密身份验证。
Who is this peer, and what can it do?
Capabilities and skills are published in an Agent Card — no hard-coded interface required in advance.
A task has states; it is not one call
submitted → working → possibly input-required → completed / failed / canceled.
Minutes or hours, not milliseconds
Clients can consume results by polling, streaming, or webhooks instead of blocking one synchronous request.
The result is an artifact, not a scalar
Reports, files, structured outputs — returnable incrementally.
No shared internal memory needed
Each collaborator keeps its own tools, policies, and context private.
Delegation across trust boundaries
Signed Agent Cards provide cryptographic identity verification.
一个东西该建模成工具还是Agent?看它有没有自己的任务生命周期、记忆、策略、产物和转委派行为。计算器、天气 API、一条数据库查询——都是工具,硬包成 Agent 只是加开销。反过来,一个有自己排期、自己权限、自己审计要求的系统,硬塞进一个函数调用背后,也是错的。
Should a thing be modelled as a tool or an agent? Ask whether it has its own task lifecycle, memory, policies, artifacts, and delegation behaviour. A calculator, a weather API, a database query — those are tools, and forcing the agent abstraction on them only adds overhead. Conversely, squeezing a system that has its own queue, permissions, and audit requirements behind a single function call is equally wrong.
一个具体场景
A concrete scenario
设想一个企业助手要出一份「供应商风险报告」。它可能需要把工作分给:采购 Agent、法务审查 Agent、财务 Agent、合规 Agent、市场调研 Agent、报告撰写 Agent。每个都有自己的领域、工具、规则、权限和审计要求。
Picture an enterprise assistant asked to produce a supplier risk report. It may need to delegate to a procurement agent, a legal review agent, a finance agent, a compliance agent, a market research agent, and a report-writing agent — each with its own domain, tools, rules, permissions, and audit requirements.
关键点在于:主助手不应该直接拿到所有采购数据库、法务政策库、财务表格和合规流程的访问权。它应该去问负责的那个 Agent。这既是安全考虑,也是运维考虑——每个专家 Agent 可以被独立拥有、运维、审计和加固,出问题时也更容易定位。
The key point: the primary assistant should not hold direct access to every procurement database, legal policy store, finance spreadsheet, and compliance workflow. It should ask the responsible agent. That is both a security argument and an operational one — each specialist can be owned, operated, audited, and hardened independently, and the whole system is easier to reason about when something breaks.
03 · 四个核心概念
03 · Four Core Concepts
A2A 的概念不多,但每个都要先讲清楚才能往下读。
A2A has few concepts, but each needs to land before the rest makes sense.
① Agent Card(智能体名片)
一份公开的元数据文档,描述这个 Agent 是谁、能做什么(capabilities / skills)、接口在哪、需要什么凭证。技术上是 JSON-LD 格式。
没有它,你只能靠人工文档和硬编码去对接每个 Agent。有了它,一个 Agent 可以在运行时读懂另一个 Agent 的能力。
安全要求写在 Agent Card 里,所以调用方在发起任务之前就知道该带什么凭证。v1.0 新增签名 Agent Card:给名片加密码学签名,接收方可以验证这张名片确实由该域名的所有者签发。
① The Agent Card
A public metadata document describing who an agent is, what it can do (capabilities and skills), where its endpoint lives, and what credentials it expects. Technically a JSON-LD document.
Without it, integrating each agent means human-read docs and hard-coded glue. With it, one agent can read another agent's capabilities at runtime.
Security requirements are declared in the card itself, so a client knows which credentials to present before it attempts a task. v1.0 adds Signed Agent Cards: a cryptographic signature lets the receiver verify the card really was issued by the domain owner.
② Task(任务)
A2A 的基本工作单元。每个 Task 有唯一 ID,并按显式的状态机推进。
把「一次远程调用」升级成「一件有进度、可查询、可取消的工作」。这是 A2A 与「换个包装的函数调用」的本质区别。
据 A2A 规范与社区技术资料,状态包括 submitted、working、input-required、completed、failed、canceled。其中 input-required 是最有意思的一个——它把「做到一半发现缺信息」变成了协议的一部分,而不是一次失败。
② The Task
A2A's fundamental unit of work. Each task carries a unique ID and moves through an explicit state machine.
It upgrades "a remote call" into "a piece of work with progress, queryable state, and a cancel path." This is what separates A2A from a function call in new packaging.
Per the A2A specification and community technical write-ups, states include submitted, working, input-required, completed, failed, and canceled. input-required is the most interesting one — it makes "halfway through and I need more information" a protocol state rather than a failure.
③ Message & Part(消息与消息片段)
Task 执行过程中两个 Agent 来回交换的内容单元。一条 Message 可以由多个 Part 组成(文本、结构化数据、文件等)。
支持多轮交互:不是「发一个请求收一个响应」,而是可以在任务进行中持续沟通。
③ Messages & Parts
The units of content two agents exchange while a task runs. A message can contain multiple parts — text, structured data, files.
It enables multi-turn interaction: not "one request, one response," but ongoing communication while the work is in flight.
④ Artifact(产物)
任务产出的结果对象——一份报告、一个文件、一组结构化数据。
Agent 之间交付的往往不是一个字符串返回值,而是一件成品。Artifact 让「交付物」成为协议里的显式概念,并且可以在任务进行中增量推送。
④ Artifacts
The result object a task produces — a report, a file, a structured dataset.
What agents hand each other is usually a finished deliverable, not a string return value. Artifacts make the deliverable an explicit protocol concept, and they can be streamed incrementally while the task runs.
04 · 一个任务的一生
04 · The Life of a Task
把上面四个概念串起来,一次典型的 A2A 协作长这样:
Chaining those four concepts together, a typical A2A collaboration looks like this:
- 发现调用方读取目标 Agent 的 Agent Card,看它的技能清单、接口地址和认证要求。
- 提交任务按 Agent Card 声明的方式带上凭证,提交一个 Task,拿到任务 ID。
- 订阅进度选择消费方式:轮询查状态、订阅流式更新,或注册 webhook 等对方回调。
- 中途交互如果对方进入
input-required,补充信息后任务继续,而不是重头再来。 - 取回产物任务到达终态后取回 artifact;失败或取消也是明确的终态,不是超时后的沉默。
- Discover The client fetches the target agent's Agent Card and reads its skills, endpoint, and authentication requirements.
- Submit the task Present the credentials the card declared, submit a task, and receive a task ID.
- Subscribe to progress Choose how to consume updates: poll for state, subscribe to a stream, or register a webhook for callbacks.
- Interact mid-flight If the peer enters
input-required, supply what is missing and the task continues rather than restarting. - Collect the artifact Retrieve the artifact once the task reaches a terminal state. Failure and cancellation are explicit terminal states too — not silence after a timeout.
input-required 双向箭头是这套设计的精髓:中途缺信息不是失败,而是一个可以回来的状态。input-required arrow is the heart of the design: missing information mid-task is a state you can return from, not a failure.传输层长什么样
What the wire looks like
官方 v1.0 公告说明,A2A 建立在业界成熟协议之上:JSON+HTTP、gRPC 和 JSON-RPC;最简单的一次 A2A 交互可以就是一个 HTTP 请求。结果消费方式有三种:轮询(polling)、流式(streaming)、webhook。
The official v1.0 announcement states that A2A builds on industry-proven protocols — JSON+HTTP, gRPC, and JSON-RPC — and that in its simplest form an A2A interaction can begin with a single HTTP request. Clients can consume results by polling, streaming, or webhooks.
网上大量教程里出现的 tasks/send、tasks/sendSubscribe、tasks/get、tasks/cancel 这组 JSON-RPC 方法名,以及 SSE 流里的 TaskStatusUpdateEvent / TaskArtifactUpdateEvent,来自 v0.x 时期的规范与教程。官方 v1.0 公告明确写着:「v1.0 收紧了规范行为,其中包括交互协议层面的破坏性变更」。所以这些方法名请当作「理解模型」而不是「照抄的 API」——真正写代码前务必以 a2a-protocol.org 当前规范为准。
The JSON-RPC method names that circulate widely in tutorials — tasks/send, tasks/sendSubscribe, tasks/get, tasks/cancel — along with the SSE event types TaskStatusUpdateEvent and TaskArtifactUpdateEvent, come from v0.x-era specs and tutorials. The official v1.0 announcement states plainly that "the v1.0 release tightens specification behavior, which includes breaking changes in the interaction protocol." Treat those names as a mental model, not as an API to copy. Before writing code, check the current specification at a2a-protocol.org.
换个说法:为什么「有状态的任务」这么重要
普通 HTTP API 的心智模型是「问一句,答一句」。但 Agent 干的活经常要几分钟到几小时,中间还可能需要回头问你一句。如果只有请求-响应,你就只能靠超时、重试和自己在应用层维护一张任务表来凑合。A2A 把这张任务表标准化了——任务 ID、状态、进度事件、终态标记都由协议定义,这样不同厂商的 Agent 才可能真的互相接得上。
Put another way: why stateful tasks matter
An ordinary HTTP API has a "ask once, answer once" mental model. But agent work often takes minutes to hours and may need to come back with a question mid-way. With only request/response, you are left improvising with timeouts, retries, and a hand-rolled task table in your application. A2A standardizes that table — task IDs, states, progress events, terminal markers are all defined by the protocol, which is what makes agents from different vendors actually connectable.
05 · v1.0 改了什么(以及为什么方向和 MCP 一样)
05 · What v1.0 Changed (and Why It Points the Same Way as MCP)
官方给 v1.0 的定调是「成熟而非重造」:核心想法不变,把粗糙的地方磨平、把含糊的地方讲清、把企业部署要求正面回应掉。具体有四块:
The official framing for v1.0 is "maturity rather than reinvention": the core ideas stay, rough edges get removed, ambiguous areas get clarified, and enterprise deployment requirements get addressed directly. Four things concretely:
多协议绑定 + 版本协商
让不同技术栈之间可互操作,企业不被绑死在单一厂商或平台上。
一个端点承载多个 Agent
单一 endpoint 安全地托管多个 Agent,运维成本大幅下降。
Signed Agent Cards
加密验证 Agent 身份与元数据,跨组织边界交互之前先建立信任。
清理不合时宜的旧模式
现代化安全流程,移除已不符合当前最佳实践的遗留做法。
Multi-protocol bindings + version negotiation
Interoperability across diverse stacks, so enterprises are not tied to a single vendor or platform.
One endpoint, many agents
A single endpoint can securely host many agents, cutting operational overhead sharply.
Signed Agent Cards
Cryptographic verification of agent identity and metadata, establishing trust before interaction across organizational boundaries.
Legacy patterns removed
Modernized security flows, dropping patterns no longer aligned with current best practice.
「Web 对齐」是今天最值得注意的一句
"Web-aligned" is the phrase worth noticing today
官方公告用了一个词:web-aligned architecture——无状态、分层架构、标准协议绑定、对基础设施友好的通信模式。理由很实在:这样组织就能用他们已经在用的那套负载均衡、网关、安全和可观测性手段来扩展 Agent 交互,不用为 Agent 单造一套。
The official announcement uses the phrase web-aligned architecture — stateless, layered, standard protocol bindings, infrastructure-friendly communication patterns. The rationale is concrete: organizations can then scale agent interactions using the same proven load balancing, gateway, security, and observability patterns they already run for web systems, instead of inventing a parallel stack for agents.
就在今天(2026-07-28 规范、2026-07-29 生效讨论正热),MCP 发布了上线以来最大的一次变更——把协议从「双向有状态」改成请求/响应无状态,让 MCP server 能部署到 serverless 和边缘,并加入基于 header 的路由、可缓存的 list 结果。这与 A2A v1.0 在 4 月就完成的「Web 对齐、无状态分层」是同一个工程直觉:让 Agent 基础设施长得像普通 Web 基础设施,这样二十年的运维经验才能复用。
This week MCP shipped its largest change since launch — moving from a bidirectional stateful protocol to a stateless request/response model, so MCP servers can deploy on serverless and edge infrastructure, with header-based routing and cacheable list results added. That is the same engineering instinct A2A acted on back in April with its "web-aligned, stateless, layered" v1.0: make agent infrastructure look like ordinary web infrastructure, so twenty years of operational know-how transfers.
迁移:破坏性变更,但留了缓冲
Migration: breaking, but cushioned
v1.0 在交互协议层面有破坏性变更,但 AgentCard 是向后兼容演进的——一个 Agent 可以同时声明支持 v0.3 行为和 v1.0 行为,这样客户端可以渐进迁移,不必一次性切换。官方说这是为了「保护现有投入的同时交付一个更干净、更持久的标准」。
v1.0 introduces breaking changes at the interaction-protocol level, but the AgentCard evolved in a backward-compatible way — an agent can advertise support for both v0.3 behaviour and v1.0 simultaneously, so clients can migrate progressively rather than through a single cutover. The stated intent is to "protect current investments while still delivering the benefits of a cleaner, more durable standard."
v1.0.1 的扩展机制
The extension mechanism in v1.0.1
2026 年 5 月的 v1.0.1 引入了扩展机制,支持添加「新数据、新要求、新 RPC 方法和新状态机」。截至该论文调研时,官方示例扩展有四个:Secure Passport、Timestamp、Traceability、Agent Gateway Protocol。
v1.0.1, released in May 2026, introduced an extension mechanism supporting "new data, requirements, RPC methods, and state machines." As of the survey paper's research window, four official example extensions existed: Secure Passport, Timestamp, Traceability, and Agent Gateway Protocol.
来源:arXiv 2606.31498 对 A2A v1.0.1 规范的分析(2026-06-30)。
Source: the analysis of the A2A v1.0.1 specification in arXiv 2606.31498 (30 June 2026).
生态:不只是协议文本
The ecosystem: more than a spec document
- 云平台:微软把 A2A 集成进 Azure AI Foundry 与 Copilot Studio;AWS 通过 Amazon Bedrock AgentCore Runtime 支持。
- 框架:LangGraph、CrewAI 等不同平台上的 Agent 可以互相委派子任务、协调复杂工作流,而不需要共享内部记忆——这句是官方新闻稿的原话,也正是 A2A 价值的精确表述。
- 行业落地:官方称已在供应链、金融服务、保险、IT 运维等垂直领域投入生产使用。
- 经济层:Agent Payments Protocol(AP2)把 A2A 从「通信」延伸到「交易」,官方称支付与金融领域已有 60+ 组织支持。
- 路线图:互操作性规范、注册表(registry)工作的整合、测试与工具链扩展、安全与部署最佳实践。
- Cloud platforms: Microsoft integrated A2A into Azure AI Foundry and Copilot Studio; AWS added support through Amazon Bedrock AgentCore Runtime.
- Frameworks: agents built on different platforms such as LangGraph and CrewAI can delegate sub-tasks and coordinate complex workflows without sharing internal memory — that is the press release's own phrasing, and it captures the value precisely.
- Verticals: the Linux Foundation reports production deployments in supply chain, financial services, insurance, and IT operations.
- Economic layer: the Agent Payments Protocol (AP2) extends A2A from communication into transactions, with 60+ organizations across payments and financial services reported as supporting the initiative.
- Roadmap: an interoperability specification, consolidation of registry efforts, expanded testing and tooling, plus security and deployment best practices.
06 · A2A vs MCP:分层,不是对立
06 · A2A vs MCP: Layers, Not Rivals
「A2A 和 MCP 谁赢」是最常见也最没用的问题。官方 v1.0 公告专门辟了一节澄清:MCP 和 A2A 解决的是问题的不同层次,实践中很多系统两个都用——MCP inside agents, A2A between agents。
"A2A versus MCP, who wins" is the most common and least useful question. The official v1.0 announcement devotes a section to clearing it up: MCP and A2A solve different layers of the problem, and in practice many systems use both — MCP inside agents, A2A between agents.
| 维度 | MCP | A2A |
|---|---|---|
| 回答的核心问题 | 一个 Agent 能做什么? | 哪个 Agent 来处理这个任务? |
| 连接方向 | 向下:Agent → 工具 / 数据源 | 横向:Agent → 对等 Agent |
| 核心原语 | Tools、Resources、Prompts | Agent Card、Task、Message、Artifact |
| 交互形态 | 调用 → 返回 | 委派 → 状态机 → 产物 |
| 对方是否透明 | 工具的 schema 是公开契约 | 对等 Agent 内部实现可以完全不透明 |
| 治理归属 | Agentic AI Foundation(Linux Foundation) | Linux Foundation A2A 项目 |
| 规模参考 | 官方称已破 4 亿次月度 SDK 下载(2026-07 数据) | 150+ 支持组织、22k+ star(2026-04 数据) |
| Dimension | MCP | A2A |
|---|---|---|
| Core question answered | What can an agent do? | Which agent handles this task? |
| Direction of the link | Downward: agent → tools and data | Sideways: agent → peer agent |
| Core primitives | Tools, Resources, Prompts | Agent Card, Task, Message, Artifact |
| Interaction shape | Call → return | Delegate → state machine → artifact |
| Peer transparency | The tool schema is a public contract | A peer agent's internals can be fully opaque |
| Governance home | Agentic AI Foundation (Linux Foundation) | Linux Foundation A2A project |
| Scale reference | Reported to have passed 400M monthly SDK downloads (July 2026) | 150+ supporting organizations, 22k+ stars (April 2026) |
错误一:把所有能力都做成 Agent。计算器不需要是 Agent,天气 API 不需要是 Agent,一条数据库查询也不需要。对没有自主性、没有状态、没有生命周期的东西套 Agent 抽象,只增加开销不增加清晰度。
错误二:把一个完整的 Agent 藏在一个工具后面。如果这个「工具」有自己的任务生命周期、记忆、策略、产物和转委派行为,那它其实该被建模成 Agent,而不是挤进一个函数调用的边界里。
Mistake one: turning every capability into an agent. A calculator does not need to be an agent. Neither does a weather API or a database query. Applying the agent abstraction to components with no real autonomy, state, or lifecycle adds overhead without adding clarity.
Mistake two: hiding a full agent behind one tool. If a "tool" has its own task lifecycle, memory, policies, artifacts, and delegation behaviour, it probably deserves to be modelled as an agent instead of being squeezed behind a function-call boundary.
上述两条来自技术博客的实践总结(glukhov.org,2026-06-24),属社区观点而非官方规范。
Both points come from a practitioner blog's field notes (glukhov.org, 24 June 2026) — community assessment, not official spec.
还有哪些同类协议
Other protocols in the same space
A2A 不是唯一一个,学术界目前把主要的五个放在一起比较:
A2A is not alone; the literature currently compares five major approaches side by side:
| 协议 | 侧重 | 回答的问题 |
|---|---|---|
| MCP(Anthropic,2024 末) | 工具访问 | 一个 Agent 能做什么? |
| A2A(Google → Linux Foundation) | 任务委派 | 哪个 Agent 处理这个任务? |
| ACP(IBM Research) | 结构化通信 | Agent 之间怎么交换消息?(带 propose/accept/reject/counter 的协商语义) |
| ANP(社区) | 网络路由 | 消息怎么在 Agent 网络里找到对的接收方?(基于 W3C DID) |
| ERC-8004(以太坊 EIP,草案) | 信任 | 哪些 Agent 可信?(链上身份 / 声誉 / 验证三个注册表) |
| Protocol | Focus | Question it answers |
|---|---|---|
| MCP (Anthropic, late 2024) | Tool access | What can an agent do? |
| A2A (Google → Linux Foundation) | Delegation | Which agent handles this task? |
| ACP (IBM Research) | Communication | How do agents exchange messages? (negotiation semantics: propose / accept / reject / counter) |
| ANP (community) | Routing | How do messages reach the right agent across a network? (built on W3C DIDs) |
| ERC-8004 (Ethereum EIP, draft) | Trust | Which agents can be trusted? (on-chain identity / reputation / validation registries) |
分类来源:arXiv 2606.31498(2026-06-30)表 I。
Taxonomy source: arXiv 2606.31498 (30 June 2026), Table I.
07 · 什么时候该用,什么时候别用
07 · When to Use It, and When Not To
这一节是本文最有实用价值的部分。协议不是免费的——它带来新的概念、新的失败模式、新的调试成本、新的安全面和新的运维工作。
This is the most practically useful part of the document. A protocol is not free: it brings new concepts, new failure modes, new debugging overhead, a new security surface, and new operational work.
✅ 该考虑 A2A 的信号
Agent 独立部署;由不同团队拥有;用不同框架构建;由外部厂商提供;有自己的工具与权限;负责长时间运行的任务;返回的是产物而非简单值;是更大的多 Agent 工作流的一环。
⛔ 说明你还不需要
只有一个 Agent;所有组件在同一个代码库里;工作流短且同步;不需要发现机制;不需要独立的任务状态;没有第三方 Agent;一个 API 或队列更简单;团队没有余力承担额外复杂度。
✅ Signals you should consider A2A
Agents are independently deployed; owned by different teams; built with different frameworks; exposed by vendors; running with their own tools and permissions; responsible for long-running tasks; returning artifacts rather than simple values; part of a broader multi-agent workflow.
⛔ Signals you don't need it yet
There is only one agent; all components live in one codebase; workflows are short and synchronous; no discovery needed; no independent task state; no external agent providers; an API or a queue would be simpler; the team cannot operate the extra complexity.
有开发者用了一个很准的说法:在小系统里引入 A2A 是架构 cosplay——借用了分布式 Agent 系统的词汇,却没有任何让这个协议真正有价值的边界问题。如果你在做一个本地编码助手、一个文档问答机器人、一个调用几个工具的内部自动化,你需要的大概率是:MCP、好的工具 schema、护栏、评测、日志、成本控制、重试逻辑、更好的提示词和更好的检索——而不是一个 Agent 间协议。
One practitioner coined a sharp phrase for adopting A2A in a small system: architecture cosplay — borrowing the vocabulary of distributed agent systems without any of the boundary problems that make the protocol valuable. If you are building a local coding assistant, a docs chatbot, or an internal automation that calls a handful of tools, what you most likely need is MCP, good tool schemas, guardrails, evaluation, logging, cost control, retry logic, better prompts and better retrieval — not an agent-to-agent protocol.
最现实的近期场景:企业内部 Agent 网络
The most realistic near-term use case: internal enterprise agent networks
开放的公共「Agent 市场」是最吸引人的长期叙事,但它需要的远不止 Agent Card——还要身份、声誉、计费、合规、沙箱、版本管理、责任划分和争议解决。缺了这些,Agent 市场就是一起等着发生的安全事故。
A public "agent marketplace" is the most seductive long-term story, but it needs far more than Agent Cards — identity, reputation, billing, compliance, sandboxing, versioning, liability, and dispute resolution. Without those, an agent marketplace is a security incident waiting to happen.
更现实的是企业内部:大组织本来就有团队、部门、系统、供应商、数据域、合规区、安全策略、审批流程这些边界。与其造一个能直接访问一切的巨型助手,不如做一组职责受限的专家 Agent——HR、财务、客服、DevOps、安全、知识管理、数据平台——每个自己管自己的工具和策略,彼此之间通过 A2A 交互。这从安全和运维两个角度都更好。
Internal enterprise networks are the realistic near-term case. Large organizations already have boundaries — teams, departments, systems, vendors, data domains, compliance zones, security policies, approval processes. Rather than one giant assistant with direct access to everything, build a set of specialists with limited responsibility — HR, finance, support, DevOps, security, knowledge management, data platform — each owning its tools and policies internally and interacting through A2A. That is better both from a security standpoint and an operational one.
08 · 常见坑与未解问题
08 · Pitfalls and Open Problems
坑一:安全是最大的未解问题
Pitfall 1: security is the biggest unresolved question
A2A 最难的部分不是语法和规范,而是信任——当你真的把自主 Agent 跨组织或跨系统边界部署时冒出来的一堆问题:
A2A's hardest problems are not syntax or specification problems. They are trust problems that surface once you actually deploy autonomous agents across organizational or system boundaries:
- 这个 Agent 是谁?谁拥有它?
- 它被允许知道什么?被允许做什么?
- 它能不能把工作再转委派出去?
- 它能不能代表用户调用工具?能不能保持用户的原始意图不被篡改?
- 事后能不能证明发生了什么?能不能被审计?
- Who is this agent, and who owns it?
- What is it allowed to know? What is it allowed to do?
- Can it delegate the work further?
- Can it call tools on behalf of a user, and can it preserve the user's original intent?
- Can it prove what happened afterwards? Can it be audited?
恶意 Agent 可能虚报能力;被攻陷的 Agent 可能索要敏感上下文;委派出去的任务可能超出用户本身的权限;返回的 artifact 可能被投毒;一条 Agent 链条可能让责任归属变得模糊;敏感数据可能在没有恰当日志的情况下跨边界流动。
A2A 本身不是安全架构,它是一个必须被部署进安全架构里的通信协议。每一个它跨越的边界,都需要你显式决定身份、授权、审计和策略执行怎么做。
A malicious agent could misrepresent its capabilities. A compromised agent could request sensitive context. A delegated task could exceed the user's own authority. A returned artifact could be poisoned. A chain of agents could make accountability unclear. Sensitive data could cross boundaries without proper logging.
A2A is not a security architecture by itself; it is a communication protocol that must be deployed inside one. Every boundary it crosses requires an explicit decision about identity, authorization, audit, and policy enforcement.
配套需要的东西(社区总结):强 Agent 身份、范围化授权、任务级审计日志、委派链追踪、高风险动作的人工批准、artifact 溯源、限流、策略执行、跨 Agent 边界的可观测性。
What has to surround it (community synthesis): strong agent identity, scoped authorization, task-level audit logs, delegation tracking, human approval for risky actions, artifact provenance, rate limits, policy enforcement, and observability that spans agent boundaries.
本周 Reuters 还原的 OpenAI Agent 入侵 Hugging Face 时间线显示:入侵持续 7 月 11–13 日,而 OpenAI 直到数日后才意识到是自家 agent 所为,两家公司约 7 月 20 日才沟通——距事发约 9 天。受害方 Hugging Face 独立检测、遏制并报案 FBI 时,攻击方还不知道攻击者是自己。这个 9 天的检测盲区,正是「跨 Agent 边界的可观测性」为什么不是可选项的最好注脚。
Reuters' reconstruction of the OpenAI agent intrusion at Hugging Face shows the breach ran 11–13 July, that OpenAI did not realize its own agent was responsible until several days later, and that the two companies did not communicate until around 20 July — roughly nine days after it began. Hugging Face detected, contained, and reported it to the FBI while the originating lab still did not know the attacker was its own system. That nine-day detection gap is the sharpest available argument for why cross-agent-boundary observability is not optional.
坑二:没有 trace,多 Agent 系统无法调试
Pitfall 2: without traces, multi-agent systems can't be debugged
多 Agent 系统如果没有分布式追踪,调试会变成考古——只能靠推断复原发生了什么,而不是靠观测。你需要知道:哪个 Agent 收到了任务、交换了哪些消息、调用了哪些工具、产出了哪些 artifact、应用了哪些策略、最终是哪个 Agent 做的决定。
A multi-agent system without traces turns debugging into archaeology — reconstructing what happened by inference rather than observation. You need to know which agent received the task, which messages were exchanged, which tools were called, which artifacts were produced, which policies were applied, and which agent made the final call.
坑三:把「支持」当成「在用」
Pitfall 3: mistaking "supports" for "uses"
采纳程度是有层级的,从弱到强:logo 采纳(公司声明支持,可能只是战略站位)→ SDK 采纳(有可用的库、示例、文档,开发者真能上手)→ 平台采纳(云厂商、框架、企业系统提供原生支持)→ 生产留存(团队在首次真实运维事故之后依然继续用)。只有最后一层对生态健康有决定意义,而它恰恰是最难从新闻稿里读出来的。
Adoption comes in tiers, weakest to strongest: logo adoption (a company states support, which may be strategic positioning) → SDK adoption (usable libraries, examples, docs, so developers can actually build) → platform adoption (clouds, frameworks, and enterprise systems expose native support) → production retention (teams keep it after their first real operational incident). Only the last tier really determines ecosystem health, and it is precisely the tier a press release cannot tell you about.
坑四:因为「听起来有战略高度」而采用
Pitfall 4: adopting it because it sounds strategic
这是典型的企业架构陷阱。A2A 应该解决架构里真实存在的边界问题,而不是为了给协议选型找个理由而发明一个边界。没有独立部署、没有独立所有权、没有独立安全域,就没有真实边界,也就不需要 A2A。
This is the classic enterprise-architecture trap. A2A should solve a boundary problem that genuinely exists in the architecture, not one invented to justify the protocol choice. No independent deployment, no separate ownership, no distinct security perimeter means no real boundary — and therefore no need for A2A.
换个说法:怎么判断自己是不是在 cosplay
问自己一个问题:如果我把这个「Agent」换成一个普通的内部 HTTP 服务,我会失去什么?如果答案是「没什么,反而更简单」,那你不需要 A2A。如果答案是「我会失去运行时发现能力、失去跨厂商互通、失去任务状态机、失去跨组织的身份验证」,那 A2A 在替你解决真问题。
Put another way: how to tell if you're cosplaying
Ask yourself one question: if I replaced this "agent" with an ordinary internal HTTP service, what would I lose? If the answer is "nothing — it would be simpler," you do not need A2A. If the answer is "runtime discovery, cross-vendor interoperability, a task state machine, identity verification across organizations," then A2A is solving a real problem for you.
09 · 治理缺口:所有协议共同缺的那一层
09 · The Governance Gap: The Layer Every Protocol Is Missing
这一节来自今天读到的一篇论文:arXiv 2606.31498《Governance Gaps in Agent Interoperability Protocols: What MCP, A2A, and ACP Cannot Express》(2026-06-30 提交,cs.MA)。它是目前对 A2A 最有价值的冷静评估之一,因为它不问「协议好不好用」,而问一个更根本的问题:这些协议能不能支撑「受治理的 Agent 社群」,还是只能支撑「面向任务的协调」?
This section draws on a paper published in the last month: arXiv 2606.31498, "Governance Gaps in Agent Interoperability Protocols: What MCP, A2A, and ACP Cannot Express" (submitted 30 June 2026, cs.MA). It is among the most valuable sober assessments of A2A available, because it does not ask whether the protocol is pleasant to use. It asks something more fundamental: can these protocols support governed agent communities, or only task-oriented coordination?
当一家银行必须决定「自主编码 Agent 该不该修改生产系统」,当一家药企必须在相互竞争的研究假设之间仲裁,当监管机构必须判断某个 AI 系统是否达标——问的都不是「哪个 Agent 能干这活」,而是「这些 Agent 应该如何集体决定该相信什么、该测试什么、该做什么」。前者是协调,后者是治理。
When a bank must decide whether autonomous coding agents should modify production systems, when a pharmaceutical company must arbitrate between competing research hypotheses, when a regulator must judge whether an AI system meets a compliance threshold — the question is never "which agent can perform this task?" It is "how should agents collectively decide what to believe, test, or do?" The first is coordination; the second is governance.
六个治理维度
Six governance dimensions
缺口矩阵
The gap matrix
| 协议 | G1 成员 | G2 审议 | G3 投票 | G4 异议 | G5 人工升级 | G6 审计 | 覆盖率 |
|---|---|---|---|---|---|---|---|
| MCP v1.1 | 缺失 | 缺失 | 缺失 | 缺失 | 缺失 | 部分 | 1/12 |
| A2A v1.0.1 | 部分 | 缺失 | 缺失 | 缺失 | 缺失 | 缺失 | 1/12 |
| ACP | 部分 | 部分 | 缺失 | 缺失 | 缺失 | 缺失 | 2/12 |
| ANP | 缺失 | 缺失 | 缺失 | 缺失 | 缺失 | 缺失 | 0/12 |
| ERC-8004 | 部分 | 缺失 | 缺失 | 缺失 | 缺失 | 部分 | 2/12 |
| Protocol | G1 Membership | G2 Deliberation | G3 Voting | G4 Dissent | G5 Human esc. | G6 Audit | Coverage |
|---|---|---|---|---|---|---|---|
| MCP v1.1 | Absent | Absent | Absent | Absent | Absent | Partial | 1/12 |
| A2A v1.0.1 | Partial | Absent | Absent | Absent | Absent | Absent | 1/12 |
| ACP | Partial | Partial | Absent | Absent | Absent | Absent | 2/12 |
| ANP | Absent | Absent | Absent | Absent | Absent | Absent | 0/12 |
| ERC-8004 | Partial | Absent | Absent | Absent | Absent | Partial | 2/12 |
评分规则:Supported = 2 分,Partial = 1 分,Absent = 0 分,满分 12(6 维 × 2 分)。来源:arXiv 2606.31498 表 III。
Scoring: Supported = 2, Partial = 1, Absent = 0; maximum 12 (6 dimensions × 2 points). Source: arXiv 2606.31498, Table III.
对 A2A 具体的判定
The specific verdict on A2A
- G1 成员资格 = 部分:Agent Card 可以声明能力并注册进目录,扩展机制也支持新状态机;但协议本身没有准入、邀请、移除原语——一个 Agent 靠「发布了 Agent Card」而存在,不存在区别于「存在」的「社群成员身份」概念。
- G2 审议 = 缺失:A2A 支持任务委派和消息交换,但消息是面向任务的,不是带质询/回应语义的结构化论证。
- G3 投票 / G4 异议 / G5 人工升级 = 全部缺失:四个官方示例扩展一个都没编码这些。任务可以委派给一个「由人支撑的 Agent」,但那是路由,不是带触发条件的治理升级。
- G6 审计 = 缺失:Traceability 扩展加了用于分布式追踪的关联 ID,但没有定义防篡改日志或回放语义。
- G1 Membership = Partial. Agent Cards declare capabilities and can be registered in directories, and the extension mechanism supports new state machines. But there is no protocol-native admission, invitation, or removal primitive — an agent "exists" by publishing a card, and there is no notion of community membership distinct from existence.
- G2 Deliberation = Absent. A2A supports task delegation and message exchange, but messages are task-oriented, not structured argumentation with challenge/response semantics.
- G3 Voting / G4 Dissent / G5 Human escalation = all Absent. None of the four official extensions encodes them. A task can be delegated to a human-backed agent, but that is routing, not governance escalation with trigger conditions.
- G6 Audit = Absent. The Traceability extension adds correlation IDs for distributed tracing, but defines neither tamper-evident logs nor replay semantics.
投票、异议保留、人工升级——无论协议是工具中心、委派中心、通信中心、路由中心还是信任中心,一个都没有。作者认为这种「普遍性缺失」说明它反映的是一种共同的设计哲学(把 Agent 当作任务执行者而非社群参与者),而不是某个协议的个别疏漏。
Voting, dissent preservation, and human escalation — absent everywhere, regardless of whether the protocol is tool-centric, delegation-centric, communication-centric, routing-centric, or trust-centric. The authors argue this universality indicates a shared design philosophy (treating agents as task workers rather than community participants) rather than an oversight in any one protocol.
这个缺口会被补上吗
Will the gap close?
论文的判断有意思:A2A 的扩展机制理论上完全可以定义 G1–G6 这些治理原语——「但关键观察是:没有人这么做过」。作者指出,在 A2A 公开可用 6 个多月、扩展生态活跃的情况下,零个治理扩展被提出或实现。相较之下,MCP 的客户端-服务端架构是工具中心的,加社群治理会要求 Agent 在治理语境下同时充当客户端和服务端——这不是协议设计时考虑的用法。
The paper's assessment is pointed: A2A's extension mechanism could in principle define G1–G6 as extensions — "the key observation: no one has done so." The authors note that after 6+ months of public availability with an active extension ecosystem, zero governance extensions have been proposed or implemented. MCP, by contrast, is structurally awkward for this: its client-server architecture is tool-centric, and adding community governance would require agents to act as both client and server simultaneously in a governance context — a usage pattern the protocol was not designed for.
作者按观察到的协议演进速度估计,这个缺口可能在 6–12 个月内通过扩展机制显著收窄(尤其是通过 A2A 的扩展机制),并据此呼吁研究界抓紧提出治理层设计——「在事实标准通过临时实现自发形成之前」。
Based on observed protocol evolution velocity, the authors estimate the gap could narrow significantly within 6–12 months through extensions, particularly A2A's — and they urge the research community to propose governance-layer designs "before the space fragments into incompatible application-layer solutions."
如果你现在要建一个需要「多个 Agent 集体做决定并留痕」的系统——比如合规审查、风险评估、多方仲裁——不要指望协议帮你做这件事。投票、异议保留、人工升级、防篡改审计这四件事,今天必须在应用层自己实现。协议能帮你把这些消息传输过去(作为不透明的负载),但无法理解、校验或执行它们的治理语义。
If you are building a system where multiple agents must reach a collective decision with a defensible record — compliance review, risk assessment, multi-party arbitration — do not expect the protocol to do that for you. Voting, dissent preservation, human escalation, and tamper-evident audit have to be implemented at the application layer today. The protocol can transport those messages as opaque payloads; it cannot interpret, validate, or enforce their governance semantics.
论文另附一个部署侧观察:AWS Bedrock AgentCore(已 GA,15 个区域)提供了带语义搜索的生产 Agent 注册表、A2A Agent Card、基于 Cedar 的授权、生命周期管理和 CloudTrail 审计,但同样没有编码信任评分、行为声誉、能力验证或治理原语。论文引用的数据还包括:AWS 报告 AgentCore 客户在一年内扩展到 17 个生产 Agent。
The paper adds a deployment-side observation: AWS Bedrock AgentCore (GA, 15 regions) provides a production agent registry with semantic search, A2A Agent Cards, Cedar-based authorization, lifecycle management, and CloudTrail audit — yet still encodes no trust scoring, behavioural reputation, capability verification, or governance primitives. It also cites AWS reporting AgentCore customers scaling to 17 production agents within a year.
10 · 学习资源与来源清单
10 · Resources and Sources
官方入口(一手来源,优先看这些)
Official entry points (first-party; start here)
- a2a-protocol.org — 官方文档站,含「What is A2A」「A2A and MCP」「Core Concepts」「Life of a Task」「Agent Discovery」「Enterprise Features」「Streaming & Async」「Multi-Tenancy」等主题页
- 规范总览 与 What's New in v1.0 — 写代码前必读(v1.0 有破坏性变更)
- 扩展机制文档 与 扩展与绑定治理
- Python Quickstart 教程 — 从 Agent Skills & Agent Card 到流式与多轮,共 8 节
- github.com/a2aproject/A2A — 核心仓库(22k+ star)
- 路线图 — 互操作性规范、registry 整合、测试工具、安全与部署最佳实践
- DeepLearning.AI 短课程:A2A: The Agent2Agent Protocol(官方在新闻稿中推荐,免费)
- ap2-protocol.org — Agent Payments Protocol
- a2a-protocol.org — the official docs site, with topic pages for "What is A2A," "A2A and MCP," "Core Concepts," "Life of a Task," "Agent Discovery," "Enterprise Features," "Streaming & Async," and "Multi-Tenancy"
- Specification overview and What's New in v1.0 — required reading before writing code, since v1.0 carries breaking changes
- Extensions documentation and Extension & Binding Governance
- Python quickstart tutorial — eight parts, from Agent Skills & Agent Card through streaming and multi-turn
- github.com/a2aproject/A2A — the core repository (22k+ stars)
- Roadmap — interoperability spec, registry consolidation, testing and tooling, security and deployment best practices
- DeepLearning.AI short course: A2A — The Agent2Agent Protocol (recommended in the official press release; free)
- ap2-protocol.org — the Agent Payments Protocol
① 具名的生产案例。官方新闻稿称已在供应链、金融服务、保险、IT 运维投入生产,但公开的、可核实的具名案例(哪家公司、什么场景、什么效果)在本次调研中没有找到。② 当前 v1.0 的具体 API 形态。本文的方法名与事件类型来自 v0.x 时期资料,官方明确说 v1.0 有破坏性变更,故未在文中给出可直接照抄的代码示例——查不到当前确切写法就不编。
1. Named production case studies. The official press release cites production use in supply chain, financial services, insurance, and IT operations, but no public, verifiable named case (which company, what workflow, what outcome) surfaced in this research. 2. The exact shape of the v1.0 API. The method names and event types referenced here come from v0.x-era material, and the project states plainly that v1.0 introduces breaking changes — so no copy-pasteable code sample is offered. Where the current form could not be verified, nothing was invented.
带走这五句
- 分层,不是对立。MCP 在下(Agent↔工具),A2A 在上(Agent↔Agent);严肃的多 Agent 系统两个都用。
- A2A 的核心不是「换个包装的函数调用」,而是任务生命周期。Agent Card 发现、Task 状态机、Message 多轮、Artifact 交付,这四件事才是它存在的理由。
- v1.0 的方向是「像 Web 一样」。无状态、分层、标准绑定——和今天 MCP 2026-07-28 的无状态化是同一个工程直觉。
- 没有真实边界就别上。独立部署、独立所有权、独立安全域,三者都没有,A2A 就是架构 cosplay。
- 治理不在协议里。投票、异议保留、人工升级、防篡改审计——五个主流互操作协议一个都没编码,今天必须自己在应用层做。
Five things to take away
- Layers, not rivals. MCP sits below (agent↔tool), A2A above (agent↔agent); serious multi-agent systems run both.
- A2A is not a function call in new packaging — it is a task lifecycle. Agent Card discovery, the task state machine, multi-turn messages, and artifact delivery are the reason it exists.
- v1.0's direction is "look like the web." Stateless, layered, standard bindings — the same engineering instinct behind this week's MCP 2026-07-28 move to a stateless core.
- No real boundary, no A2A. Without independent deployment, separate ownership, and a distinct security perimeter, adopting it is architecture cosplay.
- Governance is not in the protocol. Voting, dissent preservation, human escalation, tamper-evident audit — none of the five major interoperability protocols encodes them, so today they must be built at the application layer.
主页