它的记忆超级好
“它是电脑啊!只要硬盘没坏,我说过的话它怎么可能忘?”
这是很多新手第一次接触智能体时很自然的想法。
但现实是:AI 的“记忆”更像一套工程机制,而不是人类那种会自己整理、会自己取舍、还能在关键时刻想起来的记忆系统。你用得越久,越需要把“记忆”当作一个需要维护的组件。
先搞清楚:它有两种“记忆”
1. 短期记忆:上下文窗口(当前对话)
你可以把上下文窗口理解成“它此刻能拿来参考的聊天记录 + 你塞进去的文件片段”。它有几个特点:
- 容量有限:信息一多,就会开始丢前面的内容。
- 优先级不稳定:你以为“第一天定的规则最重要”,但当后面塞了大量代码/日志/闲聊,它的注意力可能会被挤走。
- 不会自动归档:对话结束就结束了,除非你把关键信息沉淀到文件里。
所以你会看到一种常见现象:越聊越长,越到后面越像“换了个人”,不是它故意的,而是它此刻“能看到的材料”已经变了。
2. 长期记忆:写进工作区的持久化文件
为了让信息跨会话保留下来,OpenClaw 通常会把一些内容写进工作区(例如 MEMORY.md,或你自己维护的规则文档)。这确实能解决一部分“聊着聊着就忘了”的问题,但也带来一个新风险:
如果你把所有东西都往同一个文件里塞,长期记忆会变成一个很难检索的“大杂烩”。到那时它不是“记得太多”,而是“翻不出来重点”。
一个比较实用的判断标准是:
- 应该进长期记忆的:稳定偏好、长期约束、固定流程、项目名词解释、必要的环境信息(例如端口、目录、命令入口)。
- 不该进长期记忆的:一次性的报错全文、临时测试脚本、某次对话的情绪化表达、只对当下有效的临时约定。
还要注意:模型能力会影响“记忆使用效果”
即使你把文件整理得很清楚,不同模型在“从一堆材料里抓住重点并正确套用”的能力上差异也很大。
你不必纠结名词,简单理解就行:推理更强的模型更擅长把“历史约束”和“当前任务”对齐;推理弱一些的模型更容易只看到表面关键词,出现跑偏。
这不是说“弱模型不能用”,而是提醒你:当你感觉它经常误用旧规则、抓错重点时,除了改提示词,也要检查两件事:
- 记忆是不是太杂、太长、太像聊天记录
- 当前任务是不是确实需要更强的推理能力
怎么做更稳:把记忆当成“可维护资产”
下面这些做法不复杂,但很管用:
- 分层放置:把“长期有效的规则”放在固定位置;把“当次任务材料”放在单独文件或隔离会话里,避免污染主记忆。
- 写成可复用的条目:尽量用短句、清单、约束式表达,而不是大段叙述;让它容易引用,也让你以后容易删改。
- 定期复查:每隔一段时间回看一次
MEMORY.md,把过时的内容删掉,把含糊的描述改成更明确的“边界 + 例外 + 验收标准”。 - 把“怎么用记忆”写进规则:比如明确“遇到某类任务先读哪个文件”“哪些内容禁止写进长期记忆”。
你也可以用**“和龙虾聊天”**的方式把这件事做得更轻松:让它把复查流程跑一遍,并给你一个可直接确认的改动清单。
例如你可以这样说:
请你帮我做一次记忆体检。
目标:让你后续做任务更稳定、少跑偏。
请你先阅读工作区里的长期记忆文件(例如 MEMORY.md 或同类文件),然后按下面规则输出结果:
1)列出 5-10 条你认为“应该保留”的长期记忆(用一句话说明为什么)。
2)列出 5-10 条你认为“应该删除/移动到临时记录”的内容(说明原因:过时/一次性/太细/像日志)。
3)对每条“应该保留但写得不清楚”的内容,把它改写成“边界 + 例外 + 验收标准”的格式。
4)最后把你建议的改动整理成一个可直接应用的 diff(或逐段替换文本),让我一眼能确认。
注意:不要把报错全文、一次性聊天内容写回长期记忆;不确定的地方先标注为“待确认”,不要擅自编。如果你希望它更像一个长期合作的伙伴,而不是每次都从零开始的聊天框,这套维护习惯会比“多写几句提示词”更重要。
