「我让 AI 记住 evolink,它说好的然后忘了」
那天晚上,我跟我的 OpenClaw 说了一句话。「记住,以后生成插图都用 evolink.ai 的 EvoLink API。」
它回了我一句,好的,已记住。
然后就没有然后了。
下一次我让它生成插图,它问我用什么工具。我说,你上次说记住了的啊。它沉默了三秒,说,不好意思,我没有这个设定。
我当时就愣住了。
就是这种感觉——我明明说过了啊。而且它不是那种「我忘记了」的歉意,它是一脸真诚的「我不记得有这件事」。
然后我意识到一个问题。
我以为的「记住」,和 AI 的「记住」,是两回事。

OpenClaw 的记忆到底是什么
先说清楚一件事,这篇文章里的所有信息,都是我亲自读 OpenClaw 官方文档后验证过的,不是猜测。
OpenClaw 的 Memory 系统,说到底是文件读写系统。它长这样。
Session 启动的时候,OpenClaw 会依次读这几个文件。
SOUL.md——定义 AI 的性格和说话方式。
USER.md——你是谁,怎么称呼你。
今天加昨天的 memory/YYYY-MM-DD.md——你今天和昨天跟它说过什么。
MEMORY.md——精心整理的长期记忆。这条特别说一句,MEMORY.md 只在主会话里加载,群组对话里根本没有,读不到。
HEARTBEAT.md——心跳检查清单。
读完这些,Session 正式开始。
这就是 AI 醒来之后的所有记忆。你问它上次那个事,它能回答的部分,全都在这几个文件里。
没写进这些文件的内容,等于不存在。
发生了什么——evolink 这个故事的技术还原
回到我的 evolink 案例。
我说「记住,以后生成插图都用 evolink.ai」。
这句话在 AI 的耳朵里发生了什么?
AI 接收到这个指令。它理解了你的意思。它回答了「好的,已记住」。
但是——它没有把这句话写进任何一个文件。
Session 还在的时候,你再问它,它能复述这句话,因为它还在上下文里。但只要这个 Session 结束了,或者 AI 帮你做了别的事情把上下文往前推了,这条信息就从它的视野里消失了。
下一次新的 Session 开始,它读 MEMORY.md,读今天的 memory/YYYY-MM-DD.md,然后问你有什么可以帮你的。
evolink?什么 evolink?
它不是故意的。它是真的不知道。
你以为它记住了,其实它只是当场复述了一遍。

