OpenClaw才火了一段时间,最近又流行起Hermes Agent,据说可以从OpenClaw无缝迁移。坦白讲,我当时的内心毫无波澜,没有第一时间去了解的想法,毕竟这类「下一代 AI 助手」的营销话术我听得太多了,说不定没多久就销声匿迹了。
不过,开源社区又接连延伸出许多类似的项目,而且Hermes主要是用Python编写的,这一点还是让我倍感亲切。因此打算简单分析一下这个项目,看看对于普通人而言,有了龙虾之外,还有没有必要再安装一个新的工具。
快速使用
Hermes同样只需要一行命令就可以安装:
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
需要注意的是,目前只支持Linux, macOS系统,如果是Windows用户,需要额外安装WSL2才行
source ~/.bashrc
hermes # 启动对话
Hermes支持一行代码把所有的配置、记忆、技能和 API 密钥搬过去:
hermes setup # 首次设置时
hermes claw migrate # 完整迁移
架构解析
OpenClaw,基于中心化的调度
OpenClaw的核心是一个消息路由层,它接收来自Telegram、Slack、WhatsApp的消息,然后转发给 LLM,再把 LLM 的响应路由回对应的平台。它的架构大概是这样的:
消息入口 → 消息解析 → LLM 调用 → 工具执行 → 响应路由 → 消息出口
这个模型很清晰,也很容易理解。只不过每次对话都是独立的上下文,工具执行完就结束了,没有任何东西被沉淀下来。
Hermes,一个闭环学习系统
再看Hermes的架构,它的设计要明显不同:
┌─────────────────────────────────────────────────────────────┐
│ AIAgent (run_agent.py) │
│ 核心对话循环,约 9600 行代码 │
└─────────────────────────────────────────────────────────────┘
│
┌─────────────────────┼─────────────────────┐
▼ ▼ ▼
┌─────────┐ ┌──────────┐ ┌─────────┐
│ Prompt │ │ Tool │ │ Session │
│ Builder │ │ Registry │ │ Storage │
└─────────┘ └──────────┘ └─────────┘
│ │
▼ ▼
47个注册工具 SQLite+FTS5
20个工具集 全文搜索
核心区别在于三个关键子系统:
1. 记忆系统 (hermes_state.py)
Hermes用SQLite + FTS5做会话存储。每个会话都有lineage追踪,压缩后的会话会保留父子关系。这意味着当你跨会话问之前的聊天信息时,它能通过FTS5搜索找到之前的对话,然后用 LLM 总结成可用的上下文。
OpenClaw也有记忆,但它是靠外部技能和文件系统实现的,不是内置能力。
2. 技能系统 (skills/)
这是Hermes最有意思的部分。当你完成一个复杂任务后,它会自动把解决过程写成可复用的技能文件,保存在 ~/.hermes/skills/ 下,下次遇到类似问题就能直接调用。
看代码的话,技能注册在 agent/skill_commands.py,技能执行则在 skills/ 目录下。
3. 子代理委托 (delegate_tool.py)
Hermes支持隔离的子代理,每个子代理有自己的对话和终端。这不是简单的并发执行,子代理之间通过 RPC 通信,可以共享结果但不共享上下文。这意味着一个任务可以拆成多个独立的流水线,每个流水线消耗零上下文。
# 伪代码示意
result = await agent.delegate(
subagent_id="code-reviewer",
task="review this PR",
context={"pr_url": "..."}
)
对比总结
| 维度 | OpenClaw | Hermes |
|---|---|---|
| 核心机制 | Gateway统一管理会话、路由、渠道 | 闭环学习循环 |
| 会话存储 | 简单文件 | SQLite + FTS5 全文搜索 |
| 技能系统 | 固定技能 | 自动从任务中学习生成 |
| 底层语言 | JS | Python |
结论
如果你只是需要一个帮你处理日常事务的助手,比如回邮件、排日程、自动化工作流,那么OpenClaw足矣,不需要再折腾了。它的技能库很丰富,社区也很活跃,虽然Bug不少,但是也持续在修复中。
但如果你想要一个会成长的助手,需要更加智能化的记忆,让它记得你、它能从错误中学习、它能自动创建新技能,那Hermes值得试试。另外,如果你主要做的是RL训练或者Agent评估,可能更加熟悉Python,并且能够自己动手优化代码,那么Hermes就是更优的选择了。它有一些OpenClaw完全没有的功能,比如在 environments/ 目录,Hermes提供了一个完整的agent评估框架,不只是跑测试,还能生成训练数据。对于做AI研究的,这套内置的东西能省很多功夫。