
MCP协议 vs A2A协议:是竞争还是互补?
AI 智能体(Agent)是目前能够看到的为企业业务带来很大价值的AI应用,通过AI Agent可以自主处理很多重复性工作,以及极大地减少代码开发量,所以很多国内外很多企业都在朝这个方向探索。
而要做企业内部的Agent服务的话,永远绕不过去的事情就是和企业内部数据进行互通,以及和企业内部的系统联动起来;
这个过程在过去AI技术中可以通过MCP协议方式来实现,MCP通过一个标准化的协议,可以对接很多内外部的系统服务,例如Mysql、Redis、HTTP等等,它就是AI模型和业务应用之间的通道。
关于MCP协议的内容,可以参考这篇博文: MCP:AI大模型的万能插座
而本篇内容主要讲一下,A2A协议和MCP协议之间的关系,二者其实某种程度上是有关联的,二者背后的公司一个是Google,一个是Anthropic(Claude Code就是它家的,AI独角兽公司)。
其实对于两个类似的东西,对于不太了解的人来说,可能以为是新技术替代旧技术,或者某种程度上说是淘汰?
反过来,它也许不是替代关系,而是补充关系,下面可以看看Google在发布A2A协议中的描述信息:
然后,是关于Google A2A协议的设计原则:
所以,我们对比来说,MCP是一个链接LLM和业务系统/数据的工具,而A2A解决的是应用层的问题,是一个应用层协议,而站在google的设计原则中认为:AI Agent 需要同时使用A2A和MCP,通过MCP来处理工具,使用A2A来链接多个Agent的应用。
其实讲到这里,问题已经很明白了,简单来说,整体架构是这样的:
在 MCP 中移动组件:
- MCP Host :当与 A2A 结合时,MCP Host是Agent
- MCP 客户端
- MCP 服务器
- 本地数据源
- 远程数据源
A2A:
Agent(MCP Host)将通过 A2A 协议进行实现和通信,该协议能够实现:
- 安全协作 - MCP 缺乏身份验证(MCP目前已经在支持身份验证了)。
- 任务和状态管理。
- 用户体验协商。
- 能力发现 - 类似于 MCP 工具。
MCP 主要用于将遗留数据系统(MCP 资源)和 API(MCP 工具)与基于 LLM 的应用集成,而 A2A 则负责处理 Agent 之间的通信。
甚至说,还可以通过 MCP 服务器资源公开 A2A 的Agent
那其实就有问题,既然MCP只是一个工具,A2A具备安全协议(MCP目前也在支持)、任务和状态管理、服务发现等能力,是不是说只要在扩展一下工具的能力(MCP)是不是就可以完全替代掉MCP了?
毕竟,从技术角度来说,多一个服务组件就需要多一层运维保障,而有一站式能力提供服务则只需要维护一套即可,虽然,A2A协议是
Google的公开描述中是把A2A和MCP互补关系来对待的,但是从长期来说,还是会有一定的竞争关系。
从长期角度来看,未来AI 智能体的关键是什么?
能够深度和企业内部数据打通,并提供给外部Agent来使用,构建单一垂直领域的AI应用;
需要一系列的指令集,来完成原本需要系统化/平台化能力支持的工作,统一角度AI Agent来完成;
对于外部使用,也需要和外部厂商的Agent进行连接,来互通信息;
如果从长远发展来看,A2A协议显然会是更优的选择,而MCP目前也在迭代,但是对于易用性和数据安全性来说,这两个本身就是一个两难问题,更何况,它的定位是连接服务,而不是对外提供应用能力。
写在最后
我们正在经历极速发展的时代,AI 智能体时代将会成为新的在人工智能+政策下,是完成颠覆性的新兴产业,这里面无关乎A2A还是MCP协议问题,而在于在我们实际的应用中,需要二者哪一个。
二者随着迭代发展,可能慢慢会相似,但不会重合,存在即合理!
本文转载自DataForAI,作者:DataForAI
