halo 的技术博客

返回

你用过OpenClaw吗?每次任务结束,它什么都不留下。下次遇到类似问题,还得重新教一遍。这不是”智能”,是”复读机”。#

我用了三个月OpenClaw,最崩溃的不是它偶尔出错,而是它永远不长记性

AI记忆系统

OpenClaw的问题:记忆是静态的#

OpenClaw的设计逻辑是这样的:

我们把信息写进配置文件 → 它读取 → 会话结束 → 下次再读。

它不会主动从执行过程里提炼什么。我们纠正过它一次,下次它照样犯错。

所有的Skill都是我们手动装的。它像个被喂饭的孩子,只会吃我们给的东西,不会自己找食。

这不是OpenClaw的bug,而是它架构的底层逻辑——它被设计成一个”执行工具”,而不是一个”学习伙伴”

Hermes的创新:一个闭合的学习循环#

HermesAgent不一样。

每次任务完成后,它会自动检查:这次执行值不值得写下来?

触发条件很具体:

  • 工具调用超过5次
  • 中途出过错然后自己修复了
  • 用户做过纠正
  • 走了一条不明显但有效的路径

满足任何一条,它就会在 ~/.hermes/skills 目录里生成一个Skill文件。

名称、描述、步骤、涉及的工具调用,全部写清楚。这份自动生成的文件,下次可以直接跟着走。

而且Skill不是一次写死。Hermes在后续执行中发现更好的路径,会直接修改。修改优先用patch,只传旧字符串和替换内容,而不是整体重写。

为什么用patch?因为全量覆写容易把原来好用的部分一起破坏掉,patch只碰有问题的地方,更安全,token消耗也更少。

学习循环

四层记忆系统:Agent最难处理的问题#

除了学习循环,Hermes还有一套专门设计的记忆系统,一共四层。

层级名称存什么什么时候用
第一层常驻提示记忆MEMORY.md + USER.md每次会话自动加载
第二层会话归档SQLite数据库需要历史上下文时检索
第三层技能文件自动生成的Skill按需调入,只加载名称和描述
第四层Honcho用户画像/偏好跨会话长期积累

第一层故意收窄到3575字符,强迫我们筛选,而不是什么都塞进去。

第二层用全文索引检索,检索结果经LLM摘要后注入——只把相关部分塞进上下文,不是全部历史。

第三层的设计更巧妙:默认只加载技能名称和简短描述,全文按需调入。这意味着技能库可以从40个增长到200个,而上下文成本几乎不变。

第四层是可选的用户建模层,适合把Hermes当日常助理长期使用的场景。

这个分工原则很清晰:

  • 每次对话都要出现的 → 第一层
  • 特定话题才用到的 → 第二层等检索
  • 可复用操作流程 → 第三层
  • 用户长期画像 → 第四层

我用下来的感受#

说实话,这套记忆系统听起来很美好,实际用下来还不够完美。

最明显的短板是召回精度

有时候我问一个上周处理过的问题,它记忆里有,但召回出来的上下文不够完整,还是得重新解释一遍。

而且学习循环生成的Skill质量参差不齐。有些自动生成的文件很实用,有些写的步骤不够清晰,需要我手动修改。

所以我的结论是:Hermes的记忆系统方向是对的,但成熟度还不够 。它给了Agent一个”记住”的框架,但”记什么""怎么记准”还在迭代。

两条路线的选择#

OpenClaw和Hermes,代表了Agent的两条技术路线:

OpenClaw:装上去 —— 能力来自外部供给,SkillHub搜索安装,我们告诉它怎么干活。

Hermes:长出来 —— 能力来自内部积累,自动生成Skill,它观察我们怎么干活然后学会。

哪个更好?

如果你的任务是快速执行、偶尔用一下 ,OpenClaw更合适。

如果你需要长期跟踪、重复性高、想让它越用越聪明 ,Hermes值得试试。

这不是非此即彼的选择。两个都装,根据任务选工具。


上一篇我写了《用了一个月HermesAgent,我决定回到OpenClaw》,这篇是补充——专门讲Hermes的记忆创新。两篇看完,你应该能判断哪个更适合你。

Agent记不住事,是最大的痛点。Hermes用四层记忆给出了答案
https://blog.halo26812.eu.org/blog/hermes-memory-system
Author halo
Published at 2026年4月13日
版权声明 CC BY-NC-SA 4.0
Comment seems to stuck. Try to refresh?✨