Hermes Agent vs OpenClaw 深度对比研究报告

20 阅读10分钟

我认真对比了 Hermes Agent 和 OpenClaw,结论是:前者更像会成长的超级助理,后者更像智能助理操作系统

最近花了一轮时间,把 Hermes Agent 和 OpenClaw 做了一次偏源码级的对比。

这篇文章不聊首页文案,也不复述 README 里的宣传语,而是重点看几件更本质的事:

  • Hermes 的 memory 到底怎么落盘,怎么进入 prompt?
  • 它说自己会 learning,是真的能学,还是只是概念包装?
  • 它的 delegate / subagent 到底是真隔离,还是“看起来像隔离”?
  • gateway、cron、background task 是怎么组织的?
  • 如果和 OpenClaw 放在一起看,两者到底代表了哪两种不同路线?

先给结论。


先说结论

如果只用一句话概括:

Hermes 更像会自我成长的成品超级助理,OpenClaw 更像边界清楚、适合长期运营的智能助理 操作系统

再展开一点,就是下面三条:

1)Hermes 在“Agent 自我增强”这件事上,走得更激进

Hermes 不是只想做一个“能调用工具的 LLM 包装层”。

从它的设计看,它更想做的是一个:

  • 有长期记忆
  • 能回忆历史会话
  • 能把经验沉淀为 skill
  • 能把任务委派给子代理
  • 能通过 nudges / cron 继续运转

的长期存在体。

也就是说,Hermes 的核心命题不是“这次任务做得好不好”,而是“这个 agent 会不会越来越强”。

2)OpenClaw 在“平台边界与治理”这件事上,更成熟

OpenClaw 给我的感觉很不一样。

它不是把所有能力尽量揉进一个超级 runtime,而是尽量把这些东西做成平台级对象:

  • gateway
  • session
  • route
  • tool policy
  • sub-agent
  • ACP runtime
  • channels
  • automation

这种设计的好处是,它可能没有 Hermes 那种“一个 agent 正在长大”的强烈人格感,但它的系统边界更清楚,长期运营更稳。

3)两者不是简单替代关系,而是两种路线

如果你问我,这俩谁更先进,我反而觉得这个问题问得不够准确。

更准确的问法是:

  • 你想要一个默认就很完整、很聪明、很会成长的 agent runtime
  • 还是你想要一个适合多渠道、多会话、多 agent、强调隔离和治理的平台底座

如果是前者,Hermes 很有吸引力。 如果是后者,OpenClaw 更稳。

所以我的判断是:

Hermes 值得深学,OpenClaw 值得深用。


为什么我会得出这个判断?

下面按几个核心点展开。


一、Hermes 的 memory,不是“记一下”,而是正式进入 system prompt

Hermes 在 memory 这块,做得比很多 agent 系统都更彻底。

我在它的 tools/memory_tool.pyrun_agent.py 里确认到几件事:

  • 它把 MEMORY.mdUSER.md 作为长期记忆来源
  • 这些内容会在 session 启动时 作为 frozen snapshot 注入 system prompt
  • 它明确提到这样做是为了 preserve the prefix cache
  • 运行链路里还有 build_memory_context_block 这样的注入逻辑

这意味着什么?

意味着 Hermes 的 memory 不是“临时查一下文件”,而是被当成 prompt 结构的一部分。

这会带来三个明显好处:

  1. agent 的长期人格和连续性更强
  2. prompt 前缀更稳定,有利于 cache
  3. 整体体验更像“一个持续存在的助手”

但它也有代价:

  • 因为是 session 启动时冻结的 snapshot,所以 session 内新写入的 memory,不一定马上影响当前 prompt
  • 它优先的是“稳定连续”,不是“每轮都动态刷新”

我的看法是:

Hermes 在 memory 上明显优先选择了产品体验,而不是最强的动态一致性。

这也是它为什么会显得更像“一个长期存在的 agent”。


二、Hermes 的 session recall 是内建能力,不是外挂补丁

另一个让我印象很深的点,是 Hermes 的 session search。

