title: “Hermes 0.20 新功能:A2A 协议,让 AI 智能体互相"打电话”" author: 三木 digest: “A2A 是什么、怎么运作、带来哪些提升?一文讲透” banner_path: imgs/cover.jpg date: “2026-08-04T00:00:00+08:00”
结论先行:A2A 就是智能体之间的"普通话"
先说结论:A2A(Agent2Agent)是一套开放协议,让不同的 AI 智能体之间能互相发现、派活、回话,就像人和人之间有了统一的语言。
8 月 3 日发布的 Hermes Agent 0.20 原生支持了这个协议,而且是双向的:你的 Hermes 既能"打电话"给别人,也能"接电话"让别人把任务派给它。
打个比方:以前每个 AI 智能体都是孤岛上的"方言使用者"——你用 LangChain 写的智能体,跟用 CrewAI 写的智能体,互相听不懂。A2A 就是给它们统一发的"普通话教材",不管谁造的智能体,只要会说普通话就能协作。
这套协议 2025 年 4 月由 Google 发起,2025 年 6 月交给 Linux 基金会托管,目前已有 150+ 家组织加入,是当前智能体互联事实上的国际标准。
一、为什么需要 A2A?先看智能体的"语言孤岛"
过去两年,AI 智能体(Agent)爆发式增长。但有个尴尬的现实:每个框架都有一套自己的"方言":
| 框架 | 出身 | 特点 |
|---|---|---|
| LangChain / LangGraph | 通用生态 | 组件多、灵活 |
| CrewAI | 角色协作 | 定义"角色"方便 |
| Google ADK | 谷歌系 | 与云生态绑定 |
| Hermes Agent | Nous Research | 全平台、技能记忆强 |
问题来了:这些智能体各干各的,没法互相指挥。你想让"研究智能体"把资料喂给"写作智能体",只能手动搬运,或者两家都用同一个框架重写——成本极高。
A2A 解决的就是这件事:定义一套所有智能体都认的通信规则,让跨框架、跨机器、甚至跨公司的智能体能直接对话。
二、作用机理:名片、电话、工单
A2A 的机制可以拆成三件套,都特别贴近生活:
1. Agent Card(智能体名片)——互相发现
每个接入 A2A 的智能体,都会挂一张"名片"(一个 JSON 文件),写清楚:
- 你是谁(名字)
- 你会什么(技能列表,如"网页搜索"“写代码”)
- 怎么找到你(地址)
别的智能体拿到这张名片,就知道"这人能干啥、怎么联系"。

2. JSON-RPC 2.0(打电话)——互相通信
通信走标准 HTTP 接口,方法名也很直白:
SendMessage:发消息GetTask:查任务状态CancelTask:取消任务SubscribeToTask:订阅任务进展(可以流式收结果)
3. Task(工单)——派活与追踪
一次协作 = 一张"工单",有完整的生命周期:提交 → 处理中 → 完成/失败。工单支持多轮对话——智能体可以反问"你要的是 A 还是 B?",也可以中途补材料,跟真人协作的流程几乎一样。
Hermes 0.20 的具体实现,就是把这套协议做成了双向通道:
出站(你的 Hermes 去调用别人)——默认开启 a2a 工具集后,Hermes 获得 5 个新工具:
| 工具 | 作用 |
|---|---|
a2a_discover | 读取对方名片,摸清对方能力 |
a2a_call | 派任务、拿回复(支持多轮) |
a2a_orchestrate | 把任务广播给所有"会这门手艺"的智能体(all/first/best 三种策略) |
a2a_history | 翻旧账,找回历史对话 |
a2a_list | 查看已配置的对端和指标 |
入站(别人来调用你的 Hermes)——在网关里启用 A2A 平台后,Hermes 会在 9900 端口开一个服务,对外提供名片和任务接口。关键设计:进来的任务会注入到"活着的"网关会话里——也就是说,对方派来的活,用的是你这台 Hermes 的记忆、技能和工具链,干完再把结果回传给对方。不是冷冰冰的临时进程,是"真人"在接活。
三、安全设计:默认锁门,开锁要钥匙
智能体互相通信最怕什么?被陌生人白嫖算力、灌毒数据。Hermes 的 A2A 默认策略很保守:
- 默认只监听本机(127.0.0.1),别人根本连不进来
- 对外开放必须显式配置 Token(支持按对端分配不同钥匙)
- 限流:每个身份每分钟最多 60 次请求
- 防死循环:两个智能体互相对话可能无限打转,默认 5 轮自动截断(上限 20)
- 所有进出请求写入审计日志,可追溯
这套"默认关门"的设计,跟 Hermes 一贯的安全哲学一致。
四、带来哪些系统提升?
提升 1:跨框架协作——不再"锁死在生态里"
这是最大的价值。以前选型 = 站队:选了 LangChain 全家桶,就很难跟 CrewAI 生态互通。现在只要都讲 A2A,框架随便混搭。官方已验证可互通:另一个 Hermes、LangChain、CrewAI、Google ADK、以及任何用官方 a2a-sdk 构建的智能体。
提升 2:跨机器分布式——多台电脑组成"智能体局域网"
A2A 是走 HTTP 的,天然跨机器。你可以让研究智能体跑在实验室服务器,写作智能体跑在家里电脑,通过 A2A 协作——把不同机器的算力、数据、能力拼成一张网。

