【Day22】Agent2Agent(A2A)介紹#
介紹#
去年底 Antropics 推出了一個叫做 MCP 的 Protocol,讓 LLM 可以透過統一的介面來與外部互動,今年 4 月 Google 也推出了一個新的 Protocol 叫做 A2A(Agent to Agent),目的是爲了讓不同 provider 的 Agent 可以透過統一的介面來互相溝通。今天就先簡單蒐集一下 A2A 有關的資源。
資料彙整#
A2A 與 MCP 的主要差異#
flowchart BT subgraph MCP["MCP Protocol"] Agent["Agent"] UB["User"] MCP_Srv1["MCP Server 1"] MCP_Srv2["MCP Server 2"] end subgraph A2A["A2A Protocol"] CA1["Client Agent"] UA["User"] RA1["Remote Agent 1"] RA2["Remote Agent 2"] end UA --> CA1 CA1 --> RA1 & RA2 UB --> Agent Agent --> MCP_Srv1 & MCP_Srv2
flowchart BT subgraph Hybrid["A2A + MCP"] HCA["Client Agent"] UC["User"] HRA1["Remote Agent 1"] HRA2["Remote Agent 2"] MCP1["MCP Server A"] MCP2["MCP Server B"] MCP3["MCP Server C"] MCP4["MCP Server D"] end UC --> HCA HCA --> HRA1 & HRA2 HRA1 --> MCP1 HRA1 --> MCP2 HRA2 --> MCP3 HRA2 --> MCP4
A2A:LLM 之間的溝通協議
MCP:LLM 與工具之間的溝通協議
補充說明:
A2A 負責 LLM 之間的協作與任務分工,而 MCP 則讓 LLM 能安全一致地使用外部工具與資料,兩者結合才能讓 LLM 發揮最大效能
類似 A2A 的 Protocol#
IBM 在今年 3 月時已經推出了一個叫做 Agent Communication Protocol(ACP) 的協議,但是在 8 月份時 ACP 決定加入 A2A 的行列
資源#
A2A Specification 怎麼看?#
在 A2A Specification 裡面會看到幾個常見的關鍵字:
MUST:絕對要求
MUST NOT:絕對禁止
SHOULD:建議/推薦(在大多數情況應該做,但在某些特定情況下可以不做)
SHOULD NOT:建議不要做
MAY:可選(規格允許,但並不強制)
章節規劃#
Introduction:說明 A2A 的定位與動機,定義要解決的問題(不同 provider 的 LLM 都能互相溝通)
Core Concepts: 定義 A2A 的基本概念與術語(Client/Server、Agent Card、Message/Part 等等)
Transport/Formats:支援的傳輸協議與資料格式(JSON-RPC/gRPC、REST 等等)
Authentication and Authorization:認證與授權機制
Agent Discovery:規範 Agent Card 的結構與內容
Protocol Data Objects:資料結構
Protocol RPC Methods:規範所有 RPC 方法的界面與行爲
Error Handling:錯誤處理機制
Common Workflows & Examples:常見範例(同步、多輪輸入、通知等等)
Appendices:補充說明
A2A Compliance Requirements:說明合規要求
重點回顧#
快速瞭解 A2A 以及 MCP 的差異
瞭解 A2A 的資源與規範的整體架構