背景与意义

  • 单个 AI Agent 在处理复杂、多方面问题时存在局限。
  • Agent-to-Agent (A2A) 协议 提供开放、标准化的通信方式,使不同框架(如 Google ADK、LangGraph、CrewAI)构建的 Agent 能够互操作。
  • 目标:实现 无缝协作、任务委派、信息交换,降低集成成本,促进模块化和可扩展的多 Agent 系统。
    在这里插入图片描述

A2A 协议核心概念

1. 核心参与者

  • 用户:发起请求。
  • A2A 客户端(客户端 Agent):代表用户发出请求。
  • A2A 服务器(远程 Agent):通过 HTTP 端点处理请求并返回结果,客户端无需了解其内部实现。

2. Agent 卡片(Agent Card)

  • Agent 的数字身份(JSON 文件)。
  • 包含:名称、描述、端点 URL、版本、功能(流式传输、推送通知)、技能、输入/输出模式、认证方式。
  • 作用:支持 自动发现、交互与安全声明

3. Agent 发现机制

  • 知名 URI:如 /.well-known/agent.json
  • 策展注册表:集中目录,适合企业环境。
  • 直接配置:适用于私有或紧密耦合系统。
  • 安全措施:访问控制、mTLS、网络限制。

4. 通信与任务

  • 任务(Task):异步、长时间运行的基本工作单元,具备唯一 ID 和状态流转(提交 → 工作中 → 完成)。
  • 消息(Message):包含属性(元数据)和部分(内容,如文本、JSON、文件)。
  • 工件(Artifact):任务输出,可流式传输。
  • 协议:基于 HTTP(S),使用 JSON-RPC 2.0,有 contextId 保持上下文。

5. 交互机制

  • 同步请求/响应:适合快速操作。
  • 异步轮询:适合长任务,客户端定期查询状态。
  • 流式更新(SSE):实时推送增量结果。
  • Webhook 推送通知:适合超长任务,服务器主动回调客户端。
  • 多模态支持:不仅限于文本,还可用于音频、视频。

6. 安全性

  • 双向 TLS:加密与认证。
  • 审计日志:记录所有通信,便于追踪。
  • 身份验证:在 Agent 卡片中声明,常用 OAuth2.0 或 API Key。
  • 凭据保护:通过 HTTP 头传递,避免泄露。

A2A 与 MCP 的关系

  • MCP(模型上下文协议):专注于 Agent 与外部数据/工具的交互。
  • A2A:专注于 Agent 间的协调与任务委派
  • 二者互补,共同支持复杂多 Agent 系统。

实际应用场景

  1. 多框架协作:不同框架的 Agent(ADK、LangChain、CrewAI)协同工作。
  2. 自动化工作流编排:任务分解与委派(如数据收集 → 分析 → 报告生成)。
  3. 动态信息检索:主 Agent 调用专门的数据获取 Agent 获取实时数据。

概览与经验法则

  • 是什么:解决不同框架 Agent 隔离问题的开放协议。
  • 为什么:降低集成成本,促进模块化、可扩展的多 Agent 系统。
  • 何时使用:当需要跨框架、多 Agent 协作时,尤其是复杂工作流或动态任务发现。

关键要点

  • A2A 是 开放、基于 HTTP 的标准,支持多框架互操作。
  • AgentCard 是核心,定义 Agent 身份与能力。
  • 提供 同步、异步、流式、推送 等多种交互模式。
  • 支持 多模态通信(文本、音频、视频)。
  • 内置 安全机制(mTLS、OAuth、审计日志)。
  • 与 MCP 协议互补,分别解决 Agent-外部交互Agent-间交互
  • 得到 Google、Microsoft、SAP、Salesforce 等大厂支持。

结论

A2A 协议是 多 Agent 协作生态的基石
它通过标准化的通信方式,打破框架隔离,实现 模块化、可扩展、安全 的多 Agent 系统。
未来,A2A 将成为构建复杂智能体网络和企业级 AI 应用的核心协议。

Logo

更多推荐