提升 3:能力编排——按"会什么"找人,而不是按"是谁"找人
a2a_orchestrate 按能力而不是按名字派活:你说"查一下今天的 arXiv 论文",它会自动广播给所有声明了"research"能力的智能体,谁先响应用谁(first),或者综合大家结果(all)。任务和"人"解耦,加新智能体 = 挂新名片,流水线不用改。
提升 4:和 MCP 互补,构成完整的"手 + 同事"体系
很多人问 A2A 和 MCP 是不是重复。不重复,它俩分工明确:
| 维度 | MCP(模型上下文协议) | A2A(智能体互连协议) |
|---|---|---|
| 连接对象 | 智能体 ↔ 工具/数据 | 智能体 ↔ 智能体 |
| 类比 | 让智能体"伸手" | 让智能体"对话" |
| 发起方 | Anthropic,2024 | Google,2025(现归 Linux 基金会) |
| 场景 | 接数据库、接 API、接文件 | 跨框架/跨机器派活协作 |
MCP 是"手",A2A 是"同事"。一个智能体先用 MCP 调工具,再通过 A2A 找别的智能体协作,两层叠加才是完整的协作栈。
提升 5:和 Hermes 自带的多智能体机制互补
你可能问:Hermes 本来就有 delegate_task(子代理)和 Kanban(多代理工作队列),A2A 不是多余吗?官方文档给了清晰的边界:
| 机制 | 适用范围 |
|---|---|
delegate_task 子代理 | 同一台机器、进程内快速拆活 |
| Kanban 工作队列 | 同一台机器、多 profile 持久协作 |
| A2A | 跨进程、跨机器、跨框架 |
简单说:家里的事用子代理,单位的事用 A2A。
五、一个真实的协作场景
假设你有个"自媒体生产线":
- 研究智能体(CrewAI 写的,跑在云服务器)负责每天抓热点、出选题
- 写作智能体(Hermes,跑在本地)负责按你的风格成文
- 审校智能体(Google ADK 写的,跑在另一台机器)负责查事实错误
以前:三套框架、三台机器,你要手动搬运内容。 现在:各自挂上 A2A 名片,写作智能体一句"把今天的选题给我",研究智能体自动回传;写完一句"帮我审校",审校智能体自动接单。整条流水线无人值守。
总结:智能体协作的"基础设施时刻"
| 维度 | 结论 |
|---|---|
| A2A 是什么 | 智能体互通的开放协议(Linux 基金会托管) |
| Hermes 0.20 支持 | 双向:既能调用别人,也能被调用 |
| 核心价值 | 跨框架、跨机器、按能力编排 |
| 安全 | 默认锁本机,Token 认证 + 限流 + 防循环 |
| 与 MCP 关系 | 互补:MCP 连工具,A2A 连智能体 |
A2A 之于智能体,就像 HTTP 之于网页、SMTP 之于邮件——协议一旦统一,生态就爆发。Hermes 0.20 这一步,走在了趋势前面。
如果觉得有帮助,点个「赞」和「在看」支持一下 👇