Affordable and efficient Sora video watermark removal. Sign up now and get 1 free credits!
A2A Protocol

2025年完整指南:Agent2Agent (A2A) 协议 - AI智能体协作的新标准

MILO
Share
2025 Complete Guide: Agent2Agent (A2A) Protocol - The New Standard for AI Agent Collaboration

🎯 核心要点 (TL;DR)

  • A2A协议:首个专为AI智能体间通信设计的开放标准,解决不同组织开发的AI智能体协作难题
  • 核心价值:通过标准化通信协议,让专业化AI智能体能够无缝协作完成复杂任务
  • 技术基础:基于JSON-RPC 2.0和HTTP(S),支持流式传输、推送通知等企业级功能
  • 与MCP互补:A2A专注智能体间协作,MCP专注工具集成,两者配合构建完整的智能体生态系统

目录

  1. 什么是A2A协议?
  2. A2A协议核心概念
  3. A2A与MCP协议对比
  4. 智能体发现机制
  5. 实际应用场景
  6. 技术实现指南
  7. 常见问题解答
  8. 总结与行动建议
  9. 快速入门案例
  10. Python 实现案例
  11. JavaScript/TypeScript 案例
  12. Java 实现案例
  13. 框架集成案例
  14. 协议集成案例
  15. 开发工具和 SDK
  16. 技术规范和最佳实践
  17. 生态系统和资源
  18. 协议比较和分析

什么是A2A协议?

Agent2Agent (A2A) 协议是一个开放标准,专门解决AI智能体生态系统中的核心挑战:如何让不同团队、使用不同技术、属于不同组织的AI智能体有效沟通和协作?

解决的核心问题

想象用户要求其主要AI助手规划一次国际旅行,这个单一请求可能需要协调多个专业智能体的能力:

  1. 航班预订智能体 - 处理机票搜索和预订
  2. 酒店预订智能体 - 管理住宿安排
  3. 当地旅游智能体 - 提供景点推荐和预订
  4. 金融服务智能体 - 处理货币转换和旅行建议

💡 核心洞察

没有通用通信协议的情况下,集成这些多样化智能体需要大量定制化点对点解决方案,系统难以扩展、维护和扩展。

A2A解决方案的五大支柱

特性 描述 技术实现
统一传输格式 JSON-RPC 2.0 over HTTP(S) 标准化消息结构和传输
智能体发现 Agent Cards机制 智能体能力广告和发现
任务管理工作流 支持长期运行任务 多轮交互和状态管理
多模态数据支持 文本、文件、结构化数据 丰富媒体内容交换
企业级安全 异步处理、认证授权 生产环境就绪

A2A协议核心概念

核心参与者

graph LR
    A[用户] --> B[A2A客户端<br/>客户智能体]
    B --> C[A2A服务端<br/>远程智能体]
    C --> D[任务执行结果]
    D --> B
    B --> A
  • 用户 (User): 发起请求的最终用户或自动化服务
  • A2A客户端: 代表用户向远程智能体发起请求的应用或智能体
  • A2A服务端: 实现A2A协议HTTP端点的AI智能体或智能体系统

基础通信元素

1. Agent Card(智能体名片)

📋 定义

JSON元数据文档,通常可在众所周知的URL(如/.well-known/agent.json)发现,描述A2A服务端的完整信息。

Agent Card包含信息:

  • 智能体身份(名称、描述)
  • 服务端点URL和版本
  • 支持的A2A能力(流式传输、推送通知)
  • 具体技能列表
  • 认证要求

2. Task(任务)

graph TD
    A[submitted<br/>已提交] --> B[working<br/>处理中]
    B --> C[input-required<br/>需要输入]
    C --> B
    B --> D[completed<br/>已完成]
    B --> E[failed<br/>失败]
  • 每个任务拥有智能体定义的唯一ID
  • 任务具有状态性,可涉及多次消息交换
  • 支持长期运行的复杂操作

3. Message(消息)

  • 角色区分: "user"(客户端发送)或"agent"(服务端发送)
  • 内容载体: 包含一个或多个Part对象
  • 唯一标识: 每条消息都有发送方设置的messageId

4. Part(内容部分)

Part类型 用途 示例
TextPart 纯文本内容 指令、问题、回答
FilePart 文件传输 文档、图片、数据文件
DataPart 结构化数据 JSON表单、参数、机器可读信息

5. Artifact(工件)

最佳实践

智能体在任务完成状态时应使用Artifact对象向客户端返回生成的输出结果。

交互机制对比

机制 适用场景 技术实现 优缺点
请求/响应 简单查询、快速任务 HTTP请求+轮询 简单但效率较低
流式传输 实时更新、增量结果 Server-Sent Events 实时性好,需持续连接
推送通知 长期任务、异步处理 Webhook回调 适合长期任务,实现复杂

A2A与MCP协议对比

协议定位差异

🎯 核心区别

MCP专注工具连接,A2A专注智能体协作 - 两者互补而非竞争关系。

对比维度 A2A协议 MCP协议
主要用途 AI智能体间对等协作 AI模型与工具/资源连接
交互特点 状态化、多轮对话、协商式 无状态、单次调用、事务性
应用场景 智能体委托、协作项目管理 函数调用、API查询、数据获取
复杂度 支持复杂、动态交互 结构化、可预测的输入输出

实际应用示例:汽车维修店

graph TB
    A[客户] -->|A2A协议| B[店长智能体]
    B -->|A2A协议| C[机械师智能体]
    C -->|MCP协议| D[车辆诊断扫描仪]
    C -->|MCP协议| E[维修手册数据库]
    C -->|MCP协议| F[升降平台]
    C -->|A2A协议| G[零件供应商智能体]

场景分析:

  1. 客户交互(A2A): 客户通过A2A与店长智能体多轮对话诊断问题
  2. 内部工具使用(MCP): 机械师智能体使用MCP调用专业工具
  3. 供应商协作(A2A): 机械师智能体与供应商智能体协商零件采购

智能体发现机制

1. 标准URI发现

📍 推荐路径

https://{智能体服务器域名}/.well-known/agent.json

实施步骤:

  1. 客户端智能体获知潜在A2A服务器域名
  2. 向标准路径发送HTTP GET请求
  3. 服务器返回Agent Card JSON响应

优势: 简单、标准化,支持自动化发现

2. 策划注册表(目录式发现)

graph TD
    A[智能体注册] --> B[中央注册表]
    C[客户端查询] --> B
    B --> D[匹配的Agent Cards]
    D --> C

适用场景:

  • 企业环境
  • 专业市场
  • 特定生态系统

优势:

  • 集中管理和治理
  • 基于功能能力的发现
  • 访问控制和信任机制

3. 直接配置/私有发现

适用情况:

  • 紧密耦合系统
  • 私有智能体
  • 开发测试环境

实际应用场景

场景1:国际旅行规划

sequenceDiagram
    participant U as 用户
    participant PA as 主助手
    participant FA as 航班智能体
    participant HA as 酒店智能体
    participant TA as 旅游智能体
    
    U->>PA: 规划东京5日游
    PA->>FA: 查询航班选项
    FA-->>PA: 返回航班方案
    PA->>HA: 预订酒店
    HA-->>PA: 确认住宿
    PA->>TA: 安排当地活动
    TA-->>PA: 推荐行程
    PA-->>U: 完整旅行计划

场景2:企业客服协作

多智能体协作流程:

  1. 一线客服智能体 - 处理常见问题
  2. 专业技术智能体 - 解决技术难题
  3. 账单处理智能体 - 处理财务相关问题
  4. 升级管理智能体 - 处理投诉和特殊情况

⚠️ 注意事项

智能体间协作需要维护完整的用户上下文,确保服务连续性和一致性。

技术实现指南

Agent Card示例结构

{
  "name": "智能旅行助手",
  "description": "专业的旅行规划和预订服务",
  "provider": "TravelTech Inc.",
  "url": "https://api.travelagent.com/a2a",
  "version": "1.0.0",
  "capabilities": ["streaming", "pushNotifications"],
  "authentication": {
    "schemes": ["Bearer"]
  },
  "skills": [
    {
      "id": "flight-booking",
      "name": "航班预订",
      "description": "搜索和预订国际航班",
      "inputModes": ["text", "data"],
      "outputModes": ["text", "data"]
    }
  ]
}

安全最佳实践

安全层面 实施建议 技术方案
认证 使用标准Web认证 OAuth 2.0, API密钥
授权 基于角色的访问控制 JWT令牌,权限矩阵
传输安全 强制HTTPS TLS 1.2+,证书验证
网络隔离 限制访问范围 VPC,IP白名单

开发集成步骤

  1. 设计Agent Card - 定义智能体能力和接口
  2. 实现A2A端点 - 基于JSON-RPC 2.0规范
  3. 配置发现机制 - 选择合适的发现策略
  4. 集成认证系统 - 实施安全访问控制
  5. 测试互操作性 - 验证与其他智能体的协作

🤔 常见问题解答

Q: A2A协议与现有的API有什么根本区别?

A: A2A专门为智能体间的对等协作设计,支持状态化、多轮交互和复杂任务管理,而传统API主要用于简单的功能调用。A2A智能体可以进行推理、规划和协商,这是普通API无法提供的。

Q: 如何选择使用A2A还是MCP协议?

A:

  • 选择A2A: 需要智能体间协作、多轮对话、状态管理的场景
  • 选择MCP: 需要调用工具、查询数据库、执行特定函数的场景
  • 两者结合: 大多数复杂应用需要同时使用两种协议

Q: A2A协议的性能如何?支持大规模部署吗?

A: A2A基于成熟的HTTP和JSON-RPC标准,具备良好的可扩展性。通过流式传输和推送通知机制,可以有效处理长期运行任务。企业级特性如认证、监控、追踪都有标准化支持。

Q: 如何确保智能体协作的安全性?

A: A2A采用标准Web安全实践:

  • HTTP(S)加密传输
  • 标准认证方案(OAuth 2.0、Bearer Token)
  • Agent Card访问控制
  • 网络层隔离和监控

Q: A2A协议是否支持离线或断网场景?

A: A2A原生支持异步操作,通过推送通知机制可以处理智能体或用户不持续在线的场景。长期运行任务可以在网络恢复后继续执行。

总结与行动建议

核心价值总结

A2A协议代表了AI智能体生态系统发展的重要里程碑,它解决了智能体间协作的标准化问题,为构建更强大、更灵活的AI应用奠定了基础。

立即行动建议

  1. 评估现有系统 - 识别可以通过智能体协作改进的业务流程
  2. 选择试点场景 - 从简单的智能体间协作开始实施
  3. 技术准备 - 学习JSON-RPC 2.0和相关Web标准
  4. 社区参与 - 关注A2A协议社区发展和最佳实践分享

🚀 未来展望

随着AI智能体能力的不断增强,A2A协议将成为构建协作式AI生态系统的关键基础设施,推动AI应用向更复杂、更智能的方向发展。

相关资源


本指南基于A2A协议官方文档编写,内容持续更新以反映最新的协议发展和最佳实践。

🚀 快速入门案例

基础示例

  • A2A Samples: Hello World Agent (May 28, 2025)
    • 使用 A2A Python SDK 构建 Hello World 代理的完整指南
    • 包含详细的环境设置和测试说明

货币转换代理

🐍 Python 实现案例

GitHub 集成

旅行规划助手

文件聊天工作流

Python 教程系列

🟨 JavaScript/TypeScript 案例

电影信息代理

JavaScript SDK 教程

Java 实现案例

  • A2A Java Sample (June 5, 2025)
    • Maven 多模块架构
    • Spring Boot 服务器 SDK 实现
    • AI 翻译服务示例

🔧 框架集成案例

ADK 集成

费用报销代理

CrewAI 集成

LangGraph 集成

🔗 协议集成案例

MCP 协议集成

🛠️ 开发工具和 SDK

.NET SDK

调试工具

📚 技术规范和最佳实践

协议规范

示例和方法

协议理解

🌟 生态系统和资源

实现集合

  • A2A Implementations (May 2, 2025)
    • 探索各种 A2A 协议的开源实现
    • 包括 Java、TypeScript、Go、Rust、Python 等

资源目录

  • Awesome A2A Directory (April 19, 2025)
    • 探索 Google A2A 协议的完整生态系统
    • 包含官方文档、社区实现、示例项目和集成指南

📊 协议比较和分析

协议对比

Related Articles

Explore more content related to this topic

A2A vs ACP Protocol Comparison Analysis Report

A2A (Agent2Agent Protocol) and ACP (Agent Communication Protocol) represent two mainstream technical approaches in AI multi-agent system communication: 'cross-platform interoperability' and 'local/edge autonomy' respectively. A2A, with its powerful cross-vendor interconnection capabilities and rich task collaboration mechanisms, has become the preferred choice for cloud-based and distributed multi-agent scenarios; while ACP, with its low-latency, local-first, cloud-independent characteristics, is suitable for privacy-sensitive, bandwidth-constrained, or edge computing environments. Both protocols have their own focus in protocol design, ecosystem construction, and standardization governance, and are expected to further converge in openness in the future. Developers are advised to choose the most suitable protocol stack based on actual business needs.

ACP
Read article