Agent2Agent Protocol
智能体到智能体协议(A2A)是一项开放标准,让不同厂商的 AI 智能体能够相互发现、委派任务并返回结果。
智能体间通信(A2A)协议是一项开放标准,可让不同供应商基于不同框架构建的 AI 智能体(例如使用 LangChain 或 Google Agent Development Kit 构建的智能体)彼此发现、委派任务并返回结果。每个智能体都保持不透明:它会公布自身能做什么,并通过共享接口接收任务,但绝不会公开提示、记忆、工具或模型。Google 于 2025 年 4 月 9 日宣布推出 A2A,当时有 50 多家技术合作伙伴参与;之后 Google 将其捐赠给 Linux Foundation。IBM 的智能体通信协议于 2025 年 8 月并入 A2A。首个稳定规范 1.0 版于 2026 年 3 月发布;到 2026 年 8 月,获得 150 多家组织支持的 A2A 加入了 Agentic AI Foundation,该基金会也托管 Model Context Protocol。
A2A 的工作原理#
A2A 规范定义了两种角色:需要他人完成工作的客户端智能体,以及负责执行工作的远程智能体。远程智能体会发布 Agent Card,这是一份通常通过 /.well-known/agent-card.json 提供的 JSON 文档,其中列出智能体名称、端点、身份验证要求、输入和输出格式以及技能。客户端读取卡片,判断该智能体是否适合这项工作,然后发送消息。
- 消息:带有角色信息的一轮或多轮通信,每个部分包含文本、文件或结构化数据。
- 任务:带有 ID 和状态的有状态工作单元。任务会经历已提交、处理中、需要输入、需要身份验证、已完成、失败、已取消和已拒绝等状态,因此远程智能体可以在工作进行过程中暂停并向客户端提问。
- 制品:任务生成的输出,例如报告、图像或 JSON 记录;这些内容与对话消息分开返回。
- 流式传输和推送通知:长时间运行的任务会通过数据流发送增量更新,或在完成时通过 webhook 通知客户端,因此适用于需要数小时的工作。
1.0 版定义了三种协议绑定:JSON-RPC 2.0、gRPC 和 HTTP+JSON,并包含 SendMessage、GetTask 和 CancelTask 等方法。它还增加了版本协商和多租户支持,并保留了 0.3 版引入的签名 Agent Card,客户端可据此验证卡片的发布者。
Agent Card 示例#
这张卡片通过 JSON-RPC 绑定发布了一个零售视觉智能体的信息。必填字段包括名称、描述、版本、接口、能力、默认输入和输出模式以及技能;每项技能还需要 ID、名称、描述和标签:
{
"name": "Shelf Vision Agent",
"description": "Finds empty facings and counts products in retail shelf photos.",
"version": "1.0.0",
"supportedInterfaces": [
{ "url": "https://vision.example.com/a2a/v1", "protocolBinding": "JSONRPC", "protocolVersion": "1.0" }
],
"capabilities": { "streaming": true, "pushNotifications": false },
"defaultInputModes": ["image/jpeg", "text/plain"],
"defaultOutputModes": ["application/json", "image/jpeg"],
"skills": [
{
"id": "shelf-audit",
"name": "Shelf audit",
"description": "Counts each product and lists empty facings with their shelf positions.",
"tags": ["retail", "object-detection"],
"examples": ["Which facings in this aisle photo are empty?"]
}
]
}读取这张卡片的门店运营智能体会知道,它可以发送 JPEG 图像或文本,并接收 JSON 或带注释的图像;examples 字段则展示了该技能预期接收的请求类型。
A2A 与相关协议和概念的比较#
- 模型上下文协议(MCP):将一个智能体连接到它直接使用的工具和数据。A2A 则将智能体连接到能够自主规划和行动的其他智能体;两者旨在协同工作,远程 A2A 智能体通常会在内部使用 MCP 工具。
- 函数调用和工具使用:函数调用使用固定参数执行一项操作。A2A 请求则交付一个目标,由远程智能体决定执行步骤。
- AI 智能体编排:决定由哪个智能体处理哪个子任务,并合并各智能体的结果。编排器可以使用 A2A 这种传输方式来联系它未托管的智能体。
- 智能体技能:智能体加载以学习某项流程的指令文件夹。Agent Card 中的 A2A 技能是远程智能体所提供能力的说明,不附带任何指令。
应用与安全#
A2A 适用于跨团队或公司边界的智能体工作流:例如通过航空公司和酒店智能体预订行程的旅行智能体、与供应商智能体协商的采购智能体,或将货架照片发送给计算机视觉智能体并把空货架报告传给库存管理智能体的零售运营智能体。此类卡片背后的视觉智能体可以将感知任务委派给 Ultralytics Platform 专用端点,该端点在经 API 密钥验证的 /predict URL 上提供经过训练的 YOLO26 模型,并将 JSON 目标检测结果作为制品返回给客户端。智能体商务所用的通用商务协议内置了 A2A 支持。
智能体之间的每一跳都是一个信任边界。客户端通过远程智能体卡片声明的安全方案(例如 OAuth 2.0 或 OpenID Connect)对远程智能体进行身份验证,验证签名卡片,并将返回的消息和制品视为不可信输入,因为其中可能包含提示注入。《OWASP 智能体应用十大风险》将智能体间通信不安全和级联故障列为十大风险中的两项;生产环境部署还会添加超时、任务取消、按技能授权,以及可观测性追踪,以跟踪请求经过的每个智能体。