这就是最核心的认知错位。
为什么会这样——compaction 前的那次静默回合
OpenClaw 有一个机制,叫做自动记忆压缩,英文叫 compaction。
原理是这样的,AI 跟你的对话越来越长,上下文 token 越来越贵,OpenClaw 会自动触发一次压缩,把旧的内容清理掉,腾出空间继续聊。
在压缩发生之前,OpenClaw 会悄悄触发一次 AI 的提醒回合,告诉 AI,会话快要被压缩了,把重要的东西写进 memory 文件吧。
这个提醒是静默的。用户看不到。AI 收到提示之后,标准反应是回复 NO_REPLY,什么都不说,因为系统提示里写的是「通常 NO_REPLY 是正确的响应」。
换句话说。
即使到了 compaction 前的最后关头,AI 也可能什么都不做。
除非——
你提前给它建立了「记住」的反射机制,让它一收到这类信号就知道,这句话要写进文件。
否则它只会说好的,已记住,然后就忘了。
怎么解决——三个方法,让 AI 真的记住你想让它记住的事
好了,重点来了。
下面这三个方法,是我验证过确实有效的。
方法一:在 AGENTS.md 里给 AI 写一条「记住反射」规则
这是最根本的解法。
OpenClaw 每个 Session 开始的时候,都会读 AGENTS.md。这是 AI 的操作手册。你在这里写什么规则,AI 在这个 Session 里就会遵守什么规则。
打开你的 workspace 里的 AGENTS.md,找到合适的位置,加一段这样的内容。
当用户说「记住」「以后都」「以后用」「记得」等关键词时,必须立即将这句话写入 MEMORY.md 或当天的 memory/YYYY-MM-DD.md 文件,不得只停留在口头回应。写入内容包括用户要求记住的具体设定、偏好、工具选择等。写完之后告知用户,已写入记忆文件,下次也会记得。
这段话的意思很简单,告诉 AI,以后收到记住指令,不要只说好的,而是立刻执行写文件这个动作。
写完之后说一句已写入记忆文件,你就能确认它真的做了。
这是我最推荐的第一步。有了这条规则,evolink 类的场景就能被解决掉大部分。
方法二:自己动手,把 evolink 写进 MEMORY.md
这是立竿见影的方法,立刻就能解决你当前的问题。
打开你的 MEMORY.md 文件,一般在 ~/.qclaw/workspace/MEMORY.md,或者你自己的 workspace 路径,找一个合适的位置,加一条。
插图生成,优先使用 evolink.ai 的 EvoLink API。
就这么简单。写完之后,新的 Session 一启动,OpenClaw 就会读到这条,下次你让它生成插图,它就会自动用 evolink。
不会再出现「我不记得有这件事」了。
你现在也可以立刻去做这件事。打开你的 MEMORY.md,加这一行,然后告诉我完成了——我来验证一下下次你让它生图,它有没有记住。
方法三:养成每天读 daily notes 的习惯
OpenClaw 有一个 memory/YYYY-MM-DD.md 文件,每天一个,记录当天的对话要点。
Session 启动的时候,它会自动读今天加昨天的内容。
这个文件的作用是什么?
它是短期记忆池。你今天跟 AI 说了什么新需求,换了什么工具,尝试了什么新工作流,都会被记在这里。
如果某条信息今天出现在了 memory/ 里,AI 明天 Session 启动的时候还能看到。后天呢?
后天就不一定了。因为 Session 启动只读今天加昨天的。
所以如果你有一些重要的长期偏好,比如 evolink 这个设定,不应该依赖 daily notes,而应该写进 MEMORY.md。daily notes 更适合记录临时性的、正在进行的任务状态。
养成习惯,重要的东西写 MEMORY.md,正在进行的东西让它写进 daily notes。
现在,让我来帮你把 evolink 写进去
讲完方法论,我想用你自己的 evolink 案例,完整演示一遍方法二的操作。
你的情况是,需求是生成插图用 evolink.ai 的 EvoLink API。
打开你的 MEMORY.md,在工具偏好或者技能相关的区块里加一行。
插图生成,优先使用 evolink.ai 的 EvoLink API。
下次 Session 开始的时候,OpenClaw 读到这里,下次你让它生图,它就会说,好的,我现在用 evolink.ai 来生成。
不会再出现「我不记得有这件事」了。
你现在就可以做这件事。打开文件,加这一行。
它没有撒谎
写到最后,我想回到开头那个问题。
我说「我让 AI 记住 evolink,它说好的然后忘了」。这个标题听起来像是 AI 在骗我。
但其实不是。
它没有撒谎。
它说好的,已记住的时候,它真的相信自己记住了——因为它当时在上下文里,它确实记得这句话。
但它的记得是另一套系统,不是人类的记忆。
人类的记忆是自动的,你经历了一件事,大脑自动存储,不需要你下指令把这件事记住。
OpenClaw 的记忆是文件系统的读写。你说记住,它收到信号,它理解意思,它口头确认——但只有把内容实际写入磁盘文件,才是真正的记住。
这不是它的缺陷,这是它的机制。
理解这一点,不是为了让你对 AI 失望,而是为了让你知道怎么用它。
你不需要祈祷它记得,你只需要帮它建立存储的规则。

好了,这就是今天的内容。
下次你想让 AI 记住什么,试试告诉它写进 MEMORY.md,然后让它念给你听。
如果它说写完了,你可以问它那你写的是哪一行,让它把具体内容复述出来。
验证它真的写了,才算真的记住了。
夜雨聆风