Appearance
39. A2A 和 MCP 的区别是什么?什么时候需要多智能体?
难度 P1 高频 · 岗位 应用 · 频率 ★★★ · 预计阅读 5 min
本题阅读地图
- 💡 简要回答
- 📝 详细解析
- 🎯 面试总结
👔面试官:A2A 和 MCP 的区别是什么?什么时候需要多智能体?
🙋♂️我:MCP 是接工具,A2A 是 Agent 之间通信。
👔面试官:对,但要更深入:MCP 偏工具与资源接入标准,A2A 偏多智能体通信和分工协作。多智能体不是越早越好,什么时候才需要拆分?你能讲清楚吗?
🙋♂️我:任务复杂、单 Agent 搞不定时才需要多智能体?
👔面试官:对,更具体:职责边界清晰、单 Agent Prompt 已经过载、流程确实需要角色分治时,拆分才划算。否则多智能体只会增加通信、调试和治理成本。
💡 简要回答
| 协议 | 关注点 | 解决什么 |
|---|---|---|
| MCP | 工具与资源接入 | 模型和外部能力怎么接 |
| A2A | 多智能体通信 | Agent 和 Agent 之间怎么协作 |
多智能体适用时机:
- 不是越早越好:单 Agent 能处理时,多智能体是负担
- 拆分信号:
- 职责边界清晰
- 单 Agent Prompt 过载(太长、太复杂)
- 流程确实需要角色分治
常见追问:Supervisor vs Handoff、Skill vs 独立 Agent
📝 详细解析
MCP vs A2A
MCP:
- 模型 ↔ 外部工具/资源
- 单向或请求-响应
- 标准化能力接入
A2A:
- Agent ↔ Agent
- 多轮协作、任务分配
- 标准化协作协议
多智能体的成本
增加的成本:
- 通信开销(Agent 间消息传递)
- 调试复杂(链路变长)
- 治理难度(状态同步、错误传播)
什么时候不拆:
- 单 Agent 能清晰处理
- Prompt 还没过载
- 流程简单直接
拆分的信号
1. 职责边界清晰:
- 规划、检索、执行、审阅 各需不同能力
- 每个角色有明确的输入输出
2. Prompt 过载:
- System Prompt 超过 3000 Token
- 角色冲突、指令打架
- 拆成多个 Agent,每个职责单一
3. 需要角色分治:
- 代码生成 + 代码审查
- 研究 + 写作 + 审核
- 每个角色独立迭代
Supervisor vs Handoff
Supervisor 模式:
- 一个中心 Agent 分配任务
- 多个 Worker Agent 执行
- 适合:任务可并行分解
Handoff 模式:
- Agent A 完成自己的部分,交接给 Agent B
- 适合:流程串行、接力执行
Skill vs 独立 Agent
Agent Skill:
- 一个 Agent 的专项能力
- 作为 Tool 被其他 Agent 调用
- 轻量,边界清晰
独立 Agent:
- 完整的自治实体
- 有自己的状态、记忆、规划
- 重量,需要更多治理
🎯 面试总结
MCP 接工具,A2A 接 Agent。多智能体不是越早越好,职责清晰、Prompt 过载、角色分治时才拆分。