战国无双-策略国战活动站

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

- 城建攻略

🎯 核心要点 (TL;DR)

A2A协议:首个专为AI智能体间通信设计的开放标准,解决不同组织开发的AI智能体协作难题

核心价值:通过标准化通信协议,让专业化AI智能体能够无缝协作完成复杂任务

技术基础:基于JSON-RPC 2.0和HTTP(S),支持流式传输、推送通知等企业级功能

与MCP互补:A2A专注智能体间协作,MCP专注工具集成,两者配合构建完整的智能体生态系统

目录

什么是A2A协议?

A2A协议核心概念

A2A与MCP协议对比

智能体发现机制

实际应用场景

技术实现指南

常见问题解答

总结与行动建议

快速入门案例

Python 实现案例

JavaScript/TypeScript 案例

Java 实现案例

框架集成案例

协议集成案例

开发工具和 SDK

技术规范和最佳实践

生态系统和资源

协议比较和分析

什么是A2A协议?

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

解决的核心问题

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

航班预订智能体 - 处理机票搜索和预订

酒店预订智能体 - 管理住宿安排

当地旅游智能体 - 提供景点推荐和预订

金融服务智能体 - 处理货币转换和旅行建议

💡 核心洞察

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

A2A解决方案的五大支柱

特性

描述

技术实现

统一传输格式

JSON-RPC 2.0 over HTTP(S)

标准化消息结构和传输

智能体发现

Agent Cards机制

智能体能力广告和发现

任务管理工作流

支持长期运行任务

多轮交互和状态管理

多模态数据支持

文本、文件、结构化数据

丰富媒体内容交换

企业级安全

异步处理、认证授权

生产环境就绪

A2A协议核心概念

核心参与者

graph LR

A[用户] --> B[A2A客户端
客户智能体]

B --> C[A2A服务端
远程智能体]

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
已提交] --> B[working
处理中]

B --> C[input-required
需要输入]

C --> B

B --> D[completed
已完成]

B --> E[failed
失败]

每个任务拥有智能体定义的唯一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[零件供应商智能体]

场景分析:

客户交互(A2A): 客户通过A2A与店长智能体多轮对话诊断问题

内部工具使用(MCP): 机械师智能体使用MCP调用专业工具

供应商协作(A2A): 机械师智能体与供应商智能体协商零件采购

智能体发现机制

1. 标准URI发现

📍 推荐路径

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

实施步骤:

客户端智能体获知潜在A2A服务器域名

向标准路径发送HTTP GET请求

服务器返回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:企业客服协作

多智能体协作流程:

一线客服智能体 - 处理常见问题

专业技术智能体 - 解决技术难题

账单处理智能体 - 处理财务相关问题

升级管理智能体 - 处理投诉和特殊情况

⚠️ 注意事项

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

技术实现指南

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白名单

开发集成步骤

设计Agent Card - 定义智能体能力和接口

实现A2A端点 - 基于JSON-RPC 2.0规范

配置发现机制 - 选择合适的发现策略

集成认证系统 - 实施安全访问控制

测试互操作性 - 验证与其他智能体的协作

🤔 常见问题解答

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应用奠定了基础。

立即行动建议

评估现有系统 - 识别可以通过智能体协作改进的业务流程

选择试点场景 - 从简单的智能体间协作开始实施

技术准备 - 学习JSON-RPC 2.0和相关Web标准

社区参与 - 关注A2A协议社区发展和最佳实践分享

🚀 未来展望

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

相关资源

A2A协议官方规范

MCP协议官方文档

Agent Card设计指南

企业级部署最佳实践

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

🚀 快速入门案例

基础示例

A2A Samples: Hello World Agent (May 28, 2025)

使用 A2A Python SDK 构建 Hello World 代理的完整指南

包含详细的环境设置和测试说明

货币转换代理

Implementing CurrencyAgent with A2A Python SDK (May 21, 2025)

构建货币转换代理的分步指南

集成 OpenRouter AI 服务

🐍 Python 实现案例

GitHub 集成

A2A Python Sample: Github Agent (June 16, 2025)

使用 a2a-python 创建和连接 GitHub 代理

实现代码仓库信息查询功能

旅行规划助手

A2A Sample: Travel Planner OpenRouter (June 6, 2025)

集成 OpenRouter 的旅行规划代理实现

使用 Python a2a-sdk 构建

文件聊天工作流

LlamaIndex File Chat Workflow with A2A Protocol (June 2, 2025)

使用 LlamaIndex Workflows 构建文件聊天代理

支持文件上传解析、多轮对话、实时流式传输

Python 教程系列

Google A2A Python SDK Tutorial (May 19, 2025)

使用 Python 构建 A2A 代理的综合指南

包含环境设置、代理实现、服务器部署

Python A2A Tutorial 20250513 (May 13, 2025)

学习使用 Python 构建和交互 A2A 代理

涵盖流式处理和多轮对话功能

Python A2A Tutorial with Source Code (May 4, 2025)

包含完整源代码的实践指南

集成本地 Ollama AI 模型和 Langchain

Python A2A Tutorial (May 2, 2025)

