🔗免费

A2A vs MCP:agent 之间通信 vs 模型对工具的访问

2026-07-30 · 约 4 分钟

目录

  1. 1.两个协议,两个层
  2. 2.MCP 用在哪
  3. 3.A2A 用在哪
  4. 4.你到底需要哪个

两个协议,两个层

MCP(模型上下文协议)规范的是单个模型或 agent 如何去够到工具和数据。它是「一个 agent」和「它使用的能力」之间那一层:数据库、API、文件系统。

A2A(agent-to-agent)规范的是彼此独立、各自构建的 agent 如何通信和相互委派。它是「agent 与 agent」之间那一层,让一个排程 agent 把任务交给一个研究 agent,而这两个不是同一个团队一起建的。

所以它们不是替代关系。MCP 回答「我的 agent 怎么用工具」;A2A 回答「我的 agent 怎么和你的 agent 对话」。一个复杂系统两个都用:每个 agent 用 MCP 够到自己的工具,用 A2A 和同伴协调。

MCP 用在哪

如果你在建一个 agent、想给它访问你系统的能力,MCP 就是你要的。agent 仍是单个实体;MCP 是它能触及的一切的接线。绝大多数「把我的 AI 连到 X」的问题是 MCP 问题,不是 A2A 问题。

MCP 假定的是客户端-服务端形态:你的 agent 是客户端,每个工具是服务端。它不试图协调多个自主 agent——那是刻意排除在范围外的,这也是协议能保持简单、从而被广泛采用的部分原因。

A2A 用在哪

当你有多个并非作为一个系统设计、却需要互操作的 agent 时——往往还跨组织边界——A2A 才变得相关。它的活是发现、能力协商、以及把彼此当黑盒的对等方之间的消息传递。

这确实比工具访问难得多,牵扯身份、信任、以及不共享代码库的各方之间的长任务。它的采用也比 MCP 早得多,所以如果你不确定需要哪个,你几乎肯定先需要 MCP。

你到底需要哪个

建一个用你工具和数据的 agent:MCP。这覆盖了大多数项目,也是该从这里开始。

协调多个独立 agent,尤其是你控制不了的那些:那是 A2A 层,通常是加在已经内部用 MCP 的 agent 之上。

如果问题是先学哪个,答案是 MCP——它更成熟、支持更广、解决的是大多数团队今天真正面对的问题。A2A 会随着跨组织的多 agent 系统变普遍而重要起来,那还在萌芽期。