开发与工程 agent-interoperabilityprotocoljson-rpcagent-discoverymulti-agentsdk

Agent2Agent (A2A) 协议

开放协议,让不同的AI Agent能发现彼此、协商交互方式并安全协作,构建互联互通的智能体生态。

FollowAgents 评估 · FARS-2.1
不推荐
0/ 100 五分制 0.0 / 5
1 2 3 4 5 6
1信任安全0 / 29 · 0.0/5

证据仅包含README、LICENSE、SECURITY.md和CI工作流,未提供任何关于权限最小化、用户确认、数据流透明、敏感数据处理、依赖安全、外部影响、回滚或来源归属的具体实现或文档。因此所有信任标准均得0分。

2可靠稳定0 / 14 · 0.0/5

证据中未包含任何代码或测试,无法评估自洽性、依赖可用性或失败消息。因此所有可靠性标准均得0分。

3适用触发0 / 18 · 0.0/5

README描述了目标受众和使用场景,但未提供具体的能力边界、触发精度或环境适配细节。因此所有适应性标准均得0分。

4规范维护0 / 18 · 0.0/5

README提供了项目概述和链接,但未包含安装说明、命名稳定性、示例、已知限制、版本变更日志或维护责任的具体信息。许可证文件存在,但未在评分中体现。因此所有约定标准均得0分。

5有效结果0 / 13 · 0.0/5

证据中未提供任何关于输出可用性、边际价值或成本效益的具体信息。因此所有有效性标准均得0分。

6证据核验0 / 8 · 0.0/5

证据中未提供任何可验证的声明或来源,无法进行声明可追溯性、跨来源佐证或事实与推断分离的评估。因此所有可验证性标准均得0分。

证据充分度: 评估于 2026年8月9日 审查版本 19598c4baddb
上游仓库在本次评估后已有新提交;当前评分仍对应所示审查版本,可能尚未覆盖最新改动。
源码中未见的安全控制:最小权限约束、执行前用户确认、数据流向说明、敏感信息处理、依赖安全审查、外部影响披露、回滚或恢复路径、来源归属可核验
使用前请注意
  • 该仓库仅包含协议文档和CI配置,未提供任何可执行代码或测试,无法验证其实际功能。
  • 发布者身份未经验证,且未提供任何安全或权限相关的实现细节,使用前需谨慎评估。
评估证据 [1][2][3][4][5]
查看完整评分方法 →

这个 Agent 能做什么,适合哪些场景?

A2A是一个开放协议,定义了一套标准化的消息格式和交互流程,使得不同框架、不同厂商构建的AI Agent(智能体)能够通信和协同工作。它解决了AI Agent之间互操作性缺失的问题,让它们以Agent而非工具的形式相互协作。协议基于JSON-RPC 2.0 over HTTP(S),通过‘Agent Card’进行发现,支持同步请求/响应、流式(SSE)和异步推送通知,并能交换文本、文件和结构化数据。项目由Linux基金会托管,提供Python、Go、JS等官方SDK,并配套完整的文档和示例。采用A2A协议,可以为Agent提供一种通用语言,促进更互联、更强大、更具创新性的AI生态系统。

A2A协议定义了一套标准化的交互机制,使Agent能够:1)通过发布'Agent Card'来发现彼此的能力,Agent Card包含了能力描述和连接信息;2)协商交互模式,包括文本、表单和媒体;3)通过任务管理相关方法(如message/send、task/get、task/cancel等)进行长期任务的协作,支持同步、流式和异步推送;4)在不暴露内部状态、记忆或工具的情况下安全协作。该协议本身不提供可执行文件,而是通过SDK(如a2a-python、a2a-go、a2a-js)为Agent开发提供库支持,开发者可以使用这些SDK将其Agent暴露为符合A2A的服务器,或创建客户端连接其他Agent。

  1. 使用Python SDK将基于LangGraph构建的Agent部署为A2A服务器,使其能被其他系统调用。
  2. 在医疗场景中,使用A2A连接多个不同框架的Agent,构建协作式患者分诊系统。
  3. 企业IT部门需要集成多个供应商的Agent,A2A作为标准协议实现跨供应商的Agent协同。
  4. 开发者创建A2A客户端,调用远程Agent执行特定任务,如客户服务机器人集成本地订单查询Agent。
  5. 使用A2A的流式传输和异步推送功能,实现实时对话或长任务进度通知。

这个 Agent 有哪些优点和局限?

优点
  • 开放、社区驱动的标准,Linux基金会托管,支持多厂商协作。
  • 提供多种语言官方SDK,降低接入门槛。
  • 支持灵活的交互模式(同步、流式、异步),适应不同场景。
  • 协议设计考虑了企业级需求的安全、认证和可观测性。
局限
  • 作为新协议,生态尚在早期,实际应用案例可能有限。
  • 需要开发者学习新协议和SDK,有学习成本。
  • 运行需依赖网络和HTTP服务,不适合离线环境。
  • 目前不支持动态方法发现(如QuerySkill()),灵活性和扩展性受限。

如何安装或部署这个 Agent?

A2A本身是协议规范,无需安装。但为了使用它,需要选择相应的SDK并安装依赖。官方提供了多种语言的SDK:Python SDK (pip install a2a-sdk)、Go SDK (go get github.com/a2aproject/a2a-go)、JS SDK (npm install @a2a-js/sdk)、Java SDK (通过Maven)、.NET SDK (dotnet add package A2A)、Rust SDK (cargo add a2a-lf)。安装后,还需要阅读官方文档和示例来了解如何实现A2A服务器或客户端。

如何使用这个 Agent?

首先,查看官方文档和协议规范(https://a2a-protocol.org)。然后,根据语言选择合适的SDK,并按照文档创建符合A2A的Agent服务器或客户端。参考官方示例(a2a-samples仓库)快速上手。例如,使用Python SDK,你可以从a2a.server导入A2ARequestHandler和A2AServer,定义你的Agent的逻辑,然后启动服务器。

常见问题

A2A与MCP有什么关系?
A2A旨在与MCP互补:MCP用于Agent与工具(Tool)之间的标准化交互,而A2A用于Agent与Agent之间的通信和协作。
A2A需要什么运行环境?
需要支持HTTP(S)的网络环境和JSON-RPC库,具体运行时取决于使用的SDK(如Python、Node.js等)。
使用A2A有许可限制吗?
A2A协议采用Apache 2.0许可,开源免费,可用于商业用途。
A2A如何保证安全?
协议在设计时考虑了企业级需求,支持认证、授权和可观测性,但具体实现需由开发者根据部署环境自行配置。

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents