Appearance
74. AI Agent 中 A2A 和 MCP 的区别是什么?
难度 P1 高频 · 岗位 应用 · 频率 ★★★ · 预计阅读 5 min
本题阅读地图
- 💡 简要回答
- 📝 详细解析
- 🎯 面试总结
👔 面试官:A2A 和 MCP 都是 Agent 相关的协议,有什么区别?
🙋 我:MCP 是 Anthropic 的,A2A 是 Google 的……
👔 面试官:按厂商区分不是答案。它们在架构上的职责分工是什么?
这道题是典型的「能不能把两个相关概念说清楚关系」的考察。
💡 简要回答
一句话区分:MCP 管 Agent 和工具之间的连接,A2A 管 Agent 和 Agent 之间的通信。两者不是竞争关系,而是互补的两层协议,共同构建 Agent 生态的基础设施。
📝 详细解析
用一个比喻来理解
把一个 Agent 想象成一个人:
- MCP 解决的是「这个人怎么使用各种工具」的问题——锤子、电脑、手机……每种工具有统一的接口标准,这个人不需要为每种工具学一套全新的操作方式。
- A2A 解决的是「这个人怎么和其他人协作」的问题——不同公司、说不同语言的人,通过一套标准的沟通协议,能够互相理解并分工合作。
一个人(Agent)既需要工具(MCP),也需要和同事协作(A2A)。两者缺一不可。
核心对比
| 维度 | MCP | A2A |
|---|---|---|
| 解决问题 | Agent 如何调用工具/资源 | Agent 如何与其他 Agent 协作 |
| 通信对象 | Agent ↔ 工具 | Agent ↔ Agent |
| 核心概念 | MCP Server 暴露工具能力 | Agent Card 描述 Agent 能力 |
| 发明方 | Anthropic(2024.11) | Google(2025.4) |
| 类比 | USB-C 接口标准 | 国际通用外交语言 |
两者如何配合工作
在一个完整的多 Agent 系统里,两者同时发挥作用:
用户任务
↓
主 Agent(规划任务,通过 A2A 分发子任务)
├── 子 Agent A(通过 MCP 调用搜索工具)
├── 子 Agent B(通过 MCP 调用数据库工具)
└── 子 Agent C(通过 MCP 调用代码执行工具)
↓
子 Agent 通过 A2A 返回结果给主 Agent
↓
主 Agent 整合并输出最终结果MCP 让每个 Agent 都能方便地「伸手拿工具」;A2A 让不同的 Agent 能方便地「互相说话合作」。未来的 Agent 生态大概率是两个协议同时存在、各管一层的格局。
🎯 面试总结
这道题答好只需要说清楚三件事:①MCP 是 Agent-工具协议,A2A 是 Agent-Agent 协议,职责不同;②两者是互补的,不是竞争关系;③在多 Agent 系统里,它们同时发挥作用,MCP 管下层工具接入,A2A 管上层 Agent 协同。能把这个分层结构说清楚,就是优质答案。