使用 google-a2a 库构建 Python A2A 服务器

集成 Ollama 和 LangChain

Python A2A: A Comprehensive Guide to Google's Agent2Agent Protocol (April 14, 2025)

掌握 Python A2A 协议构建可互操作的 AI 代理

从基础到复杂多代理工作流

Practical Guide to the Official A2A SDK Python (May 10, 2025)

A2A SDK Python 开发深度教程

包含工作流程图和实用代码示例

🟨 JavaScript/TypeScript 案例

电影信息代理

A2A JS Sample: Movie Agent (June 16, 2025)

使用 TMDB API 和 OpenRouter AI 集成

Express.js 服务器实现

JavaScript SDK 教程

A2A JS SDK Complete Tutorial: Quick Start Guide (June 9, 2025)

TypeScript 类型安全实现

Express.js 服务器 SDK 和流式处理

A2A Protocol Development Guide(TypeScript) (April 11, 2025)

使用 TypeScript 掌握 A2A 协议

构建强大的代理通信系统

☕ Java 实现案例

A2A Java Sample (June 5, 2025)

Maven 多模块架构

Spring Boot 服务器 SDK 实现

AI 翻译服务示例

🔧 框架集成案例

ADK 集成

Implementing A2A Agents with ADK: Complete Development Guide (July 15, 2025)

使用 Google ADK 框架实现 A2A 智能代理系统

涵盖完整开发流程

费用报销代理

A2A ADK Expense Reimbursement Agent (July 10, 2025)

基于 Google ADK 和 A2A 协议的智能费用报销代理

自动生成表单补充信息

CrewAI 集成

A2A + CrewAI + OpenRouter Chart Generation Agent Tutorial (June 25, 2025)

使用 OpenRouter、CrewAI 和 A2A 协议构建图表生成代理

端到端代理开发教程

LangGraph 集成

Building an A2A Currency Agent with LangGraph (May 13, 2025)

使用 LangGraph 和 Google Gemini 模型构建货币代理

详细解释组件和数据流

🔗 协议集成案例

MCP 协议集成

A2A MCP AG2 Intelligent Agent Example (July 2, 2025)

使用 AG2 框架构建的 A2A 协议智能代理

集成 MCP 协议和 YouTube 字幕处理功能

A2A MCP Integration (June 4, 2025)

A2A 和 MCP 集成的分步指南

使用 Python SDK 和 OpenRouter 构建 AI 代理

🛠️ 开发工具和 SDK

.NET SDK

A2A .NET SDK Comprehensive Documentation (July 3, 2025)

实现 Google A2A Protocol v0.2.1 的 .NET 库

适用于 ASP.NET Core 应用程序

调试工具

A2A Inspector: A Deep Dive into Agent2Agent Communication Debugging (June 18, 2025)

基于 Web 的强大调试工具

实时检查代理卡片和 JSON-RPC 通信

Using A2A Protocol Validator to Verify Domain Support for A2A Protocol (June 3, 2025)

使用 A2A Protocol Validator 验证 A2A 协议

可视化 AgentCard 便于调试

📚 技术规范和最佳实践

协议规范

A2A Protocol Specification (Python) (July 16, 2025)

Python 实现规范的综合指南

涵盖代理卡片、消息传递、任务管理等核心功能

示例和方法

A2A Sample Methods and JSON Responses (April 12, 2025)

展示 A2A 协议核心方法的详细指南

包含实用的 JSON 示例

协议理解

Understanding A2A Protocol: A Comprehensive Guide (April 10, 2025)

理解 A2A 协议的综合指南

核心概念和 AI 代理互操作性优势

🌟 生态系统和资源

实现集合

A2A Implementations (May 2, 2025)

探索各种 A2A 协议的开源实现

包括 Java、TypeScript、Go、Rust、Python 等

资源目录

Awesome A2A Directory (April 19, 2025)

探索 Google A2A 协议的完整生态系统

包含官方文档、社区实现、示例项目和集成指南

📊 协议比较和分析

协议对比

A2A vs MCP vs ACP Protocol Comparison Analysis Report (July 5, 2025)

A2A 和 ACP 协议的详细比较分析

跨平台互操作性 vs 本地边缘自主性

A2A vs MCP vs AG-UI (May 16, 2025)

AG-UI、MCP 和 A2A 协议的深度分析

技术实现和应用场景探索

A2A vs MCP: The Protocol Revolution in AI Architecture (April 10, 2025)

理解 A2A 协议与 MCP 的综合指南

AI Protocols Analysis Report: A2A, MCP, and ACP (May 9, 2025)

深入分析 MCP、ACP 和 A2A 协议

核心功能、实现特征和安全特性

A2A MCP: Predicting the Winner in AI Protocol Evolution (June 10, 2025)

A2A MCP 协议的综合比较分析

预测 A2A MCP 在互操作性、可扩展性方面的未来发展

哪些Apps是流量無底黑洞?1表揭露Top 20排名 附3招慳數據好方法
夫妻年入15万,老婆却总偷偷拿钱给娘家!浙江男子苦闷:我该怎么办