a2a-directory
sing1ee/a2a-directory加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
当一家公司同时运行着 LangGraph 编写的旅行规划代理、CrewAI 构建的图像生成代理,以及 Azure AI Foundry 托管的企业数据代理,这些来自不同框架的"孤岛"代理,如何像同一支团队一样无缝协作?A2A Directory(Agent2Agent Directory)就是为回答这个问题而生的开源项目——它是围绕 Google A2A 协议构建的最全面、最系统的开放资源库,收录了来自 Google 官方与全球社区的 AgentCards、服务器实现、客户端库、开发文档与实战示例,堪称 A2A 协议的"百科全书"。
2025年,AI Agent 领域迎来了前所未有的爆发。以 LangGraph、AutoGen、CrewAI、Microsoft Semantic Kernel 为代表的 Agent 框架百花齐放,但每个框架都有自己的工具调用接口、消息格式和生命周期管理方式。这带来了一个根本性问题:用框架 A 构建的代理,无法直接与框架 B 的代理对话。企业若要在同一业务流程中整合多框架能力,往往需要为每对框架组合编写定制桥接代码,维护成本呈指数级增长。
Google 在 2025 年 4 月正式发布 Agent2Agent(A2A)协议,正是为了解决这一互操作性困境。A2A 定义了一套基于 JSON-RPC 2.0 的标准化通信规范,让不同框架、不同语言、不同团队开发的 AI 代理,能够通过统一的方式相互发现(AgentCard)、发送任务(tasks/send)、订阅更新(tasks/sendSubscribe)和获取结果。这与 MCP(Model Context Protocol)形成互补——MCP 解决的是"AI 模型如何调用工具"的问题,而 A2A 解决的是"AI 代理如何彼此协作"的问题。
项目发起人 sing1ee(GitHub @sing1ee)敏锐地意识到,尽管 A2A 官方提供了核心规范,但分散在各处的示例代码、多语言 SDK 实现、工具链资源和社区贡献,需要一个统一的汇聚站点才能真正发挥价值。于是 A2A Directory 应运而生,并在发布后迅速获得 237 颗星,登上 Hacker News 首页,引发了社区的广泛讨论。

图1:A2A Directory 收录内容概览,包括官方示例、多语言 SDK 与社区实现
A2A Directory 采用清晰的三层结构组织内容,分别面向协议学习者、框架开发者和企业用户。
第一层:官方资源与入门路径。项目首先聚合了 Google 官方的 A2A 核心资源,包括官方文档站点(google.github.io/A2A)、JSON 规范(specification)、Agent Card 规范,以及官方仓库 google-a2a/A2A 的链接。README 中提供了循序渐进的入门路径:先阅读技术文档,再运行官方示例仓库(google-a2a/a2a-samples),最后基于官方库或示例构建自己的应用。对于刚接触 A2A 的开发者,这条路径几乎涵盖了从零到一的全部所需。
第二层:官方示例的多语言覆盖。Google 官方在 a2a-samples 仓库中提供了跨语言的丰富示例,这是 A2A Directory 最核心的内容来源。在 Python 生态中,示例覆盖了几乎所有主流 Agent 框架:Google ADK(费用报告填写代理)、AG2 + MCP(多框架组合)、Azure AI Foundry、LangGraph(货币转换代理)、CrewAI(图像生成代理)、LlamaIndex(文件解析与聊天代理)、MindsDB(数据库代理)、Semantic Kernel(旅行规划代理)、AutoGen、Marvin 等。每个示例都链接到真实代码仓库,并附有简要描述,帮助开发者快速定位适合自己技术栈的参考实现。
Go 语言和 JavaScript/TypeScript 的示例同样丰富。Go 语言方面有 google-a2a 官方的 server、client 和 shared models;JavaScript/TypeScript 侧则有电影信息搜索代理(Movie Agent,使用 TMDB API)和代码生成代理(Coder Agent),展现了 A2A 在前端和 API 场景下的应用潜力。
第三层:社区实现的生态地图。如果说官方示例是 A2A 协议的"教材",那么社区实现就是"参考答案"。A2A Directory 收录了来自全球开发者的第三方实现,涵盖 Python(a2a-python 官方 SDK、python-a2a 社区库)、JavaScript(a2a-js 官方 SDK、legion-a2a)、Java(a2a-java 官方 SDK、a2ajava Spring Boot 实现、a2a4j)、Go(a2a-go 官方 SDK、trpc-a2a-go、a2aserver/a2a-go 等多个实现)、Rust(a2a-rs 六边形架构实现)等多个语言生态。
特别值得关注的是 trpc-a2a-go(来自 tRPC 团队),它将 A2A 协议与 tRPC 框架深度融合,支持 JWT、API Key、OAuth2 等多种认证方式,以及会话管理和流式响应,是对官方 Go SDK 的重要补充。另一个亮点是 jira-a2a——它展示了如何将 A2A 协议应用于 DevOps 场景,通过独立的 Go 代理组成的 Jira 自动化工作流,让 A2A 不再只是"实验室技术",而是真正落地到生产环境的案例。

