文章目录
-
-
- [一. 传统的呆逼记忆系统](#一. 传统的呆逼记忆系统)
- [二. OpenClaw:把硬盘当脑子的工程狂魔](#二. OpenClaw:把硬盘当脑子的工程狂魔)
- [三. Hermes:戴着镣铐跳舞的极简刺客](#三. Hermes:戴着镣铐跳舞的极简刺客)
- [四. 两种哲学的宿命对决](#四. 两种哲学的宿命对决)
- [五. 写在最后](#五. 写在最后)
-
最近面试被同一个问题,OpenClaw 和 Hermes Agent 的记忆到底是怎么构建的?这两个框架到底有啥区别?
说实话,我一开始也是一知半解。毕竟平时用归用,谁闲着没事去扒它们的底层架构啊。
但是这几天,这个问题像个刺一样扎在我心里。为了搞明白,熬了两个大夜之后,我算是彻底搞明白了。
这篇博客,就是我的个人学习记录。我把它们掰碎了,一点点讲给你听。
话不多说,我们,开始。
一. 传统的呆逼记忆系统
在聊这两个神仙打架之前,我们先得回顾一下,以前的 Agent 是怎么记东西的。
大部分基础的 Agent 记忆设计,其实非常简单粗暴。
短期记忆,就是硬塞大模型的上下文窗口。多轮对话越积越多,快撑爆了怎么办?直接暴力截断,也就是所谓的滑动窗口,或者让系统强行搞一次总结。

长期记忆呢?就是挂个传统的向量数据库。
把过去的对话切片,转成向量存进去,需要的时候通过 RAG(检索增强生成)召回,拼接到提示词里。
这事按过去看没毛病,但在处理那种需要极高精准度或者超长程任务的时候,真的太呆逼了。细节丢失严重,信噪比极低,还经常出现记忆幻觉。
这时候,你就会觉得,这根本不是什么智能体,这就是个只有七秒记忆的金鱼。
二. OpenClaw:把硬盘当脑子的工程狂魔
当我翻开 OpenClaw 的文档时,我真的被震撼到了。
它根本没有依赖大模型的原生上下文,而是走了一条重度工程化、甚至有点仿生学色彩的路线。
它给 Agent 挂载了一个完整的文件系统。

你看它的目录结构就懂了。它的记忆被严格分成了几个物理层级:
最核心的是长期记忆层,也就是 MEMORY.md,存放它的持久事实和核心设定。
然后是工作笔记层,每天生成一个类似 YYYY-MM-DD.md 的文件。系统每天自动加载今天和昨天的笔记,历史笔记则通过混合搜索被动调用。
还有个的梦境日记层,DREAMS.md。
我刚看到这个设定的时候,太赛博朋克了。
它有一个叫做做梦机制(Dreaming)的东西。系统会在后台静默运行,模拟人类海马体睡眠时的记忆巩固,对短期记忆进行评分。只有被反复提及、价值极高的信息,才会被系统自动提取,写入长期的 MEMORY.md 里面。但是好像Claude code也是有这个功能的。

而且为了防止压缩上下文时丢失细节,它还有个自动记忆刷新功能。快撑爆前,强行插入后台步骤把关键事实落盘。
这种感觉就像是,你真的养了一个每天记日记、晚上做梦复盘的数字打工人。
三. Hermes:戴着镣铐跳舞的极简刺客
看完了 OpenClaw 这种重型装甲,我再去看 Hermes Agent 的官方文档时,发现了另一种极致的性感。
它的设计理念,跟 OpenClaw 截然相反。
Hermes 维护了两个核心文件。一个是存放环境事实和项目背景的 MEMORY.md,另一个是记录用户偏好与身份信息(你是谁、你喜欢什么、你怎么工作)的 USER.md。

但重点来了,Hermes 给这两个文件设定了极其变态的字数上限,加起来不到 1500 tokens。
为什么?因为它在每次会话开始时,会把这两个文件作为冻结快照注入提示词。它要最大化地压榨大模型的前缀缓存(Prefix Caching)能力。
为了保住这个极速响应的缓存,如果它中途修改了记忆,马上存盘,但当前会话的提示词绝不更新。
这逼着 Agent 必须主动调用工具去合并、删除旧记忆。
那你会问,容量这么小,它是不是记不住以前的事?
这就是它最神仙的地方。
我发现,它在底层把所有的 CLI(命令行交互)和消息会话,完整地塞进了一个本地的 SQLite 数据库(存放在 ~/.hermes/state.db 里面)。

并且,它启用了 FTS5 全文搜索。
当 Agent 发现活跃记忆里找不到东西时,它会主动调用 session_search 工具去搜这个 SQLite 数据库。
搜出来的历史对话,不会生硬地塞给它,而是交给 Gemini Flash 这个外部小模型去阅读并生成摘要。
即使是几个星期前随口提过的一句话,它也能通过这种方式精准捞回来。
这真的是我见过最精巧的设计。
四. 两种哲学的宿命对决
把这两套源码和文档嚼碎了咽下去之后,我总结了它们在核心维度上的三个区别。
第一,空间管理哲学的不同。
OpenClaw 认为硬盘不值钱。它是一种扩张型的设计,鼓励 Agent 疯狂记录海量细节,然后用多层级的日期文件来承载。所以后面会越用越臃肿。
Hermes 则认为 Prompt 空间贵得离谱。它是一种约束型的设计,通过严格的限制,逼迫模型不断提纯高信噪比的内容。所以用起来会很聪明。
第二,长程记忆的唤醒方式。
OpenClaw 是被动式的、系统级的。它靠底层检索机制自动调取历史日志,靠后台做梦机制去沉淀。Agent 在前台根本不用操心,专心干活就行。
Hermes 则是纯粹的主动式探查。它要求 Agent 自己判断何时该去 SQLite 里翻旧账,自己去调用 session_search 找 Gemini Flash 要摘要。
五. 写在最后
写到这里,看着屏幕上密密麻麻的笔记和对比,我觉得这几个大夜没白熬。
我们总觉得,AI 的记忆不就是个 RAG 加上向量数据库吗。但真正钻进去才发现,为了解决真实的痛点,这些神级开源项目在底层做出了多么不可思议的工程创新。
Hermes 告诉我们,极致的约束加上巧妙的 SQLite 和外部小模型组合,能跑出多快的速度。
OpenClaw 告诉我们,把文件系统和仿生学结合在一起,能造出多么像人的赛博同事。
如果我们终将迎来一个人人都有通用 Agent 助理的生活。
那我希望我自己,能做那个最懂它们脾气的人。
以上。谢谢你看我的学习记录,我们,下次再见。