簡明理解 Google A2A 協(xié)議:這不是 MCP!
Google最新發(fā)布的A2A協(xié)議引發(fā)了廣泛關(guān)注,但市場上存在諸多誤解。本文將簡明扼要地介紹A2A協(xié)議的核心內(nèi)容,包括其定義、功能以及與Anthropic提出的MCP協(xié)議的區(qū)別。通過深入解析A2A協(xié)議的關(guān)鍵要素,如任務(wù)發(fā)送、狀態(tài)跟蹤、結(jié)果獲取和Agent能力暴露。
今天 Google 發(fā)布了 A2A 協(xié)議(Agent-to-Agent Protocol),感覺很多報道失實(shí)了。
有條件的同學(xué),可以直接看 GitHub:
https://github.com/google/A2A
參數(shù)定義:
https://github.com/google/A2A/blob/main/specification/json/a2a.json
1、什么是 A2A?
A2A 是 Google 推出的一個開放通信協(xié)議,旨在讓 AI 代理(Agent)之間可以互相溝通、協(xié)作、派發(fā)任務(wù),并同步結(jié)果。
它解決的核心問題是:
“多個智能體如何像一個團(tuán)隊一樣配合工作?”
想象你是一個項(xiàng)目經(jīng)理(AI Agent A),你指派另一個人(AI Agent B)去完成任務(wù)、實(shí)時查看進(jìn)度、獲取結(jié)果。
2、A2A 定義了什么?
A2A 提供了一整套標(biāo)準(zhǔn)化接口與數(shù)據(jù)結(jié)構(gòu),主要包括:
??任務(wù)發(fā)送(Task Initiation)
任何 Agent 都可以通過 tasks/send 或 tasks/sendSubscribe 向另一個 Agent 發(fā)出任務(wù)請求:
???任務(wù)狀態(tài)跟蹤(Lifecycle & Streaming)
任務(wù)有完整的狀態(tài)生命周期(如:submitted → working → completed)。
若使用 sendSubscribe,Agent 可以訂閱 SSE(Server-Sent Events)接收狀態(tài)更新:
???獲取結(jié)果(Artifacts)
任務(wù)完成后,執(zhí)行方返回一個 artifact 對象,內(nèi)部是若干 part 組成的內(nèi)容單元(文本、結(jié)構(gòu)化數(shù)據(jù)、文件等):
???Agent 能力暴露(AgentCard)
每個 Agent 都需要提供一個標(biāo)準(zhǔn)的能力描述文件 /.well-known/agent.json,用于被發(fā)現(xiàn)和訪問。其中包含:
- 支持的方法
- 身份驗(yàn)證方式
- 輸入輸出格式
- streaming/push 支持與否等
???總結(jié)一下
A2A 的使用方法
- 發(fā)現(xiàn)對方 Agent(通過 agent.json)
- 發(fā)起任務(wù)(send / sendSubscribe)
- 訂閱狀態(tài)流 / 等待同步返回
- 獲取結(jié)果 / 交互補(bǔ)充
- 完成或失敗
3、什么是 MCP?
MCP(Model Context Protocol)是 Anthropic 提出的協(xié)議,讓 AI 模型能連接各種工具和數(shù)據(jù)源。
就像一個人打開工具箱,取出需要的工具來干活。
它解決的是:
- 連接外部工具:給外面的接口一個 API Call
- 獲取外部數(shù)據(jù):訪問數(shù)據(jù)庫、文檔、API、網(wǎng)頁等外部內(nèi)容,作為上下文
4、A2A 和 MCP 的關(guān)系
這倆完全沒關(guān)系?。。。?/p>
A2A 是AI “我指揮你干活”
- 比如:“你去寫個報告,寫完告訴我”
- 更像團(tuán)隊內(nèi)部的協(xié)作與分工
MCP 是AI “我親自干活,工具輔助”
- 比如:“我去數(shù)據(jù)庫里查一下銷售記錄”
- 更像一個人自己用工具解決問題
本文由人人都是產(chǎn)品經(jīng)理作者【賽博禪心】,微信公眾號:【賽博禪心】,原創(chuàng)/授權(quán) 發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。
題圖來自Unsplash,基于 CC0 協(xié)議。
- 目前還沒評論,等你發(fā)揮!