AI 代理生態系統正在經歷一場寒武紀大爆發。用於構建代理的框架——LangChain、CrewAI、AutoGen、Semantic Kernel、Vertex AI Agent Builder——正在迅速增加,每個都有自己的內部通訊模式、資料格式和能力宣傳機制。這種碎片化造成了一個根本性問題:使用不同框架構建的代理無法相互通訊。
A2A(代理間通訊)最初由 Google 開發並貢獻給 Linux 基金會,旨在解決這個互通性危機。它定義了一個任何代理都可以實作的標準通訊協定,無論底層框架為何,允許使用不同工具構建的代理相互發現、協商任務、共享資訊並在複雜工作流程上進行協作。
該協定在單個代理框架之上運作。無論代理是使用 LangChain、Semantic Kernel 還是自訂框架構建,只要它實作了 A2A 協定,它就能與任何其他相容 A2A 的代理進行通訊。這種網路效應使每個單獨的代理變得更有價值——每個新的 A2A 相容代理都是每個現有代理的潛在協作者。
A2A 協定如何實現代理通訊?
A2A 的架構圍繞兩個核心概念構建:用於發現的代理卡和用於通訊的結構化訊息。
流程圖 TD
A[代理 A\n框架:LangChain] --> B[A2A 協定層]
C[代理 B\n框架:Semantic Kernel] --> D[A2A 協定層]
E[代理 C\n框架:自訂] --> F[A2A 協定層]
B --> G[服務發現\n代理卡發布]
D --> G
F --> G
G --> H{A2A 訊息交換\n結構化 JSON 協定}
H --> I[任務協商\n能力匹配]
H --> J[資料交換\n結構化負載]
H --> K[結果傳遞\n完成訊號]
I --> L[多代理工作流程\n跨框架協作]
每個代理發布一張代理卡——一份 JSON 文件,描述代理的能力、支援的任務、驗證需求和通訊端點。其他代理透過註冊表或直接查詢發現代理卡。一旦發現,代理透過結構化訊息進行通訊,包括任務定義、進度更新、資料負載和完成訊號。
有哪些 SDK 和實作選項可用?
A2A 為最常見的程式語言提供官方 SDK,使代理開發者的實作變得簡單。
| SDK 語言 | 狀態 | 主要功能 |
|---|---|---|
| Python | 官方、穩定 | 完整協定支援、非同步、串流 |
| TypeScript | 官方、穩定 | 瀏覽器和 Node.js 支援 |
| Java | 官方、穩定 | 企業整合模式 |
| Go | 社群 | 輕量級、高效能 |
| Rust | 社群 | 記憶體安全、系統級整合 |
Python SDK 最為成熟,並被用於參考實作。它支援同步和非同步代理通訊、用於即時互動的串流,以及內建的驗證機制。
A2A 如何被治理以及誰參與其中?
Linux 基金會的治理模式確保沒有單一公司能控制協定的演進。
| 治理機構 | 組成 | 職責 |
|---|---|---|
| 指導委員會 | Google、Microsoft、Anthropic、OpenAI、Meta | 策略方向、重大決策 |
| 技術委員會 | 15 個成員組織 | 協定規範、SDK 監督 |
| 工作小組 | 向所有貢獻者開放 | 特定主題(安全、IoT 等) |
| 社群貢獻者 | 個別開發者 | 錯誤修復、文件、測試 |
這種多方利益相關者治理對於旨在成為代理通訊通用標準的協定至關重要。它確保協定將以有益於整個生態系統的方式演進,而不僅僅是任何單一供應商。
A2A 的實際使用場景有哪些?
A2A 實現了以前不可能或需要在代理實作之間緊密耦合的使用場景。
| 使用場景 | A2A 之前 | 使用 A2A |
|---|---|---|
| 多框架代理 | 所有代理必須使用相同框架 | 任何框架皆可 |
| 跨公司自動化 | 自訂 API 和整合 | 標準協定 |
| 代理市集 | 專有平台 | 開放、可互通 |
| 聯合搜尋 | 手動 API 整合 | 自動發現 |
| 供應鏈代理 | 點對點連接 | 網狀網路 |
一個具體例子:使用 LangChain 構建的客服代理可以發現使用 Semantic Kernel 構建的知識庫代理,查詢相關文件,接收結構化結果,並使用這些結果回答客戶問題——兩個代理無需知道對方的內部框架。
目前哪些框架支援 A2A?
自貢獻給 Linux 基金會以來,A2A 已獲得廣泛的產業採用。
| 框架/平台 | 支援層級 | 整合方式 |
|---|---|---|
| Google Vertex AI Agent Builder | 原生 | 一流的 A2A 支援 |
| Microsoft Semantic Kernel | SDK 外掛 | 透過 A2A 連接器 |
| Anthropic Claude API | 協定支援 | 直接 A2A 訊息處理 |
| LangChain | 社群模組 | 透過 LangChain A2A 套件 |
| CrewAI | 內建 | 原生 A2A 代理通訊 |
| AutoGen(Microsoft) | SDK 外掛 | A2A 相容代理包裝器 |
跨競爭 AI 平台的廣泛支援是該協定有潛力成為代理互通性業界標準的強烈信號。
常見問題
什麼是 A2A(代理間通訊)協定? A2A 是由 Google 開發並貢獻給 Linux 基金會的開放協定,可實現使用不同框架構建的自主 AI 代理之間安全、標準化的通訊和互通性。
A2A 如何運作? A2A 定義了 AI 代理的標準訊息格式和發現機制。代理透過發布的代理卡來宣傳其能力,其他代理可以使用 A2A 協定的結構化訊息類型來發現、驗證和與它們通訊。
A2A 支援哪些 SDK 語言? A2A 提供 Python、TypeScript/JavaScript 和 Java 的官方 SDK,Go、Rust 等其他語言的社群 SDK 正在湧現。
A2A 如何被治理? A2A 由 Linux 基金會透過開放治理模式管理,指導委員會包括 Google、Microsoft、Anthropic、OpenAI 和其他主要 AI 公司的代表。
目前哪些代理框架支援 A2A? 主要框架包括 Google Vertex AI Agent Builder、Microsoft Semantic Kernel、Anthropic Claude API、CrewAI、AutoGen、LangChain 等已實作或宣布支援 A2A。
延伸閱讀
- A2A 協定 GitHub 倉庫 – 官方規範、SDK 和範例
- Linux 基金會 AI 與資料 – A2A 的管理組織
- Google A2A 公告 – Google 官方 A2A 公告和文件
- A2A 協定規範 – 完整技術協定規範
無程式碼也能輕鬆打造專業LINE官方帳號!一鍵導入模板,讓AI助你行銷加分!