很多系统会说自己支持记忆,最后其实只是:

  • 写点 markdown
  • 向量存点摘要
  • 需要的时候临时检索一下

但 Hermes 在这件事上更“工程化”。

我在 hermes_state.py 里看到:

  • 它直接使用 SQLite 做 persistent session storage
  • 用 FTS5 做全文搜索
  • 还用 parent_session_id 管理压缩/切分后的 session 链

tools/session_search_tool.py 里又能看到:

  • 先用 SQLite + FTS5 搜索历史 transcript
  • 再把结果交给模型做 focused summarization
  • 文档里甚至直接提到了 Gemini Flash summarization 的路径

这说明 Hermes 的 recall 不是“顺手加一个记忆功能”,而是整套系统的一部分。

我会把它理解成两层结构:

  • Memory files:长期稳定认知
  • Session search:历史行为与上下文回忆

这套设计的价值很大。

因为真正有用的 agent,很多时候不是“知道你喜欢什么”,而是“能回忆起你之前到底做过什么、讨论过什么、卡在哪里、已经验证到哪一步”。

在这一点上,Hermes 的方向是对的,而且完成度不低。


三、Hermes 的 delegate 不是假的,但它更像内部 child runtime

再说子代理。

Hermes 的 tools/delegate_tool.py 很值得看,因为它不是那种“看起来能委派,实际只是同上下文切个分支”的伪子代理。

从代码上看,它明确做了这些事:

  • child agent 是 fresh conversation
  • isolated context
  • restricted toolsets
  • own terminal sessions
  • 父代理只拿到 delegation call 和 summary result

而且它还显式设置了:

  • skip_context_files=True
  • skip_memory=True
  • parent_session_id=...

同时还封掉了一批默认不该给子代理的能力,比如:

  • clarify
  • memory
  • send_message
  • recursive delegation
  • execute_code

所以如果只问一句:

Hermes 的 subagent / delegate 是不是真的?

我的回答是:是真的。

但问题在于,它的隔离方式更像什么?

我觉得更像:

一个超级 runtime 内部创建的受控 child agent

而不是像 OpenClaw 那样,把 sub-agent 明确提升为平台级工作对象。

这两种方式都能跑,但抽象层级不一样。

  • Hermes:更偏“系统内部能力”
  • OpenClaw:更偏“平台级运行单元”

这也是为什么我会说,Hermes 更像成品超级助理,OpenClaw 更像操作系统。


四、Hermes 的“会学习”不是宣传词,是真的把 skill evolution 做成了系统能力

如果说 Hermes 最让我觉得“这项目有野心”的点,我会选 skill manager。

在 README 里,它明确写这些内容:

  • closed learning loop
  • periodic nudges
  • autonomous skill creation after complex tasks
  • skills self-improve during use

这几个词放在一起,不是在说“我们未来可能支持学习”,而是在说:

学习,就是系统设计目标本身。

更关键的是,源码也能对得上。

tools/skill_manager_tool.py 里,我看到它允许 agent 直接:

  • create skill
  • update skill
  • delete skill
  • 写 supporting files
  • 技能目录就在 ~/.hermes/skills/

这说明 Hermes 想做的,不只是“完成一次任务”,而是:

把完成任务的方法,沉淀成下次可复用的能力。

这件事一旦做成,意义是非常大的。

因为一个 agent 系统真正强,不在于它第一次答得多聪明,而在于它能不能把正确做法逐渐固化下来。

当然,副作用也非常明显:

  • 你把更深的写权限给了 agent
  • skill 质量控制会变难
  • skill 污染和错误积累的风险会上升
  • 一旦没有强治理,很容易越学越乱

所以 Hermes 在这块的评价,我会给得很高,但同时保留警惕:

这是它最先进的地方,也是最需要治理能力跟上的地方。


五、Hermes 的 gateway / cron / background task,明显是强一体化路线

如果再往系统组织层看,Hermes 的倾向就更明显了。

