OpenClaw 内存的工作原理以及如何控制它
这意味着,如果您使用的是同一个代理工作区,那么您在 Telegram 中设置的偏好设置,在您通过 WhatsApp 或 Discord 私信发送消息时仍然有效。它会将数据写入你电脑上的文件。OpenClaw 通过在需要缩小或总结正在进行的对话之前,将持续存在的片段捕获到内存中来解决这个问题。内存文件存储在磁盘上,这固然是好事,但也意味着您需要进行基本的安全加固。如果你要在 WhatsApp、Tel
OpenClaw 的记忆功能使其感觉不像“聊天窗口”,而更像是“一个会一直存在的东西”。你只需告诉它一次,几周后它就能调出那个细节,而无需你重复一遍。
我喜欢 OpenClaw 的一点是它并不神秘。它会将数据写入你电脑上的文件。你可以打开、编辑、删除这些文件,或者根据需要进行版本控制。OpenClaw 的内存并非黑匣子。
如果你还在摸索 OpenClaw 的基础知识,首先要了解OpenClaw 是什么以及它的工作原理。如果你要在 WhatsApp、Telegram 和 Discord 上运行它,内存就显得尤为重要,因为它将所有功能连接起来,请参阅OpenClaw 多渠道设置。
定义:OpenClaw 中“内存”的含义
在 OpenClaw 中,内存与聊天上下文并不相同。
聊天上下文是指模型当前在其上下文窗口中可以看到的内容。这方面的限制取决于您选择的模型。
内存是指 OpenClaw 存储在工作区磁盘上的数据,它能确保在重启、通道切换和长时间会话后依然存在。这部分数据可以不断增长,而不会达到令牌上限。
OpenClaw 的文档将记忆描述为一组连续性文件,包括每日笔记和长期记忆文件。OpenClaw记忆文档
OpenClaw 使用的内存文件
OpenClaw 的默认内存格式是纯 Markdown。这就是关键所在。你可以用普通的文本编辑器查看它,无需任何特殊工具。
- memory/YYYY-MM-DD.md每日笔记,原始运行日志,记录了发生的一切
- MEMORY.md长期记忆,更精心整理且更稳定
- USER.md您的偏好和工作方式
- SOUL.md代理的个性和行为规则
OpenClaw 的模板和参考文档中记录了“日常笔记 + 长期记忆”的划分。OpenClaw AGENTS 模板
以下是实际应用方面的解释:
- 每日笔记记录下当下所有感觉有用的东西,包括混乱的背景信息。
- MEMORY.md 应该保持简洁和冷静。它记录的是那些你想在时间长河中始终保持真我的东西。
如果您想验证项目上游的说法,这是 OpenClaw 本身的权威来源:GitHub 上的 OpenClaw。
日常笔记与长期记忆
每日笔记就像日记一样。它们有助于保持几天来的沟通连贯性,尤其是在需要频繁沟通的情况下。你可以打开昨天的笔记,查看讨论内容和做出的决定。
长期记忆更像是一种个人档案。它储存着诸如此类的信息:
- 你喜欢怎样的答案格式?
- 你正在进行哪些项目?
- 您偏好的工具和默认设置
- 你希望 OpenClaw 每次都遵循的规则
如果任由 MEMORY.md 变成日记,它会变得杂乱无章,实用性降低。如果定期整理,几个月后你仍然能很好地记住之前的内容。
OpenClaw 如何向您“学习”
人们一听到“学习”这个词,就以为是在进行模型训练。但事实并非如此。
OpenClaw 不会重新训练 Claude 或 OpenAI 模型。它通过写入和检索内存文件中的信息来进行适应。这可以通过两种方式实现。
1)显性记忆
你告诉它记住什么,它就写下来。就这么简单。如果你想更直接一些,可以这样说:
“请在 USER.md 文件中添加以下内容:我希望答案简短,命令可复制粘贴。”
这种指导方式是获得一致行为的最快方法,因为你不会指望它以后“自己领悟”。
2)基于模式的记忆
随着时间的推移,OpenClaw 可能会注意到一些模式,并将它们从日常笔记提升到长期记忆中。例如:你总是要求提供 Bash 代码片段,而总是拒绝冗长的理论解释。最终,记忆就会反映出这种风格。
这并非魔法,只是积累和筛选的结果。不过,几周之后,OpenClaw 的确给人一种更个性化的感觉。
为什么记忆在长时间会话中更为重要
即使使用较大的上下文窗口,长时间的会话最终也会变得非常耗内存。OpenClaw 通过在需要缩小或总结正在进行的对话之前,将持续存在的片段捕获到内存中来解决这个问题。
结果是,即使对详细讨论过程进行总结,“真正重要的东西”依然保留了下来。这也是模型选择至关重要的原因之一。如果您正在不同供应商之间进行选择,请参阅OpenClaw 与 Claude 模型对比 OpenAI 模型选择。
记忆检索与搜索
经过一个月的每日笔记记录,你肯定不想手动在几十个文件中搜索。OpenClaw 支持内存搜索,可以结合关键词匹配和语义匹配。
OpenClaw 的文档提到,可以使用 sqlite-vec(如果可用)来加速 SQLite 内部的向量搜索。内存搜索详情
简单来说,你可以问类似这样的问题:
“请找出我们对 Telegram 机器人隐私模式的决定。”
即使你不记得当时使用的确切措辞,它也能从旧笔记中提取相关的片段。
如果你想了解 sqlite-vec 本身的背景信息,项目页面在这里:sqlite-vec。
交叉通道存储器
OpenClaw 可以跨多个聊天应用运行,并保持同一个共享工作区。这意味着,如果您使用的是同一个代理工作区,那么您在 Telegram 中设置的偏好设置,在您通过 WhatsApp 或 Discord 私信发送消息时仍然有效。
这就是 OpenClaw 与“每个平台一个机器人”的不同之处。它是一个拥有统一内存的助手。如果您正在设置 OpenClaw,多通道指南是最佳途径:OpenClaw 多通道设置。
隐私边界和共享渠道
内存原本很有用,直到它泄漏到不该泄漏的地方。
一个合理的模式是:仅在私人会话中加载个人记忆,然后对群组频道设置更严格的规则。上游文档和社区指南都描述了如何将长期记忆排除在群组环境之外,以减少意外泄露。OpenClaw代理的记忆指南
如果您正在 Telegram 中搭建团队,Telegram 平台本身就为机器人提供了隐私模式,并且默认启用。Telegram 文档详细介绍了隐私模式的工作原理以及机器人何时可以看到群组消息。Telegram机器人隐私模式
此外,如果您在 VPS 上托管 OpenClaw,请务必保护网关和文件系统。内存文件存储在磁盘上,这固然是好事,但也意味着您需要进行基本的安全加固。请阅读如何在 VPS 上安全地托管 OpenClaw。
如何安全地编辑内存
“控制”部分是最精彩的部分。
- 如果 OpenClaw 记录的信息有误,请进行修改。
- 如果内容已过时,请删除。
- 如果你想做出更显著的行为改变,请将它们放在 USER.md 或 SOUL.md 中,以便它们始终加载。
如果你想快速有效地检查你的设置,发送第一条消息,然后检查 Web UI 和日志仍然是最好的健全性检查:你向 OpenClaw 发送的第一条消息。
您应该了解的局限性
OpenClaw 内存虽然强大,但它不具备自清洁功能。
- 如果不进行精简或总结,每日笔记可能会变得杂乱无章。
- 语义搜索很好,但并不完美。糟糕的查询和模糊的查询都会出现。
- 上下文窗口仍然存在。内存依然可用,但你无法在一个提示符中加载无限的内容。
即便存在这些限制,“写下来以后再检索”的模型对于代理人来说仍然是一种可靠的方法。
更多推荐


所有评论(0)