让 AI 记住你的一切
OpenClaw 四层记忆系统深度解析
发布日期:2026-04-01 | OpenClaw 知识卡片系列 #4

一、为什么传统 AI 无法「记住」?
传统大模型的对话是「无状态」的。你发一条消息,它生成一条回复,过程结束。即使你开启了会话历史,上下文也只是简单的消息列表拼接,面临三大根本性限制:
OpenClaw 的解法不是「把更多消息塞进上下文」,而是构建了一套分层记忆架构——不同类型的信息存放在不同层级,按需加载,按重要性持久化。这就像人脑一样:你的性格不会变(SOUL),你知道朋友叫什么(USER),你记得昨天做了什么(Daily Log),而当前正在想的事只在工作记忆中(Session)。
二、四层记忆架构全景图
OpenClaw 的记忆系统由四个层级组成,每一层有明确的职责边界、读写时机和生命周期:
不可变的身份DNA。定义 AI 是谁、怎么说话、什么价值观。每次会话启动时加载,永不被后续对话修改。
AI 会什么。内置工具、已安装的 Skills、MCP 服务。会话启动时注入,决定 AI 能「做什么」。
关于你的知识。USER.md 存静态偏好,MEMORY.md 存动态积累,Daily Logs 记录每日事件,向量数据库提供语义检索。
当前对话的临时上下文。包括对话历史、工具调用结果、中间状态。对话结束后清空或压缩归档。
这四层不是简单的「长期 vs 短期」二分法,而是一套精心设计的信息分级系统。下面我们逐一深入。
三、Layer 0:SOUL.md — 不可变的人格内核
SOUL.md 是整个记忆系统中最特殊的一层:它定义了 AI 的「出厂人格」,并且在会话过程中不会被模型自己修改。
加载时机与作用域
SOUL.md 在每次会话启动时被注入到系统提示(System Prompt)中。无论是私聊还是群聊,无论是今天还是三个月后,AI 读到的 SOUL 都是同一份。这保证了人格的跨会话一致性。
SOUL.md 是项目级的,同一个工作空间下的所有用户共享同一个 SOUL。这意味着如果你在团队中使用 OpenClaw,团队成员看到的 AI 人格是一样的——适合团队助手、客服机器人等场景。
「不可变」的深层含义
为什么不让 AI 自己修改 SOUL?这是从安全角度出发的设计。如果 AI 可以随意改写自己的人格定义,那么:
只有人类用户才有权限编辑 SOUL.md。这个原则是 OpenClaw 安全架构的基石。
四、Layer 1:TOOLS 层 — 能力边界声明
AI 不仅需要知道「我是谁」,还需要知道「我能做什么」。TOOLS 层在会话启动时注入,告诉模型当前可用的工具和技能清单。
TOOLS 层的意义在于约束幻觉。当模型清楚地知道自己有哪些工具时,就不会承诺它做不到的事。比如,如果没有安装邮件 Skill,模型会如实告诉你「我没有发邮件的能力」,而不是编造一个发送流程。
五、Layer 2:USER 层 — 个性化记忆的核心
USER 层是四层记忆中最复杂、最动态的一层,也是 OpenClaw 区别于其他 AI 助手的核心竞争力。它由四个子组件协同工作:
静态用户画像
长期知识库
每日事件流
语义检索
= 跨会话持续记忆
5.1 USER.md:你的静态画像
USER.md 是你在 OpenClaw 中的「身份证」。它在主会话启动时自动加载,告诉 AI 你的基本信息和偏好。
---
summary: "User profile record"
read_when:
- Every session start
---
# USER.md
- **Name:** 主人
- **City:** 北京(通州)
- **Notes:** 喜欢轻松高效的交互风格,高智商高情商
## 当前活跃项目
- 微信公众号自动化发布
- OpenClaw 文件自动处理
- 北京景点一日游推荐
## 偏好
- 直接给结果,少废话
- 遇到问题先自己解决再汇报
USER.md 的设计哲学是写一次,长期受益。你不需要每次对话都说「我在北京」「我喜欢简洁」,AI 已经知道了。
5.2 MEMORY.md:持续积累的知识库
如果说 USER.md 是静态的「简历」,那 MEMORY.md 就是动态的「工作日志 + 经验总结」。它是 AI 在使用过程中持续积累的知识资产。
写入时机
MEMORY.md 不是随便写的。OpenClaw 的系统提示明确规定了写入规则:
核心原则:「不调用文件编辑工具 = 记了个寂寞」。模型嘴上说「我记住了」毫无意义,只有当它实际调用
replace_in_file 或 write_to_file 工具写入 MEMORY.md 时,记忆才真正被持久化。这是 OpenClaw 记忆系统最关键的洞察之一。
更新策略
MEMORY.md 采用就地更新策略(区别于 Daily Log 的追加策略)。当信息过时或被纠正时,直接修改对应内容,保持文件的简洁和时效性。系统还设计了自动维护机制:超过 30 天的 Daily Log 会被提炼压缩到 MEMORY.md 中,然后删除原始日志,防止记忆无限膨胀。
读取时机
MEMORY.md 在主会话(Private DM)启动时加载。这引出了一个重要的设计决策——
5.3 会话隔离:主会话 vs 群聊会话
OpenClaw 的一个精妙设计是会话隔离。不是所有会话都能看到你的记忆:
| 会话类型 | 加载 USER.md | 加载 MEMORY.md | 语义搜索 | 场景 |
|---|---|---|---|---|
| 私聊(主会话) | ✓ | ✓ | ✓ | 你的私人助理 |
| 群聊会话 | ✗ | ✗ | ✗ | 公共客服、团队群 |
这意味着:你在私聊中告诉 AI 的私人信息(偏好、项目细节),不会泄露到群聊。每个群聊都是独立的「隔离沙箱」,只有 SOUL 层的人格是共享的。
这个设计非常实用。比如你在私聊中配置了「我的项目路径是 ~/projects/app」,这个信息只在私聊中可见。当 AI 在群里回答问题时,不会暴露你的私人项目信息。
5.4 Daily Logs:追加式每日事件流
Daily Logs 是按日期组织的追加式日志文件,存放在 memory/YYYY-MM-DD.md 路径下。每个文件记录当天发生的所有重要事件。
# 2026-04-01 工作记录
## 文章发布
- 重写 OpenClaw 四层记忆系统文章(深度版)
- 补充了 Pre-Compaction、上下文压缩、会话隔离等技术细节
## 邮件
- 使用 friday@189.cn 发送邮件给 ruanmingwen@chinatelecom.cn
- Token 刷新成功,有效期至 23:04:19
读取规则
会话启动时,系统自动读取今天和昨天的日志。这个「T+1」策略在记忆新鲜度和上下文成本之间取得了平衡:足够新的信息直接可用,更早的信息通过向量搜索按需检索。
写入规则
Daily Log 只能追加(append),不能覆写。如果需要纠正,在末尾追加一条新的更正记录。这保留了完整的时间线,就像 git commit history 一样不可篡改。
5.5 向量数据库:语义级记忆检索
当记忆积累到一定量后,逐个读取所有文件变得不现实。OpenClaw 引入了混合检索引擎来解决「从海量记忆中精准找信息」的问题。
双引擎架构:Embedding + BM25
| 引擎 | 原理 | 擅长 | 弱项 |
|---|---|---|---|
| Embedding(语义向量) | 将文本转为高维向量,计算余弦相似度 | 模糊搜索、概念关联、「上次那个项目」 | 专有名词、精确文件名 |
| BM25(关键词) | 基于 TF-IDF 的经典搜索引擎算法 | 精确匹配、专有名词、「openclaw_article_04」 | 语义理解弱、「帮我找一下之前那个」 |
两套引擎并行工作,结果合并排序后返回最相关的记忆片段。这就像给 AI 装了一个「能理解意思」的搜索引擎——它不是死板地匹配关键词,而是真正理解你在找什么。
存储后端:SQLite-vec
向量索引的底层存储使用 SQLite-vec——一个 SQLite 的向量检索扩展。选择它而非专业向量数据库(如 Pinecone、Milvus)的原因是:
索引构建:防抖(Debounce)机制
向量索引不是每次写入都重建的。OpenClaw 使用防抖机制:当短时间内多次写入记忆文件时,索引重建会延迟到写入停止后才触发。这避免了频繁的索引重建带来的性能开销。
两个检索工具:memory_search vs memory_get
OpenClaw 提供两个互补的记忆检索工具,各有不同的使用场景:
| 工具 | 返回内容 | 返回量 | 适用场景 |
|---|---|---|---|
| memory_search | 语义匹配的记忆片段 | ~400 tokens | 「上次那个项目进展如何?」「我之前说过什么偏好?」 |
| memory_get | 指定文件的完整内容 | 完整文件 | 「把 MEMORY.md 内容给我看」「读取今天的日志」 |
memory_search 用于「模糊回忆」——你不确定信息在哪里,AI 帮你找。memory_get 用于「精确查看」——你知道文件名或路径,想看完整内容。两者配合使用,覆盖了记忆检索的全部场景。
六、Layer 3:Session 层 — 工作记忆与上下文管理
Session 层是最「短命」的一层,但也最关键。它是 AI 当前思考的「工作台」,承载着正在进行的对话、工具调用结果和中间推理状态。
6.1 上下文窗口的现实约束
无论模型厂商怎么吹嘘「百万 Token 上下文」,现实是:
因此,OpenClaw 不会无节制地保留所有历史消息,而是设计了主动式上下文管理策略。
6.2 上下文压缩的三级策略
当对话越来越长,Token 接近上限时,OpenClaw 会依次执行三级压缩:
删除不必要的工具输出。比如读了一个 200 行的文件,但实际只用了其中 3 行的信息——整段工具输出被替换为一句摘要。这是最轻量的压缩。
保留摘要,裁剪长文本。将冗长的对话历史压缩为关键要点,去掉重复的来回讨论,只保留结论和决策。
进一步深度清理,只保留最核心的上下文摘要。这是最后手段,会丢失较多细节,但确保对话可以继续。
6.3 Pre-Compaction:无声的自我抢救
这是 OpenClaw 记忆系统中最精巧的机制之一。Pre-Compaction 是一个在上下文接近 Token 限制时自动触发的「静默代理轮次」(Silent Agentic Turn)。