我在 gateway/run.pycron/scheduler.py 里确认到:

  • gateway 直接导入 cron scheduler
  • gateway 会起 background thread 驱动 cron tick
  • cron 本身就是 runtime 旁边的一部分,不是独立控制平面

这种设计其实非常符合 Hermes 的整体哲学:

  • 能收进来就尽量收进来
  • 能形成闭环就尽量形成闭环
  • 能默认跑起来就不要拆太多组件

这会带来很强的产品感。

用户的感受会是:

  • 安装之后很多东西天然就能配合起来
  • 记忆、delegate、cron、gateway 更像一体
  • 默认体验非常完整

但对应的代价也很清楚:

  • 系统边界会更糊
  • 故障域更容易互相传染
  • 想替换某一层的时候成本更高

所以 Hermes 的问题从来不是“它做得不够多”,而是:

它做得太多,而且尽量揉在一起。

这既是它的魅力,也是它的代价。


六、对照 OpenClaw 后,我更能看清两者的分野

如果只单看 Hermes,很容易得出一种结论:

“这才是下一代 agent。”

但一旦和 OpenClaw 并排看,视角会清楚很多。

OpenClaw 给我的核心感受是:

  • 它先把 gateway 定成 single source of truth
  • 再把 sessions、routing、channels、tools、subagents、ACP、security 明确拆开
  • 它更像一个承载 agent 的平台,而不是 agent 本体本身

比如在 OpenClaw 里:

  • sub-agents 是 own session 的平台级对象
  • background task 是可追踪对象
  • tool policy 是显式治理对象
  • session isolation 是明确控制面
  • channels 和 runtime 的关系也被文档化得更清楚

这意味着 OpenClaw 的强项,不一定是“一个 agent 本身更聪明”,而是:

整个系统更适合长期运营。

如果你要面对的是:

  • 多渠道接入
  • 多 agent 协同
  • 会话治理
  • 权限边界
  • prompt injection 风险
  • 工具策略控制
  • 远期平台演进

那 OpenClaw 这种路线,其实更稳。


七、真正的差别,不是功能多少,而是路线不同

做到这里,我的判断基本就稳定了。

Hermes 和 OpenClaw 的核心差别,不是“谁多一个 feature,谁少一个 feature”。

而是:

Hermes 代表的是一条“超级 Agent 本体”路线

这条路线强调的是:

  • 记忆
  • 回忆
  • 成长
  • 自学习
  • 经验沉淀
  • 内部委派
  • 默认闭环

也就是尽量让 agent 本身越来越像一个持续成长的数字个体。

OpenClaw 代表的是一条“Agent 平台 / 操作系统”路线

这条路线强调的是:

  • 多渠道
  • session
  • routing
  • 隔离
  • tool policy
  • runtime orchestration
  • ACP / subagents / automation 的平台级组织

也就是尽量让系统本身成为承载很多 agent 工作流的底座。

所以如果你问我:

要不要用 Hermes 替代 OpenClaw?

我的答案是:

不应该这么问。

更合理的问题是:

能不能在 OpenClaw 这种边界清楚的平台上,吸收 Hermes 那种更激进的 learning loop 设计?

我觉得,这才是真正有价值的方向。


八、最后给一个更直接的选型建议

如果你是下面这类需求:

更适合看 Hermes

  • 想研究未来 agent 的成长路径
  • 想做长期演化型个人助理
  • 看重 memory / skill / recall / delegate 的闭环体验
  • 愿意接受更强的一体化设计

更适合用 OpenClaw

  • 想做长期运营的系统
  • 想跑多渠道、多会话、多 agent 协同
  • 更看重治理、隔离、安全、平台边界
  • 希望架构可控、可替换、可演进

如果让我用一句更偏工程视角的话收尾,我会这么说:

Hermes 解决的是“agent 如何越来越像一个会成长的个体”,OpenClaw 解决的是“如何构建一个长期可运营的 agent 平台”。

这两件事都重要,但优先级取决于你到底是在做“超级助理”,还是在做“超级助理的操作系统”。