
A2A(Agent2Agent Protocol)是一个开放标准,让不同框架、不同厂商、不同公司部署的 AI Agent 能够互相发现、互相通信、委派任务、协同工作。
LLM 是无状态的文本大脑;Agent 给它配上工具和"思考→行动→观察"循环;
企业里的 Agent 正在爆炸式增长,但它们彼此是孤岛:
没有 A2A 的世界(N 个 Agent 需要 N×(N-1)/2 套私有集成)
┌──────────┐ ?? ┌──────────┐
│ 报销Agent │────│ 工单Agent │ 每条线都是一套
└────┬─────┘ └────┬─────┘ 定制胶水代码:
│ ?? │ ?? · 接口不同
┌────┴─────┐ ┌────┴─────┐ · 认证不同
│ HR Agent │────│ 采购Agent │ · 消息格式不同
└──────────┘ ?? └──────────┘ · 状态管理不同
有 A2A 的世界(每个 Agent 实现一次协议,即可互通)
┌──────────┐ ┌──────────┐
│ 报销Agent │ │ 工单Agent │
└────┬─────┘ └────┬─────┘
│ A2A 协议 │
═════╪═══════════════╪═════ ← 统一的发现、消息、任务、安全机制
│ │
┌────┴─────┐ ┌────┴─────┐
│ HR Agent │ │ 采购Agent │
└──────────┘ └──────────┘

这是最常被问到的问题。MCP 管"Agent 用工具”,A2A 管"Agent 找同事”。
┌─────────────────────┐
A2A(横向协作) │ 远程 Agent B │
┌─────────────────► (不同框架/厂商) │
│ └─────────────────────┘
┌─────┴──────┐
│ Agent A │
└─────┬──────┘
│ MCP(纵向调用工具)
▼
┌────────────┐ ┌────────────┐ ┌────────────┐
│ 数据库工具 │ │ 搜索工具 │ │ 内部 API │
└────────────┘ └────────────┘ └────────────┘
| 维度 | MCP | A2A |
|---|---|---|
| 连接对象 | Agent → 工具/资源 | Agent → Agent |
| 对端性质 | 被动的、确定性的(函数调用) | 主动的、自治的(可能反问你) |
| 交互粒度 | 一次工具调用,立即返回 | 一个任务,可能多轮、长时间运行 |
| 发起方 | Anthropic(2024) | Google(2025) |
| 治理 | Linux Foundation | Linux Foundation |
类比:MCP 是员工的工具箱接口,A2A 是员工之间的工作邮件 + 任务系统。 一个成熟的 Agent 往往两者都用:对下用 MCP 调工具,对外用 A2A 和其他 Agent 协作。
“新员工入职"流程中,HR 的入职 Agent(基于某 SaaS)需要:
整个链路中,每个 Agent 不需要知道对方用什么框架、什么模型、什么提示词——只要双方都讲 A2A。