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助你行銷加分!