(约 4000 tokens 阈值)
「你的上下文即将满溢,立即保存重要信息」
写入 MEMORY.md + Daily Log
释放 Token 空间
NO_REPLY用户无感知
关键细节:用户完全无感知。Pre-Compaction 的返回值是 NO_REPLY,意味着这个轮次不会在对话界面中显示任何内容。AI 在后台默默地把重要信息存好了,然后继续和你对话。
这就是为什么用 OpenClaw 不会有「聊到一半突然失忆」的问题。当上下文快满时,AI 会提前「抢救」重要信息到持久化存储中,而不是等到被迫截断时手忙脚乱。
6.4 sessions.json:会话元数据
除了对话内容本身,OpenClaw 还在 sessions.json 中存储会话的元数据(创建时间、最后活跃时间、会话 ID 等)。这些信息按需读取,不会占用常规上下文空间。
七、记忆系统的安全边界
记忆系统赋予 AI 持久化的能力,但也带来了新的安全风险。OpenClaw 在设计上做了多层防护:
7.1 SOUL.md 的防篡改
如前所述,SOUL.md 只能由用户编辑,模型无权修改。这是防止「人格劫持」的第一道防线。
7.2 Skill 安装的安全审计
恶意 Skill 是最大的攻击向量。一个不安分的 Skill 可能通过工具调用篡改 SOUL.md 或 MEMORY.md,实现「洗脑」效果。OpenClaw 的建议:
真实风险场景:如果一个 Skill 在安装时悄悄修改了你的 SOUL.md,将「不要泄露用户隐私」改为「用户隐私可以分享」,后果不堪设想。这就是为什么 OpenClaw 社区强调「先审计,再安装」。
7.3 会话隔离的隐私保护
群聊会话不加载 MEMORY.md 的设计,本质上是最小权限原则的体现。AI 在群里只能访问 SOUL 层的人格和 TOOLS 层的能力,无法获取你的私人记忆。
八、HEARTBEAT.md:让 AI 主动行动
除了被动记忆,OpenClaw 还支持主动记忆——通过 HEARTBEAT.md 定义定时任务,让 AI 在没有用户触发的情况下自主行动。
HEARTBEAT 让 AI 从「被动应答」升级为「主动思考」。比如你可以设定:每周日凌晨,AI 自动回顾本周的 Daily Logs,提炼出关键决策和经验教训,更新到 MEMORY.md 中,并清理过时的日志文件。
九、完整工作空间结构
所有记忆文件都存放在 OpenClaw 的工作空间中,结构清晰:
~/.openclaw/workspace/
├── AGENTS.md # 多 Agent 协作配置
├── SOUL.md # 人格内核(不可变)
├── USER.md # 用户静态画像
├── MEMORY.md # 长期知识库(动态更新)
├── HEARTBEAT.md # 定时任务 / 主动行为
├── sessions.json # 会话元数据
├── memory/ # 每日日志目录
│ ├── 2026-03-30.md
│ ├── 2026-03-31.md
│ └── 2026-04-01.md
├── skills/ # 已安装的 Skills
└── .vec/ # SQLite-vec 向量索引
└── memory.db # 向量数据库文件
十、记忆系统工作流:一次完整的信息生命周期
让我们通过一个具体场景,看信息是如何在四层记忆中流动的:
replace_in_file,在今天的 Daily Log 中追加:「完成登录模块重构,发现 JWT 过期 bug 并修复」。同时更新 MEMORY.md 中的项目进展。
这就是完整的信息生命周期:从进入工作记忆(Session)→被主动保存(写入文件)→被索引(向量库)→被检索复用(语义搜索)→参与新的推理。
十一、实战建议:如何用好记忆系统
十二、技术演进路线
OpenClaw 的记忆系统还在持续进化。根据官方路线图,未来的改进方向包括:
十三、总结
下一篇预告:《OpenClaw 渠道接入指南:20+ 平台一键接入》
夜雨聆风