










OpenClaw 的记忆系统设计得很特别,它把所有记忆都写成普通的 Markdown 文件,直接保存在 agent 的工作目录(workspace)里。模型本身不会在脑子里记东西,只有写到磁盘上的内容才会持久存在。
OpenClaw 把记忆分成两层,结构很简单但很实用:
每天的日志文件(daily log):
路径是 memory/YYYY-MM-DD.md(比如 memory/2026-03-28.md)。
这是一个“只追加”的文件,用来记录当天的事情、运行中的上下文、临时笔记等。
系统会在 session 开始时自动读取今天和昨天的日志,方便 agent 快速接上昨天的进度。
长期记忆文件:
文件名叫 MEMORY.md,放在 workspace 的根目录。
用来保存重要的、需要长期记住的东西,比如关键决定、用户偏好、重要事实等。
这个文件只会在私人 session(private session)里加载,在群聊之类的场景里不会自动读,避免信息泄露或混乱。
Agent 主要通过两个工具来操作记忆:
memory_search:语义搜索。
它会在记忆文件里建立向量索引,用“意思”而不是精确关键词来查找相关内容。即使你换了说法,也能找到以前记的东西。支持混合搜索(向量 + 关键词),效果更好。
memory_get:直接读取指定文件或某几行内容。
如果文件不存在(比如今天还没写过日志),它也不会报错,而是安静地返回空内容,让 agent 自己处理。
这两个工具默认由 memory-core 这个插件提供。
这是一个很重要的使用原则,新手一定要注意:
MEMORY.md(决定、偏好、核心事实)。memory/YYYY-MM-DD.md。用户如果说“记住这个”,最好明确让 agent 写到文件里。写记忆是主动行为,不是自动的。
为了防止上下文窗口快满时(compaction 压缩前)重要信息丢失,OpenClaw 有一个自动刷新机制:
当 session 的 token 数量接近上限(默认计算公式是 contextWindow 减去一些保留 token 和软阈值)时,系统会在压缩前悄悄触发一次“agent 内部回合”。
这个时候,模型会被提示去把重要内容写到当天的日志文件里。它通常不会回复用户(返回 NO_REPLY),用户几乎感觉不到这个过程。
这个机制默认是开启的,可以在配置里调整阈值和提示词。如果 workspace 是只读模式,就不会触发。
记忆文件会自动建立向量索引,支持语义搜索。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。