看到很多人用OpenClaw的时候抱怨"它记不住之前说过的话",其实这个问题跟它的Memory系统有关。
我花了两天时间看了相关代码和文档,试着把它的记忆机制讲清楚。
三种记忆
OpenClaw的记忆分三层:
短期记忆:就是当前对话的上下文。你跟它说的每句话、它执行的每个哎作,都在这个上下文里。但这个上下文有长度限制——token用完了,早期的内容就会被压缩或丢弃。所以聊着聊着它就"忘了"之前的事。
工作记忆:执行复杂任务时候的中间状态。比如它在帮你处理一个大型项目,需要记住"已经完成了哪些步骤、下一步要做什么"。这个信息会存在内存里,任务结束就清空。
长期记忆:持久化存储的信息。你可以让它记住一些规则和偏好,比如"我喜欢代码用两格缩进"、“回复邮件的时候用正式语气”。这些信息存在本地文件里,下次启动的时候还在。
实际使用中的体验
短期记忆是最影响使用体验的。当你的对话超过一定长度,它开始压缩早期内容的时候,你会明显感觉它变"傻"了——之前交代过的细节它不记得了,重复犯同样的错误。
长期记忆在理论上很好,但用起来有个问题:你得主动告诉它记什么。它不会自动把重要信息存入长期记忆。所以你需要养成习惯,遇到重要的规则或偏好就明确告诉它"记住这个"。
跟人脑的类比
短期记忆就像你的工作台——正在处理的东西都在上面,但空间有限。
长期记忆就像你的笔记本——需要你主动记录,但记了就不会丢。
工作记忆就像你做数学题时候的草稿纸——算完就扔了。
改进建议
如果你觉得OpenClaw总是"健忘",试试这几招:
- 把重要规则写进配置文件,而不是只在对话里说一次
- 复杂任务拆成小步骤,每步给明确指令,减少它需要"记住"的上下文量
- 对话太长的时候主动开新对话,把关键信息在新对话开头重新说一遍
- 善用长期记忆功能,主动让它记住你的偏好
记忆系统是目前所有AI Agent的薄弱环节,不止OpenClaw。但了解它的机制之后,你可以通过使用方式来弥补不足。