A2A Protocol 技术文档
A2A Protocol 技术文档
什么是 A2A 协议
Agent2Agent(A2A)协议是一个开放标准,用于让不透明的智能体应用之间实现通信与协作。在智能体由不同框架、不同厂商构建的世界里,A2A 提供了一套通用语言,让智能体互相发现、委派任务并交换结果,而不必暴露各自的内部记忆、工具或专有逻辑。
核心特性
- 互操作:连接基于 LangGraph、CrewAI、Semantic Kernel 或自研方案构建的智能体,组合出更强大的复合 AI 系统;
- 复杂工作流:智能体之间可以委派子任务、交换信息、协调行动,解决单个智能体无法完成的问题;
- 安全且不透明:智能体之间无需共享内部记忆、工具或专有逻辑,保护安全与知识产权;
- 可扩展:通过协议扩展与自定义绑定增加能力,并由分级晋升流程保证核心保持稳定。
参与者
A2A 交互涉及三类角色:用户(使用智能体系统完成任务的人或服务)、A2A 客户端(代表用户向智能体发起请求的应用或智能体)、A2A 服务端(暴露 A2A 端点、对客户端不透明的远程智能体)。详见核心概念 。
文档导航
文档分为开始使用、发布 Agent、交换任务、互操作与运维、参考资料五类,覆盖协议概念、实现方法和字段查询。
| 主题 | 内容 | 入口 |
|---|---|---|
| 开始使用 | 协议介绍、核心概念与动手教程。 | 协议介绍 · 什么是 A2A · 动手教程 |
| 发布 Agent | 能力与接口声明、字段校验、安全方案和可选签名。 | Agent Card 实现指南 |
| 交换任务 | 消息、任务状态、事件流与故障恢复。 | Task 运行时指南 |
| 互操作与运维 | 协议绑定兼容性,以及安全、观测与发布检查。 | 互操作速查 · 生产就绪检查 |
| 参考资料 | 错误码、字段定义、核心对象与官方 SDK。 | 速查 · 核心对象 · 官方 SDK |
入门
- 协议介绍 :背景、设计原则与技术架构;
- 什么是 A2A :它解决的问题,以及一次请求的完整生命周期;
- 核心概念 :Agent Card、任务、消息、Part 与产出物;
- 核心对象 :Agent Card、Task、Message、Part、Artifact 各一页,另有 AgentSkill 与 SecurityScheme;
- 速查 :错误码映射、Agent Card proto 字段编号,以及跨绑定、跨版本的互操作速查;
- 常见问题 :A2A 与 MCP、智能体发现、认证、版本迁移等高频问题。
动手实践
- Python 教程 :从零构建第一个 A2A 智能体;
- Agent Card 实现指南 :能力、接口与安全方案的声明,以及字段校验和可选签名。
- Task 运行时指南 :选择交付方式、弄清每个状态允许什么,并用可运行的校验程序检查事件流;
- 生产就绪检查 :发布前验证公开契约、访问隔离、能力声明、故障恢复、可观测性和回滚;
- 官方 SDK :Python、Go、Java、JavaScript、.NET、Rust 六种语言;
- A2A CLI :在终端中发现、调用和管理任何 A2A 智能体。
核心主题
规范与版本
- 协议规范 :官方规范的译读,用于核对原文、数据结构、发现机制与协议绑定;
- A2A v1.0 有哪些变化 :从 v0.3.0 迁移到 v1.0 的完整指南(与官方一致的同步页);
- 官方来源与资源 :官方原文、规范译读、官方博客译文以及 SDK 与示例仓库的入口。
社区与生态
来源:A2A 官方文档