今天 Google 發布了 A2A 協議(Agent-to-Agent Protocol),感覺很多報道失實了。
有條件的同學,可以直接看 GitHub:
https://github.com/google/A2A
參數定義:
https://github.com/google/A2A/blob/main/specification/json/a2a.json
什么是 A2A?
A2A 是 Google 推出的一個開放通信協議,旨在讓 AI 代理(Agent)之間可以互相溝通、協作、派發任務,并同步結果。
它解決的核心問題是:
“多個智能體如何像一個團隊一樣配合工作?”
想象你是一個項目經理(AI Agent A),你指派另一個人(AI Agent B)去完成任務、實時查看進度、獲取結果。A2A 定義了什么?
A2A 提供了一整套標準化接口與數據結構,主要包括:
任務發送(Task Initiation)
任何 Agent 都可以通過tasks/send
或tasks/sendSubscribe
向另一個 Agent 發出任務請求:
{ "method":"tasks/send", "params":{ "id":"task-123", "message":{ "role":"user", "parts":[{ "type":"text", "text":"請生成一份項目計劃" }] } } }
任務狀態跟蹤(Lifecycle & Streaming)任務有完整的狀態生命周期(如:submitted
→working
→completed
)。
若使用sendSubscribe
,Agent 可以訂閱 SSE(Server-Sent Events)接收狀態更新:
{ "state": "working", "timestamp": "2025-04-10T12:00:00Z" }
也可以設置 Webhook,讓任務進展主動推送回來。
獲取結果(Artifacts)
任務完成后,執行方返回一個artifact
對象,內部是若干part
組成的內容單元(文本、結構化數據、文件等):
{ "artifact":{ "parts":[ { "type":"text", "text":"項目計劃如下..." } ] } }
Agent 能力暴露(AgentCard)每個 Agent 都需要提供一個標準的能力描述文件/.well-known/agent.json
,用于被發現和訪問。
其中包含:
? 支持的方法
? 身份驗證方式
? 輸入輸出格式
? streaming/push 支持與否等
A2A 的使用方法
1.發現對方 Agent(通過 agent.json)
2.發起任務(send / sendSubscribe)
3.訂閱狀態流 / 等待同步返回
4.獲取結果 / 交互補充
5.完成或失敗
MCP(Model Context Protocol)是 Anthropic 提出的協議,讓 AI 模型能連接各種工具和數據源。
就像一個人打開工具箱,取出需要的工具來干活。
它解決的是:
?連接外部工具:給外面的接口一個 API Call
?獲取外部數據:訪問數據庫、文檔、API、網頁等外部內容,作為上下文
這倆完全沒關系!?。。?/blockquote>A2A 是AI"我指揮你干活"
? 比如:“你去寫個報告,寫完告訴我”
? 更像團隊內部的協作與分工
MCP 是AI"我親自干活,工具輔助"
? 比如:“我去數據庫里查一下銷售記錄”
? 更像一個人自己用工具解決問題
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.