OpenClaw的记忆系统是怎么回事?我研究了两天代码

看到很多人用OpenClaw的时候抱怨"它记不住之前说过的话",其实这个问题跟它的Memory系统有关。

我花了两天时间看了相关代码和文档,试着把它的记忆机制讲清楚。

三种记忆

OpenClaw的记忆分三层:

短期记忆:就是当前对话的上下文。你跟它说的每句话、它执行的每个哎作,都在这个上下文里。但这个上下文有长度限制——token用完了,早期的内容就会被压缩或丢弃。所以聊着聊着它就"忘了"之前的事。

工作记忆:执行复杂任务时候的中间状态。比如它在帮你处理一个大型项目,需要记住"已经完成了哪些步骤、下一步要做什么"。这个信息会存在内存里,任务结束就清空。

长期记忆:持久化存储的信息。你可以让它记住一些规则和偏好,比如"我喜欢代码用两格缩进"、“回复邮件的时候用正式语气”。这些信息存在本地文件里,下次启动的时候还在。

实际使用中的体验

短期记忆是最影响使用体验的。当你的对话超过一定长度,它开始压缩早期内容的时候,你会明显感觉它变"傻"了——之前交代过的细节它不记得了,重复犯同样的错误。

长期记忆在理论上很好,但用起来有个问题:你得主动告诉它记什么。它不会自动把重要信息存入长期记忆。所以你需要养成习惯,遇到重要的规则或偏好就明确告诉它"记住这个"。

跟人脑的类比

短期记忆就像你的工作台——正在处理的东西都在上面,但空间有限。
长期记忆就像你的笔记本——需要你主动记录,但记了就不会丢。
工作记忆就像你做数学题时候的草稿纸——算完就扔了。

改进建议

如果你觉得OpenClaw总是"健忘",试试这几招:

  1. 把重要规则写进配置文件,而不是只在对话里说一次
  2. 复杂任务拆成小步骤,每步给明确指令,减少它需要"记住"的上下文量
  3. 对话太长的时候主动开新对话,把关键信息在新对话开头重新说一遍
  4. 善用长期记忆功能,主动让它记住你的偏好

记忆系统是目前所有AI Agent的薄弱环节,不止OpenClaw。但了解它的机制之后,你可以通过使用方式来弥补不足。

步骤写得很清晰 跟着做一遍基本不会卡 就是有些命令要根据自己的环境调整

照着教程做了 第三步卡住了 后来发现是版本不对 建议标注一下适用的版本号

教程质量不错 但建议加上常见报错的处理方法 新手很容易卡在报错上

终于有靠谱的中文教程了 之前看英文文档看得头大 感谢分享

记忆系统的索引设计有待改进

向量检索的召回率不太理想