0 前言

亞馬遜 宣佈,在 Amazon Bedrock AgentCore Runtime 正式支持A2A協議**,讓基於不同框架構建的智能體之間能夠實現通信與協作。**

該協議支持來自 Strands Agents、OpenAI Agents SDK、LangGraph、Google ADK 和 Claude Agents SDK 等框架的智能體以“通用且可驗證的格式”共享上下文、能力與推理信息。

Bedrock AgentCore Runtime充當這些跨智能體通信的基礎設施層。通過 A2A,開發者可以構建跨框架的多智能體工作流,實現系統級協作。

1 智能體系統的基礎組件

智能體系統(Agentic systems) 要想高效運行,需要多個核心組件協同工作:

  • 記憶(Memory):包括短期記憶(維持會話上下文)和長期記憶(跨多次會話保留洞察)。
  • 工具(Tools):賦予智能體執行功能,可通過原生集成或 Model Context Protocol(MCP) 服務器訪問。
  • 身份管理(Identity Management):通過 IAM 提供安全認證與權限控制,使智能體可代表用户或自主訪問資源。
  • 安全防護(Guardrails):通過 Bedrock Guardrails 檢測有害內容、防止幻覺、確保輸出符合政策和事實準確性。

亞馬遜為 Bedrock AgentCore 添加 A2A 協議,實現多智能體系統互操作_開發者

來源:Bedrock AgentCore 平台


A2A 與 MCP 的區別

A2A 協議 解決的是 智能體之間的通信 問題,而 MCP 解決的是 智能體與資源之間的連接 問題。

  • MCP:讓單個智能體能訪問其工具和數據源。
  • A2A:讓多個智能體能彼此協調,共同完成任務。

這一區別對系統架構尤為重要——前者側重“智能體到資源”,後者側重“智能體到智能體”的協作通信。

亞馬遜為 Bedrock AgentCore 添加 A2A 協議,實現多智能體系統互操作_服務器_02

來源:AWS 官方博客


協議特性:鬆耦合與模塊化

A2A 協議採用 鬆耦合(Loose Coupling) 與 模塊化(Modularity) 設計,使每個智能體能作為獨立單元運行。 開發者可以獨立開發、測試、部署和升級單個智能體,而不會影響整個系統。新智能體可以無縫加入現有部署,而發生故障的智能體也能被隔離在定義好的交互邊界內。


動態發現與編排

協議支持動態的 智能體發現與編排(Orchestration)。 智能體通過標準化的模式(Schema)發佈自身的能力信息,形成一個“功能註冊表”。 編排智能體(Orchestrator Agents) 可以基於實時任務需求發現並調用最合適的智能體,從而實現 自適應工作流 ——任務會根據上下文動態分配給合適的智能體執行。


技術實現:Agent Card 與 Task Object

  • A2A 服務器(A2A Server):遠程智能體通過實現協議規範的 HTTP 接口來提供服務,支持 HTTP/S 上的 JSON-RPC 2.0 通信,既可 同步,也可 異步 交互。
  • Agent Card:每個智能體都會發佈一個 JSON 元數據文件,描述其身份、功能、接口端點及認證要求。 這相當於一份“契約説明書”,讓其他智能體能正確地與其交互。
  • Task Object:代表系統中流動的每個任務單元,包含唯一標識符和生命週期信息。任務可能是長時間運行的過程,涉及多個智能體的多輪協作。協議會跟蹤任務狀態,幫助編排器監控進度、處理故障或超時。

安全性與社區反饋

安全研究機構 Unit42(Palo Alto Networks) 指出,A2A 協議的狀態化設計可能帶來安全風險。根據其 分析報告:

A2A 協議允許智能體在會話中記住交互歷史並保持上下文一致性。這種特性可能被攻擊者利用,通過“會話走私(Session Smuggling)”注入惡意指令,將其隱藏在正常請求與響應之間。


開發資源與文檔

有興趣實現基於 A2A 的系統的開發者,可以參考以下資源:

  • A2A 教程與示例代碼
  • Bedrock AgentCore 開發者指南 ——詳細介紹運行時操作、內存管理與身份控制
  • A2A 協議規範文檔 ——定義智能體間通信的技術要求與交互模式
  • InfoQ 早期報道 ——回顧 Bedrock AgentCore 平台最初發布時的功能背景

通過引入 A2A 協議,亞馬遜進一步推動了多智能體生態系統的互操作與標準化,使不同框架和平台上的智能體能夠協同工作,構建更復雜、更智能的分佈式 AI 系統。