乐于分享
好东西不私藏

0322 实战直播 | 为什么你的AI助手会"失忆"?

0322 实战直播 | 为什么你的AI助手会"失忆"?

你有没有遇到过这种情况:明明刚跟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),龙虾不会立即识别这些修改。需要以下操作之一才能生效:

  1. 重启 OpenClaw 服务openclaw gateway restart
  2. 执行 /new 命令:开启一个新的会话

这是因为引导文件只在会话初始化时加载一次,已运行的会话不会重新读取这些文件。


四、Memory 记忆机制

MEMORY.md文件(长期记忆)和memory 文件夹(短期记忆)里存放的是”你让它记住的东西”。这件事情非常重要——你让智能体记住的内容都会存在这里。

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


五、Sessions 对话记录

大家仔细看——在 agents 目录下面,有 sessions 这个目录。

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

如果智能体”失忆”了,你可以告诉它去这个目录下找历史对话。


故障排查:智能体失忆了怎么办?

按这个顺序检查内容存在于以下4个方面的具体什么位置:

  1. 引导文件 — 检查 AGENTS.md、IDENTITY.md、SOUL.md、USER.md、TOOLS.md、BOOTSTRAP.md 中是否有记录
  2. MEMORY.md或memory 文件夹 — 检查今天/昨天的记忆文件和MEMORY.md长期记忆中。
  3. Sessions 目录 — 找历史对话记录,默认在/new开新会话或者重启openclaw之后就会遗忘。如果希望不遗忘可以指定龙虾读区具体的session文件。
    ~/.openclaw/agents/<agentId>/sessions/
  4. 定时任务 — 检查 Cron 或 Heartbeat 配置

写在最后

这节课我们深入了解了龙虾智能体的文件系统和记忆机制。掌握了这些,你就能:

  • 知道智能体为什么会”失忆”
  • 知道去哪里找丢失的记忆
  • 知道如何正确地让它记住事情

往期推荐

本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » 0322 实战直播 | 为什么你的AI助手会"失忆"?

猜你喜欢

  • 暂无文章