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??
