AB
AiBoss
Wiki

什么是 A2A 智能体互通协议(Agent2Agent Protocol)?

A2A(Agent2Agent Protocol)是一套面向 AI 智能体之间通信与协作的开放标准,由官方规范定义,目标是让不同厂商、不同框架构建的智能体能够互相发现、委派任务并共享结果,而不必暴露各自的内部记忆、工具与专有逻辑。

A2A 智能体互通协议(Agent2Agent Protocol,简称 A2A)是一套面向 AI 智能体(agent)之间通信与协作的开放标准。按 A2A Protocol 官方规范的说法,它要解决的是这样一个问题:当智能体由不同厂商、基于不同框架、运行在不同服务器上时,如何让它们彼此通信、协作,并且是「作为智能体」而不是「作为工具」来交互。官方规范把它定位为智能体互操作的「共同语言」,让智能体能够发现彼此的能力、协商交互方式、在长任务上安全协作,同时不必暴露内部状态、记忆或工具。

为什么重要

在 A2A 出现之前,智能体生态是割裂的。官方文档把这一痛点描述为「孤岛」:智能体往往由不同团队用不同框架搭建,例如 LangGraph、CrewAI、Semantic Kernel 或自研方案,各自运行在独立服务器上。一个智能体想调用另一个智能体,通常只能把它当成一个普通工具或 API 来调用,双方需要事先约定私有接口,能力描述、交互方式、任务状态都缺乏统一表达。

这带来几方面问题。其一是复用困难:一个已经具备某项专长的智能体,很难被其他系统以「智能体」的方式发现和调度。其二是复杂任务难以拆分:单个智能体无法独立完成的问题,需要多个专长智能体分工,但没有标准化的委派与结果回传机制。其三是安全与知识产权顾虑:如果协作要求共享内部记忆、专有逻辑或具体工具实现,很多厂商就不愿接入。

官方文档给出的目标是:打破孤岛、连接不同生态中的智能体;支持复杂协作,让专长智能体共同处理单个智能体无法完成的任务;推动开放标准与社区驱动的方式;以及在协作中保持「不透明性」,即智能体无需共享内部记忆、专有逻辑或工具实现即可合作。需要说明的是,这些是官方规范与官方仓库陈述的目标与设计意图,而非第三方独立评测的结论。

工作机制

按官方文档的描述,A2A 的核心做法可以分成以下几个要点。

  • 标准化通信:官方仓库写明,A2A 采用 JSON-RPC 2.0 over HTTP(S) 作为通信方式。这意味着交互建立在常见的 Web 传输之上,而不是另造一套底层协议。
  • 智能体发现:通过「Agent Card(智能体卡片)」描述智能体的能力与连接信息。其他智能体据此了解对方能做什么、如何连上它,这是「发现彼此能力」的落地机制。
  • 灵活的交互模式:官方文档列出同步请求/响应、流式传输(SSE)以及异步推送通知三种方式,用以覆盖短任务与长时间运行任务的不同需要。
  • 丰富的数据交换:协议可处理文本、文件与结构化 JSON 数据,并支持协商交互模态(文本、表单、媒体)。
  • 面向企业环境的设计:官方文档称其在设计时考虑了安全、认证与可观测性。
  • 可扩展:官方规范提到可通过正式的协议扩展与自定义绑定增加能力,并由分级晋升流程管理,以保持核心稳定。

在角色划分上,官方规范用「客户端智能体(Client Agent)」与「远程智能体(Remote Agent)」来描述一次协作的两端:客户端智能体使用 A2A 连接远程智能体,使用 MCP(Model Context Protocol)连接远程工具。官方规范特别强调 A2A 与 MCP 不是竞争关系而是互补关系:MCP 负责智能体与工具、API、资源之间的连接,A2A 负责智能体与智能体之间的通信。官方给出的典型组合是「用 ADK(或任意框架)构建、用 MCP(或任意工具)装备、用 A2A 与远程智能体、本地智能体以及人类通信」。

典型例子

官方素材中出现的具体用法包括:

  • 跨框架连接:官方规范举例说明,A2A 可连接基于 LangGraph、CrewAI、Semantic Kernel 或自定义方案构建的智能体,组成复合 AI 系统。
  • 任务委派与协调:官方规范描述智能体可以委派子任务、交换信息、协调动作,以解决单个智能体无法处理的问题。
  • 官方 SDK:官方仓库列出了 Python、Go、JavaScript 等语言的 SDK 安装方式,例如 Python 侧为 pip install a2a-sdk,Go 侧为 go get github.com/a2aproject/a2a-go,JavaScript 侧为 npm install @a2a...(原文在此处截断)。官方规范页面还列出 Java、C#/.NET、Rust 的官方 SDK。
  • 命令行工具:官方规范页面提到 A2A CLI,用于在终端中发现、发消息给并管理任意 A2A 智能体。
  • 教学课程:官方仓库提到与 Google Cloud 和 IBM Research 合作开设的 A2A 短课程,内容包括把基于 Google ADK、LangGraph 或 BeeAI 构建的智能体暴露为 A2A 服务器、从零编写 A2A 客户端、构建顺序与层级式工作流,以及用不同框架搭建一个医疗多智能体系统。

边界与常见误解

官方规范专门用「What A2A Is Not」一节来设定预期,明确说明 A2A 是一个聚焦的协议,并不试图成为所有东西(该节内容在抓取素材中于此处截断,因此其完整列举不在本词条覆盖范围内)。

最常见的误解是把 A2A 与 MCP 视为替代关系。官方规范的表述是二者「高度互补」,解决两个不同问题:MCP 面向智能体与工具的通信,A2A 面向智能体与智能体的通信。一个使用 MCP 的智能体同样可以参与 A2A 协作。

另一个需要澄清的点是「不透明」的含义。官方文档所说的不透明,指智能体交互时无需共享内部记忆、工具或专有逻辑,这被描述为兼顾安全与保护知识产权;它并不意味着协作过程不可观测——官方文档同时称协议在设计上考虑了可观测性。

关于代价与限制,素材中可确认的信息有限:协议基于 JSON-RPC 2.0 over HTTP(S),因此其能力边界受这套传输与消息模型约束;扩展机制虽然存在,但官方规范说明其受分级晋升流程治理,这意味着新增能力进入核心需要经过流程,而非随意添加。至于性能、部署成本、实际互操作成功率等,素材未给出任何数据,本词条不作推断。

参考资料