Hermes 多Agent团队协作 用固定的脚本 实现跨Agent通信

前言

从 Openclaw 到 Hermes, 我多次尝试过 多Agent团队协作.

很多次 跨Agent通信 出问题, 而且出错的行为是不确定的. 也就说, 同样的 prompt / agent .md文件, 可能这次没问题, 但再来一次就有问题.

最近的一次是使用 Hermes, 而且我已经让Ta修改自己, 有了类似 openclaw 那样把 agent 绑定到 telegram group topic 的功能.
使用过程中, 
有1次 agent-design 没有向 agent-watch 发消息, 而是回复在了自己的topic内
有2次 agent-design 向 agent-watch 发消息时, 没有按消息规范的文本格式.

思路

从 SOUL.md 文字描述的层面上, 一个足够智能的"人"或"模型", 应该是能明白我想要的效果.
* 本次实验前 SOUL.md 已经被覆盖了, 可以参考我在Openclaw上面的配置文件.

但是, 看起来目前的模型在团队协作方面还不符合我的理想中的"智能".

我努力了很多不同的形式, 最终选择了一个傻傻的笨办法:
agent只需要知道自己在一个团队中工作, 团队还有哪些agent.
agent不知道团队在 telegram group中工作.
agent不知道团队其它agent绑定了什么topic.
当agent要向其它agent发团队内消息时, 调用指定的脚本.
在脚本内, 用代码写好使用什么telegram bot token, group id, topic id.
假设这个脚本是 /root/.hermes/profiles/agent-watch/scripts/send_to_agent-design.sh
那么 agent-watch 这样使用 
scripts/send_to_agent-design.sh "要发给agent-design的消息"
假设这个团队工作的 group id 是 -1003311933525
agent-design 绑定的 topic id 是 168
这个脚本的伪代码像这样
从自己(agent)的.env配置文件中拿到 自己的 bot token

按格式构建一个团队间消息
FROM agent-watch
TO agent-design
CONTENT "要发给agent-design的消息"

用 telegram bot API 的发消息方法, 参数:
bot token = ( 自己的 bot token )
group id = ( -1003311933525 )
topic id = ( 168 )
消息内容 =  
( FROM agent-watch
TO agent-design
CONTENT "要发给agent-design的消息" )

结果

这样的效果就好多了
还是一样的任务
开发一个生成随机密码的页面
核心功能 参考 https://crazypeace.github.io/xkcd-password-generator/
视觉风格 参考 https://onojyun.com/
整个过程中每条消息的格式都正确 (这个当然, 脚本里面固定了), 并且团队间消息也正确地发送到对应的topic中.
看来模型是能够"理解" 把消息发送给另一个团队成员 这样的意思的, 只是在执行的层面上, 这回的方案让模型更好的执行, 不会自己想出一个新奇方法.

Github

* 注意, 不能完全照抄, 应该根据你自己的环境灵活变通

评论

The Hot3 in Last 7 Days

酒馆SillyTavern 玩英文角色卡 也能以中文输出 设置世界书Lorebooks

酒馆SillyTavern 用中文讲故事 修改角色卡 修改AI生成的历史记录

搭 Docker版 Sub-Store订阅转换专家 带 http-meta 实现 集合订阅 测延迟 排序 筛选 生成新订阅 定时任务上传Gist