0322 实战直播 | 为什么你的AI助手会"失忆"?
今天这节课,我们来彻底搞懂 OpenClaw(龙虾)智能体的文件系统。这件事情非常重要——理解这些内容,你就能明白智能体为什么会”失忆”,以及如何解决这些问题。
一、记忆系统:为什么会”失忆”?
这是大家最关心的问题!失忆的根本原因是你认为的上下文内容在本次和龙虾的大脑(即大语言模型)对话中,没有提交过去。
龙虾实际的记忆映射到文件系统上有四个主要方面:
1:必然提交的引导文件
AGENTS.md、IDENTITY.md、SOUL.md、USER.md、TOOLS.md、BOOTSTRAP.md
这些文件每次对话都会提交,其中BOOTSTRAP.md只在首次运行时提交。
2:MEMORY.md文件(长期记忆)和memory 文件夹(短期记忆)
MEMORY.md保存的长期记忆在创建之后,每次对话都会完整提交。
memory文件夹中的短期记忆默认只提交”今天+昨天”的记忆文件,可手动修改提交的时间范围。
3:Sessions 持久化记录
每次对话的完整记录都存放在 sessions 目录下:
-
~/.openclaw/agents/<agentId>/sessions/<SessionId>.jsonl
4:定时任务
定时任务分为Cron(操作系统层面)和Heartbeat(应用层面),都非常重要。
关键区别:
-
Cron(操作系统层面):智能体不知道有这个任务,系统到点自动触发,没有上下文 配置文件:~/.openclaw/cron/jobs.json -
Heartbeat(应用层面):智能体知道自己有这个任务,会主动检查执行,带上下文 配置文件:~/.openclaw/workspace/HEARTBEAT.md

二、智能体的工作目录:乱就对了!
先来看一个有趣的现象:
左边——新建的智能体,文件整整齐齐;
右边——用过一段时间的智能体,文件乱七八糟。
你可能会问:为什么这么乱还能跑?
答案是:文件目录乱不乱,根本不重要。
与写代码不同,龙虾是自然语言驱动的系统。它不要求你的文件像工程代码那样规整排列。用得越久,目录越乱是正常的——只要你理解了底层原理。
新建智能体时,系统默认创建的文件有哪些?
三、引导文件详解:智能体的”记忆来源”
在智能体工作区目录内,以下这些是每次和OpenClaw对话都必然会提交给大语言模型的文件:
1. AGENTS.md — 操作指令入口
如果写过代码的都知道,这个就是主函数——这是最重要的入口文件。

每次你发消息给智能体,它第一件事就是读取 AGENTS.md,然后按照里面的步骤执行。这就是它的规则的入口文件。
2. BOOTSTRAP.md — 一次性初始化仪式
这是智能体的出生证明,首次运行时创建初始配置,完成后应该删除。删除后,后续重启也不会重新创建。
这件事情非常的重要——龙虾以自然语言的方式表述规则,就像写代码一样,但更灵活。

仔细看——Bootstrap 里说”遵循它,弄清楚你是谁,然后删除他”。明明说了要删除,为什么没有删除?

龙虾在初始化第一个main主智能体的时候,不同的使用者在这里遇到的情况似乎不太一致,有一些主动删除了这个文件,有一些则没有删除,如果没有主动删除,当你执行/new指令清空会话或者执行openclaw gateway restart重启openclaw之后,龙虾可能会再次询问你它的人设情况。所以这里如果没有主动删除的话,建议手动删除。
3. SOUL.md — 人设、边界、语气
这个智能体是谁?它的灵魂。

这是智能体的底层设定:价值观、边界、语气。可以理解为”别人给它洗脑的内容”——这是最深层的设定,每次都会加载。
4. IDENTITY.md — 智能体名称/风格
Identity 是它更细化的这个职责。

Soul 和 Identity 的区别:
-
Soul:为什么创建它(底层价值观),比较厉害所以是灵魂 -
Identity:它认为自己是谁(名称、风格、职责),稍微弱一点
5. USER.md — 用户档案
User 就比较好理解,是他怎么称呼我们,以及和我相关的一些信息。

记录智能体如何称呼你、你和它的关系是什么。
6. TOOLS.md — 技能或工具使用说明
用户维护的工具说明。TOOLS.md 不是列举有哪些技能或工具,而是描述你希望在什么场景如何去使用这些技能或工具。

⚠️ 重要提示:手动修改记忆文件后如何生效?
如果你手动修改了引导文件(AGENTS.md、SOUL.md、IDENTITY.md、USER.md、MEMORY.md),龙虾不会立即识别这些修改。需要以下操作之一才能生效:
-
重启 OpenClaw 服务: openclaw gateway restart -
执行 /new命令:开启一个新的会话
这是因为引导文件只在会话初始化时加载一次,已运行的会话不会重新读取这些文件。
四、Memory 记忆机制
MEMORY.md文件(长期记忆)和memory 文件夹(短期记忆)里存放的是”你让它记住的东西”。这件事情非常重要——你让智能体记住的内容都会存在这里。

重要规则:MEMORY.md文件会在每次对话时都完整提交,而memory 文件夹(短期记忆)默认只提交”今天+昨天”的记忆文件。但是你可以在AGENTS.md文件中修改这个设置,扩展到7天、30天都可以。注意 Token 消耗!

五、Sessions 对话记录
大家仔细看——在 agents 目录下面,有 sessions 这个目录。

这里存放着你跟智能体每一次对话的完整记录,以及每次和大模型对话的usage情况,输入、输出多少Tokens。

如果智能体”失忆”了,你可以告诉它去这个目录下找历史对话。
故障排查:智能体失忆了怎么办?
按这个顺序检查内容存在于以下4个方面的具体什么位置:
-
引导文件 — 检查 AGENTS.md、IDENTITY.md、SOUL.md、USER.md、TOOLS.md、BOOTSTRAP.md 中是否有记录 -
MEMORY.md或memory 文件夹 — 检查今天/昨天的记忆文件和MEMORY.md长期记忆中。 -
Sessions 目录 — 找历史对话记录,默认在/new开新会话或者重启openclaw之后就会遗忘。如果希望不遗忘可以指定龙虾读区具体的session文件。 ~/.openclaw/agents/<agentId>/sessions/ -
定时任务 — 检查 Cron 或 Heartbeat 配置
写在最后
这节课我们深入了解了龙虾智能体的文件系统和记忆机制。掌握了这些,你就能:
-
知道智能体为什么会”失忆” -
知道去哪里找丢失的记忆 -
知道如何正确地让它记住事情
往期推荐


夜雨聆风