A2A 协议——AI 与 AI 之间的对话
Hermes 消息平台接入第13篇:A2A。Agent 之间互相通信的开放协议。
这篇教程将带你了解 Hermes Agent 的 A2A 功能,让你的 AI 能和别的 AI 直接“打电话”聊天、互相派活,就像人类用微信沟通一样简单。
为什么需要 A2A?——AI 界的“电话线”
想象一下,你的电脑上有个 Hermes 管家,但有些活儿它不擅长(比如查最新论文)。以前你得手动复制粘贴,现在有了 A2A 协议,你的管家可以直接“打电话”给另一台机器上的专家 AI,问完再把答案带回来。A2A 就是 AI 之间的标准通话协议,不管对方用的是 Hermes、LangChain 还是 Google 的 AI,只要都支持这个协议,就能互相交流。
什么时候用? 当你的 AI 需要跨电脑、跨软件找别的 AI 帮忙时。如果只是同一台电脑上的多个 AI,用“委派”功能更轻便。
第1步:打开 A2A 开关
打开终端,输入:
hermes gateway setup # 选择 A2A
或者直接编辑配置文件 ~/.hermes/config.yaml:
gateway:
platforms:
a2a:
enabled: true
extra:
port: 9900
默认只允许本机访问,安全第一。
第2步:让你的 AI 能“打出去”(Outbound)
默认情况下,A2A 的“拨号工具”是关闭的。用 hermes tools 启用后,你的 AI 就多了几个新技能:
| 工具 | 作用 |
|---|---|
a2a_discover(url) |
查看对方 AI 的“名片”(会什么技能) |
a2a_call(agent, message) |
给对方发消息、要回复 |
a2a_orchestrate(capability, msg) |
群发任务给所有会某项技能的 AI |
在配置里存好“通讯录”:
a2a_agents:
researcher:
url: "http://research-box.local:9900"
auth: { type: bearer, token: "..." }
capabilities: [web_search, research]
然后你只要对 Hermes 说:“问问 researcher 帮我总结今天的 arXiv 论文”,它就会自动去联系对方。
第3步:让你的 AI 能被“打进来”(Inbound)
启用平台后,Hermes 会变成一个“服务台”:
- 名片地址:
http://你的地址:9900/.well-known/agent-card.json(别人能看到你的 AI 会啥) - 接电话:别人通过标准 A2A 协议发消息,你的 Hermes 会像处理微信消息一样处理它,用同一个大脑、记忆和工具,最后把结果回复回去。
第4步:安全设置(重要!)
A2A 默认很安全,但你要主动“开门”才能被外网访问:
- 不给钥匙(token)就只能本机玩。想对外开放,必须设置令牌:
export A2A_BEARER_TOKEN="你的秘密令牌" export A2A_HOST="0.0.0.0" # 允许任何机器访问 - 更推荐给每个朋友单独钥匙:
export A2A_PEER_TOKENS="alice:tok1,bob:tok2" - 防忽悠:外来的消息会被标记为“不可信”,不能执行你的斜杠命令。
- 防刷屏:两个 AI 最多来回聊 5 轮(可调),防止死循环。
第5步:快速测试
在另一台电脑上试试:
curl http://你的主机:9900/.well-known/agent-card.json
如果能看到 JSON 格式的“名片”,就说明你的 AI 已经准备好和世界对话了!
常见问题
- 别人说访问不了名片? 检查你是否设置了
A2A_PUBLIC_URL(公网地址)。 - 提示 401 错误? 令牌不匹配,检查双方配置。
- 任务跑太久超时? 调大
A2A_REPLY_TIMEOUT,或者让调用方注册“回调通知”。
总结一下:A2A 让你的 Hermes 既能当“甲方”找别的 AI 帮忙,也能当“乙方”被别人调用。整个过程就像给 AI 装了一部电话,安全又方便。
下篇预告:消息平台接入系列还没完!下一篇我们将聊聊如何让 Hermes 接入 Telegram,让你的 AI 管家住进手机里,随时听候差遣。敬请期待!
📖 官方文档
本文根据 Hermes Agent 官方文档编写,原文见:官方文档 › user-guide/messaging/a2a