人工智能领域正经历着快速发展,其中 AI Agent 正在成为一个关键组成部分。一个 AI Agent 本质上结合了 大型语言模型 (LLM) 的认知能力和一个工具包,使其能够自主执行命令、检索信息和完成任务。这些 Agent 响应来自用户的请求或与其他 Agent 交互。 AI Agent 的潜力在于它们能够扩展操作、自动化复杂的流程,并提高各种业务职能的效率,从而显著提高个人生产力。
普遍的共识是,通用的“一刀切” Agent 无法有效地处理人们期望 AI Agent 完成的各种复杂任务。 解决方案在于 Agentic Workflows。 它们由自主 AI Agent 网络创建,这些 Agent 能够做出决策、执行操作并在最少的人工监督下协调任务。
谷歌对 Agent 互操作性的愿景:Agent2Agent 协议 (A2A)
谷歌于 2025 年 4 月 9 日推出了 Agent2Agent (A2A) 协议。它旨在促进 AI Agent 之间的无缝通信,允许它们安全地交换数据并自动化复杂的业务工作流程。 这是通过与企业系统和第三方平台交互来实现的。
A2A 协议是谷歌与 50 多家行业合作伙伴合作的成果,所有这些合作伙伴都对 AI Agent 协作的未来抱有共同的愿景。 至关重要的是,这种协作超越了特定的技术,并建立在开放和安全的标准之上。
A2A 的核心设计原则
在开发 A2A 协议期间,谷歌及其合作伙伴遵循了几个基本原则:
- 开放且与供应商无关: A2A 协议必须是开放的,这意味着其规范是公开可访问的。 这确保了任何开发人员或组织都可以在没有专有限制的情况下实施该协议。 与供应商无关意味着该协议不与任何特定供应商的技术相关联。 这为所有参与者创造了一个公平的竞争环境。
- 用于协作的自然模式: A2A 允许 Agent 使用其固有的、非结构化的通信方式进行协作。 这将 Agent 与工具区分开来,并将 A2A 与 Model Context Protocol (MCP) 区分开来。
- 建立在现有标准之上: 为了简化与现有 IT 基础设施的集成,该协议建立在 HTTP、Server-Sent Events (SSE) 和 JSON-RPC 等已建立的标准之上。
- 默认安全: 安全是首要考虑因素。 A2A 结合了企业级身份验证和授权机制来保护敏感数据并确保安全交互。
- 数据模式无关: A2A 不仅限于基于文本的通信。 它可以处理各种数据类型,包括图像、音频和视频流。
A2A 的功能:增强 Agent 协作
A2A 提供了一系列内置功能来简化 Agent 交互:
- 能力发现: 这允许 Agent 宣传他们的能力。 客户端可以轻松识别哪个 Agent 最适合特定任务。 可以将其视为一个数字市场,Agent 在其中展示他们的技能和专业知识。
- 任务和状态管理: 客户端和 Agent 之间的通信围绕着 任务 的执行。 这些任务由协议定义,并具有明确定义的生命周期。 任务的结果称为 Artifact。 任务及其状态的管理确保了可靠且可跟踪的工作流程。
- 安全协作: Agent 可以安全地交换消息以共享上下文、提供响应、传递 Artifact 或中继用户指令。 这促进了一个协作环境,Agent 可以在其中无缝地协同工作。
- 用户体验协商: 每条消息都包含“部件”,这些部件是独立的内容片段,例如生成的图像。 每个部件都有指定的内容类型,这使客户端和远程 Agent 能够就所需的格式达成一致。 此功能还包括用户 UI 功能的协商,例如 iframe、视频和 Web 表单。
能力发现和用户体验协商功能特别引人注目,因为它们为创建 Agent 市场铺平了道路。 在这些市场中,提供商可以列出他们的 Agent,客户端可以选择最合适的 Agent 来执行特定任务。
虽然这个概念非常有前途,并且对于 AI Agent 市场的增长可能至关重要,但要实现这一愿景,需要的不仅仅是定义一个交互协议。
解码 Agent2Agent 协议概念
理解协议背后的核心概念对于有效的实施和利用至关重要。 这些概念对于许多 AI Agent 开发人员来说已经很熟悉:
- Agent 卡片: 这是一个公共元数据文件,详细说明了 Agent 的能力、技能、端点 URL 和身份验证要求。 Agent 卡片在发现阶段起着至关重要的作用,使最终用户能够选择合适的 Agent 并了解如何与之交互。
- 服务器: 一种实现 A2A 协议方法的 Agent,如 JSON 规范 中所定义。 本质上,服务器是通过 A2A 协议提供其服务的 Agent。
- 客户端: 这可以是应用程序或使用 A2A 服务的另一个 Agent。 客户端启动请求并利用服务器提供的功能。
- 任务: Agent 的基本工作单元。 由客户端启动并由服务器执行,它在其生命周期中经历各种 状态。
- 消息: 表示客户端和 Agent 之间的通信交换。 每条消息都有一个定义的 角色 并由 部件 组成。
- 部件: 这是消息或 Artifact 中的基本内容单元。 部件可以是文本、文件或结构化数据。 这允许灵活地通信各种数据类型。
- Artifact: 表示 Agent 在完成任务时生成的输出。 与消息一样,Artifact 包含部件。
- 流式传输: 该协议支持流式传输,允许服务器实时更新客户端有关长时间运行任务的状态。 这通过提供持续的反馈来增强用户体验。
Agent2Agent 项目的当前状况
A2A 最近才向公众推出,其规范现在可在 GitHub 上获得。 截至目前,还没有官方路线图或生产就绪的协议实现。 但是,谷歌正在积极与合作伙伴合作,以便在 2025 年晚些时候推出生产就绪版本。
A2A GitHub 存储库 提供了 TypeScript 和 Python 中的几个 代码示例,以及一个全面的 演示应用程序。 此应用程序展示了使用不同的 Agent Development Kits (ADK) 开发的 Agent 之间的交互。
虽然这为实验提供了基础,但在 A2A 被用于关键任务应用程序之前,必须将其集成到用于部署 Agentic Workflows 的现有框架和工具生态系统中。
与谷歌合作制定协议定义的大量主要参与者的支持(值得注意的是,没有提供基础模型的公司)强烈表明,必要的工具将很快可用,并且 A2A 将被集成到领先的 Agent 框架中。
A2A 与模型上下文协议 (MCP):理解区别
模型上下文协议 (MCP) 由 Anthropic 开发,使应用程序能够向大型语言模型提供上下文。 Anthropic 将 MCP 描述为“AI 应用程序的 USB-C 端口”,它提供了一种将 LLM 连接到数据源和工具的标准化方式,就像 USB 将各种外围设备连接到设备一样。
根据 Google 的说法,A2A 无意取代 MCP。 这两个协议之间的重叠很少; 它们解决了不同的问题,并在不同的抽象级别上运行。 A2A 促进了 Agent 之间的交互,而 MCP 将大型语言模型连接到工具,而工具又将它们连接到服务和数据。 因此,这两个协议是互补的。
Agent2Agent 和模型上下文协议是同一个难题的两个部分,它们都需要实现代理工作流和无处不在的人工智能的未来愿景。