譯者 | 核子可樂
審校 | 重樓
幾乎萬事萬物都離不開協(xié)議和標(biāo)準(zhǔn),這也是就技術(shù)問題達(dá)成溝通一致的前提。而隨著AI智能體的迅猛發(fā)展,與之配套的協(xié)議出現(xiàn)也只是時(shí)間問題。
Anthropic提出的MCP(模型上下文協(xié)議)就是其中最知名的方案之一。MCP于去年正式亮相,幫助模型輕松接入外部數(shù)據(jù)存儲(chǔ)、API乃至其他功能及工具,但同時(shí)也為新一波安全威脅打開了大門。
然而,MCP并非唯一發(fā)展勢(shì)頭迅猛的AI中心協(xié)議。在今年四月的Google I/O開發(fā)者大會(huì)上,谷歌發(fā)布了其智能體到智能體(A2A)協(xié)議。從表面上看,MCP與A2A似乎高度重合,采用類似的客戶端-服務(wù)器架構(gòu),使用大量相同的底層消息傳遞與傳輸協(xié)議,而且同樣在相對(duì)不太成熟的情況下獲得了業(yè)界的大力支持。
很多朋友都以為這將是又一場(chǎng)針尖對(duì)麥芒的比拼。但實(shí)際上,MCP與A2A打算解決的問題截然不同,由它們引發(fā)的誤解大多源自AI智能體在定義上的模糊不清。所以下面咱們來具體聊聊。
宏觀來講,智能體的定義非常簡(jiǎn)單:通常依托于某種模型,負(fù)責(zé)解讀信息并決定如何處理信息。底層模型可以訪問各種函數(shù)或工具,以檢索或執(zhí)行這些任務(wù)。
例如,日志智能體可能使用某種工具定期輪詢API端點(diǎn)以獲取日志。一旦檢測(cè)到異常,它會(huì)使用另一工具生成支持工單,以供人工操作員審核。只要智能體足夠可靠,它們就能通過工資、醫(yī)療福利和病假情況等指標(biāo)淘汰掉那些偷奸耍滑的員工。
而要想達(dá)成這一目標(biāo),智能體間的通信協(xié)議必須更加完善,這正是MCP和A2A的意義所在。先說MCP,簡(jiǎn)言之它是“一個(gè)用于連接AI系統(tǒng)與數(shù)據(jù)源的通用開放標(biāo)準(zhǔn)”。
換句話說,MCP為模型提供一種標(biāo)準(zhǔn)化方式,使其能夠與現(xiàn)有資源(例如SQL數(shù)據(jù)庫、Kubernetes集群或現(xiàn)有API)進(jìn)行交互。該協(xié)議遵循客戶端-服務(wù)器架構(gòu),信息交換使用JSON-RPC,并根據(jù)具體用例通過Stdio、HTTP或SSE等形式進(jìn)行傳輸。
MCP架構(gòu)概覽
MCP的核心是以標(biāo)準(zhǔn)化方式開放模型與工具功能,促進(jìn)它們間的通信。因此Anthropic將MCP描述為AI版的USB接口。但如前所述,MCP只是眾多實(shí)現(xiàn)方式之一,比如LangChain也提供類似的功能。
如果說MCP就是USB口,那么A2A的定位更接近于以太網(wǎng)。A2A同樣使用JSON-RPC、HTTP與SSE,但目的卻在促進(jìn)智能體之間的通信。
Google A2A協(xié)議工作原理分解圖
這些通信遵循一條可預(yù)測(cè)路徑,從發(fā)現(xiàn)階段起,系統(tǒng)中的智能體間就會(huì)交換名牌,具體包含名稱、功能、聯(lián)系位置以及如何進(jìn)行身份驗(yàn)證。這些智能體名牌還包含可選功能的詳細(xì)信息,例如通過SSE傳輸數(shù)據(jù)、能夠提取或返回的格式類型(如文本、圖像、音頻或視頻)等。
在了解了彼此之后,智能體間即可互發(fā)任務(wù),其中一個(gè)智能體充當(dāng)客戶端、另一智能體充當(dāng)服務(wù)器。但需要注意的是,這些角色并非固定不變,每個(gè)智能體可以根據(jù)具體情況在客戶端與服務(wù)器間靈活切換。
任務(wù)創(chuàng)建之后,智能體服務(wù)器會(huì)返回一條消息和一個(gè)任務(wù)ID,用于跟蹤任務(wù)進(jìn)度。這對(duì)需要長(zhǎng)時(shí)間運(yùn)行的作業(yè)來說非常重要。客戶端會(huì)定期輪詢服務(wù)器,而當(dāng)二者均支持SSE時(shí),服務(wù)器端也可自動(dòng)提供進(jìn)度更新。
如此一來,任務(wù)就能標(biāo)記出缺失信息,例如用戶電子郵件地址或者支持工單的嚴(yán)重程度,供下游智能體作為執(zhí)行參考。任務(wù)完成后,結(jié)果將以工件形式從服務(wù)器發(fā)送至客戶端,工件中則可包含文本、圖像及結(jié)構(gòu)化JSON等內(nèi)容。
回到之前日志的例子,記錄智能體可以通過A2A向另一智能體發(fā)送支持工單,再由后者執(zhí)行診斷、評(píng)估問題、判斷可以自動(dòng)解決或者需要人工介入。
A2A背后的一大關(guān)鍵驅(qū)力,在于實(shí)用性智能體系統(tǒng)將由多個(gè)各具專業(yè)知識(shí)的智能體組合而成。其中一部分智能體可由內(nèi)部開發(fā),另一些則可由軟件供應(yīng)商提供。
就協(xié)議而言,A2A并不關(guān)心智能體是否使用MCP來實(shí)現(xiàn)目標(biāo),它只關(guān)心各智能體間是否使用相同語言,能否清晰傳達(dá)各自的能力、局限性與執(zhí)行進(jìn)度,確保任務(wù)順利完成。
自從谷歌在今年春季的I/O大會(huì)上公布A2A以來,該協(xié)議得到模型開發(fā)商、云服務(wù)商以及軟件提供商的廣泛支持。
在亞馬遜、微軟、思科、Salesforce、SAP以及ServiceNow等大廠的支持下,谷歌于6月宣布計(jì)劃將A2A協(xié)議捐贈(zèng)給Linux基金會(huì)。
盡管MCP與A2A協(xié)議均已得到科技巨頭的大力支持,但整個(gè)AI生態(tài)仍處于起步階段,而這項(xiàng)技術(shù)的發(fā)展也毫無放緩跡象。考慮到標(biāo)準(zhǔn)機(jī)構(gòu)向來行動(dòng)緩慢,相信由特性定義及底層邏輯等問題引發(fā)的分歧,必將催生出更多新的標(biāo)準(zhǔn)和協(xié)議。
原文標(biāo)題:If MCP is the USB-C of AI agents, A2A is their Ethernet,作者:Tobias Mann