图2:A2A 协议核心通信流程(tasks/send → tasks/sendSubscribe → taskResult)
A2A Directory 中的 docs/a2a-vs-mcp.md 文档,以一个生动的比喻清晰阐明了两大协议的核心区别:MCP 是工具车间,A2A 是会议室。
在 MCP 的视角下,AI 模型就像工厂里的工人,MCP 协议提供了各种工具的使用说明(API 规范),工人知道去哪里拿工具、工具怎么用,但工人之间如何协作不在 MCP 的职责范围内。这正是 MCP 的设计初衷——增强单体 AI 模型的工具调用能力,让它能访问文件系统、数据库、API 等外部资源。
而 A2A 则打开了一个更高的抽象层次。在 A2A 的视角下,每个 AI 代理都是一位拥有特定专业能力的"专家":旅行规划专家负责设计路线,数据查询专家负责拉取历史记录,图像生成专家负责渲染最终结果。A2A 协议让这些专家能够相互发现彼此的 AgentCard(包含能力描述、端点地址和认证要求),然后像真正的团队会议一样分配任务、共享进展、汇总结果。
从技术实现上看,A2A 协议基于 JSON-RPC 2.0,定义了四个核心方法:tasks/send(发送任务并同步等待结果)、tasks/get(查询任务状态)、tasks/pushNotification/set(配置推送通知)、tasks/sendSubscribe(发送任务并订阅实时更新)。协议支持 SSE(Server-Sent Events)实现流式响应,能够处理从简单问答到复杂多步骤规划的各种任务类型。安全性方面,A2A 支持 OpenAPI 规范中定义的认证方案,包括 Bearer Token、API Key、OAuth2 等企业级认证机制。
客观而言,A2A Directory 本身是一个文档聚合项目,而非可运行的代码库。这意味着它不包含任何服务端实现、Web UI 或容器化部署方案。用户无法通过 docker run 或 pip install 直接启动一个 A2A 服务——这与 MCP 的官方 Python SDK(mcp 库)形成对比,后者在安装后即可通过 SDK 构建可用的 MCP 服务器。
另一个值得关注的点是,A2A 协议本身仍在快速演进中。作为一个 2025 年 4 月才正式发布的年轻协议,其 API 规范、AgentCard 格式和最佳实践尚未完全稳定。社区中多个相互竞争的 Go 实现(trpc-a2a-go、a2aserver/a2a-go、a2aproject/a2a-go)并存,虽然体现了生态活力,但也给开发者选择带来了困惑。
尽管存在局限,A2A Directory 的价值在于它所代表的趋势——AI 行业正在从"模型军备竞赛"转向"协议标准化竞赛"。
2024 年,Anthropic 发布 MCP 并迅速获得广泛采用,标志着行业开始认识到:AI 系统与外部世界的连接方式,需要像 TCP/IP 之于互联网一样,形成可互操作的标准层。而 2025 年 Google 推出 A2A,则进一步将标准化推进到了代理层——不仅模型要能调用工具,代理之间也要能相互调用。
这种分层标准化的推进,意味着未来的 AI 应用开发范式可能发生根本变化:开发者不再需要为每对框架组合编写定制桥接,而是通过 A2A 协议让现成的专业代理快速组合成工作流程。AutoGen、CrewAI、LangGraph 等框架都可以成为 A2A 网络中的节点,各自发挥所长。A2A Directory 作为这个生态的百科全书,记录并推动着这一进程。
从增长数据看,项目自 2025 年 4 月创建以来持续更新(最近更新于 2026 年 7 月),收录范围从最初的官方示例逐步扩展到社区实现和多语言指南,作者 sing1ee 还维护了中文、日语、德语等多语言版本的 README,体现了良好的社区运营意识。随着 A2A 协议生态的扩张,这个目录的价值有望进一步提升。