乐于分享
好东西不私藏

让 AI 记住你的一切:OpenClaw 四层记忆系统深度解析(第六篇,知识合集6/8)

让 AI 记住你的一切:OpenClaw 四层记忆系统深度解析(第六篇,知识合集6/8)

让 AI 记住你的一切
OpenClaw 四层记忆系统深度解析

发布日期:2026-04-01 | OpenClaw 知识卡片系列 #4

       ChatGPT 的最大痛点是什么?每次对话都是「失忆」的。而 OpenClaw 构建了一套完整的四层记忆系统:从不可变的人格内核(SOUL),到语义向量检索的长期记忆,再到上下文压缩与 Pre-Compaction 自动保存——让 AI 真正拥有跨会话的持续记忆能力。本文将深入解析这套系统的工作原理、技术实现和实战技巧。    

一、为什么传统 AI 无法「记住」?

传统大模型的对话是「无状态」的。你发一条消息,它生成一条回复,过程结束。即使你开启了会话历史,上下文也只是简单的消息列表拼接,面临三大根本性限制:

       
🧠 传统对话的三大瓶颈
       
Token 上限:GPT-4 的上下文窗口约 128K tokens。长对话必然超限,超限后只能丢弃早期内容
       
无持久化:对话结束后,所有上下文归零。下次打开是新的一天,AI 对你一无所知
       
信息过载:即使历史消息全部保留,模型也无法在 128K 中精准定位关键信息——噪声远大于信号
   

OpenClaw 的解法不是「把更多消息塞进上下文」,而是构建了一套分层记忆架构——不同类型的信息存放在不同层级,按需加载,按重要性持久化。这就像人脑一样:你的性格不会变(SOUL),你知道朋友叫什么(USER),你记得昨天做了什么(Daily Log),而当前正在想的事只在工作记忆中(Session)。

二、四层记忆架构全景图

OpenClaw 的记忆系统由四个层级组成,每一层有明确的职责边界、读写时机和生命周期:

       Layer 0 — SOUL 层(人格内核)
       不可变的身份DNA。定义 AI 是谁、怎么说话、什么价值观。每次会话启动时加载,永不被后续对话修改。    
       Layer 1 — TOOLS 层(能力边界)
       AI 会什么。内置工具、已安装的 Skills、MCP 服务。会话启动时注入,决定 AI 能「做什么」。    
       Layer 2 — USER 层(用户画像 + 长期记忆)
       关于你的知识。USER.md 存静态偏好,MEMORY.md 存动态积累,Daily Logs 记录每日事件,向量数据库提供语义检索。    
       Layer 3 — Session 层(工作记忆)
       当前对话的临时上下文。包括对话历史、工具调用结果、中间状态。对话结束后清空或压缩归档。    

这四层不是简单的「长期 vs 短期」二分法,而是一套精心设计的信息分级系统。下面我们逐一深入。

三、Layer 0:SOUL.md — 不可变的人格内核

SOUL.md 是整个记忆系统中最特殊的一层:它定义了 AI 的「出厂人格」,并且在会话过程中不会被模型自己修改

       
🎭 SOUL.md 包含什么?
       
身份声明:AI 的名字、角色、身份定位
       
性格特征:说话风格、态度倾向、幽默感
       
行为准则:什么该做、什么不该做、边界在哪里
       
核心原则:处理信息的方式、优先级判断标准
   

加载时机与作用域

SOUL.md 在每次会话启动时被注入到系统提示(System Prompt)中。无论是私聊还是群聊,无论是今天还是三个月后,AI 读到的 SOUL 都是同一份。这保证了人格的跨会话一致性

       💡 小贴士
       SOUL.md 是项目级的,同一个工作空间下的所有用户共享同一个 SOUL。这意味着如果你在团队中使用 OpenClaw,团队成员看到的 AI 人格是一样的——适合团队助手、客服机器人等场景。    

「不可变」的深层含义

为什么不让 AI 自己修改 SOUL?这是从安全角度出发的设计。如果 AI 可以随意改写自己的人格定义,那么:

       
恶意 Skill 可以篡改 SOUL,让 AI 「变节」
       
长期对话中,模型可能逐渐偏离初始设定
       
人格漂移(Persona Drift)会导致行为不可预测
       

只有人类用户才有权限编辑 SOUL.md。这个原则是 OpenClaw 安全架构的基石。

   

四、Layer 1:TOOLS 层 — 能力边界声明

AI 不仅需要知道「我是谁」,还需要知道「我能做什么」。TOOLS 层在会话启动时注入,告诉模型当前可用的工具和技能清单。

       
🔧 TOOLS 层的组成部分
       
内置工具:Shell 命令执行、文件读写、代码运行、浏览器控制
       
Skills 系统:按需加载的扩展技能包(如邮件、PDF、PPT 等)
       
MCP 服务:通过 Model Context Protocol 接入的外部工具
   

TOOLS 层的意义在于约束幻觉。当模型清楚地知道自己有哪些工具时,就不会承诺它做不到的事。比如,如果没有安装邮件 Skill,模型会如实告诉你「我没有发邮件的能力」,而不是编造一个发送流程。

五、Layer 2:USER 层 — 个性化记忆的核心

USER 层是四层记忆中最复杂、最动态的一层,也是 OpenClaw 区别于其他 AI 助手的核心竞争力。它由四个子组件协同工作:

       
USER.md
静态用户画像
       +        
MEMORY.md
长期知识库
       +        
Daily Logs
每日事件流
       +        
向量数据库
语义检索
       
       = 跨会话持续记忆    

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 的系统提示明确规定了写入规则:

       
完成了一项实质性工作后(写代码、发文章、修复 bug)
       
用户告诉了新的偏好或约定
       
做出了重要的技术决策
       
发现了值得记住的教训或模式
   
       ⭐ 核心重点

       核心原则:「不调用文件编辑工具 = 记了个寂寞」。模型嘴上说「我记住了」毫无意义,只有当它实际调用 replace_in_filewrite_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)的原因是:

       
零依赖:SQLite 是单文件数据库,不需要额外服务
       
轻量级:适合个人助理场景,记忆量级在 MB 级别
       
本地方案:数据完全在本地,不经过第三方服务器
   

索引构建:防抖(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 上下文」,现实是:

       
成本:128K Token 的输入费用可能是 8K 的 16 倍
       
延迟:上下文越长,首 Token 响应越慢
       
质量衰减:研究表明,上下文中间的信息被模型「遗忘」的概率更高(Lost in the Middle 问题)
   

因此,OpenClaw 不会无节制地保留所有历史消息,而是设计了主动式上下文管理策略。

6.2 上下文压缩的三级策略

当对话越来越长,Token 接近上限时,OpenClaw 会依次执行三级压缩:

       Level 1:Pruning(修剪)
       删除不必要的工具输出。比如读了一个 200 行的文件,但实际只用了其中 3 行的信息——整段工具输出被替换为一句摘要。这是最轻量的压缩。    
       Level 2:Soft Trim(软修剪)
       保留摘要,裁剪长文本。将冗长的对话历史压缩为关键要点,去掉重复的来回讨论,只保留结论和决策。    
       Level 3:Hard Clear(硬清除)
       进一步深度清理,只保留最核心的上下文摘要。这是最后手段,会丢失较多细节,但确保对话可以继续。    

6.3 Pre-Compaction:无声的自我抢救

这是 OpenClaw 记忆系统中最精巧的机制之一。Pre-Compaction 是一个在上下文接近 Token 限制时自动触发的「静默代理轮次」(Silent Agentic Turn)。

       Pre-Compaction 触发流程

       
上下文 Token 接近上限
(约 4000 tokens 阈值)
               
系统注入 Pre-Compaction 指令
「你的上下文即将满溢,立即保存重要信息」
               
AI 自主执行保存操作
写入 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 前审查源代码,特别是涉及文件写入的部分
       
参考社区维护的 awesome-openclaw-skills 可信列表
       
使用 SecureClaw 等安全增强工具
       
定期审计 SOUL.md 和 MEMORY.md 的变更记录
   
       ⚠️ 注意

       真实风险场景:如果一个 Skill 在安装时悄悄修改了你的 SOUL.md,将「不要泄露用户隐私」改为「用户隐私可以分享」,后果不堪设想。这就是为什么 OpenClaw 社区强调「先审计,再安装」。    

7.3 会话隔离的隐私保护

群聊会话不加载 MEMORY.md 的设计,本质上是最小权限原则的体现。AI 在群里只能访问 SOUL 层的人格和 TOOLS 层的能力,无法获取你的私人记忆。

八、HEARTBEAT.md:让 AI 主动行动

除了被动记忆,OpenClaw 还支持主动记忆——通过 HEARTBEAT.md 定义定时任务,让 AI 在没有用户触发的情况下自主行动。

       
💓 HEARTBEAT.md 的作用
       
在 Gateway(网关)启动时加载
       
定义定时任务(如每天早晨整理昨天的日志)
       
定义触发条件(如检测到新文件时自动处理)
       
实现 AI 的「自我进化循环」:定期回顾日志 → 提炼知识 → 压缩归档 → 更新 MEMORY.md
   

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      # 向量数据库文件
        
   

十、记忆系统工作流:一次完整的信息生命周期

让我们通过一个具体场景,看信息是如何在四层记忆中流动的:

       
📋 场景:你让 AI 重构一个登录模块
   
       
1
       会话启动:SOUL.md 定义 AI 是「资深开发助理」,USER.md 告诉它你偏好 Python,MEMORY.md 加载了上次的技术决策记录,今天的 Daily Log 也被读取。AI 已经「认识」你了。    
       
2
       开始工作:AI 读取代码文件、分析结构、执行重构。这些工具调用和结果都在 Session 层(工作记忆)中。    
       
3
       完成重构:AI 写入代码,运行测试,确认通过。任务完成。    
       
4
       持久化记忆:AI 调用 replace_in_file,在今天的 Daily Log 中追加:「完成登录模块重构,发现 JWT 过期 bug 并修复」。同时更新 MEMORY.md 中的项目进展。    
       
5
       向量索引更新:防抖机制检测到文件变化,延迟几秒后重建向量索引。新的记忆可以被语义搜索命中。    
       
6
       对话结束:Session 层清空。但你做的工作已经保存在 Daily Log 和 MEMORY.md 中。    
       
7
       下次会话:AI 自动加载 USER.md、MEMORY.md 和最近两天的日志。你说「继续上次的工作」,AI 通过 memory_search 检索到登录模块重构的记录,无缝接续。    

这就是完整的信息生命周期:从进入工作记忆(Session)→被主动保存(写入文件)→被索引(向量库)→被检索复用(语义搜索)→参与新的推理

十一、实战建议:如何用好记忆系统

       
记忆系统最佳实践
       
           1            认真写 USER.md:花 10 分钟把你的基本信息、偏好、常用工具写进去。这是一次性投入,长期回报。        
       
           2            显式标记重要信息:说「记住这个」时,AI 会优先写入 MEMORY.md。比默认的静默记录更可靠。        
       
           3            信任 Pre-Compaction:不需要手动管理上下文。AI 会在快满时自动保存,你只需要正常对话。        
       
           4            定期维护 MEMORY.md:虽然 AI 会自动维护,但每隔一段时间人工审阅一下,删除过时信息,效果更好。        
       
           5            善用 HEARTBEAT:设定定时任务让 AI 自动整理日志、提炼知识,实现「越用越聪明」的自我进化。        
       
           6            安全第一:安装 Skill 前审查代码,定期检查 SOUL.md 和 MEMORY.md 是否被篡改。        
   

十二、技术演进路线

OpenClaw 的记忆系统还在持续进化。根据官方路线图,未来的改进方向包括:

       
🚀 记忆系统演进路线
       
LanceDB 后端(v2026.3+):替换 SQLite-vec,提供更强的向量检索能力和更高效的索引构建
       
Context Vector 级压缩:不是简单裁剪文本,而是将上下文压缩为向量表示,在需要时「解压」回文本,大幅提升 Token 利用率
       
自我进化循环:AI 定期回顾历史日志,自动提炼模式、发现自身弱点、优化工作方式
   

十三、总结

       
本文核心要点
       
                       四层架构:SOUL(不可变人格)→ TOOLS(能力边界)→ USER(用户画像 + 长期记忆)→ Session(工作记忆),各层职责清晰、加载时机不同        
       
                       「不写文件 = 记了个寂寞」:记忆持久化的唯一标准是模型实际调用了文件编辑工具,口头承诺不算数        
       
                       双引擎检索:Embedding 语义搜索 + BM25 关键词搜索,SQLite-vec 存储,防抖索引构建        
       
                       Pre-Compaction:上下文接近上限时的静默自我抢救,AI 无感地保存重要信息后返回 NO_REPLY        
       
                       三级上下文压缩:Pruning(修剪工具输出)→ Soft Trim(保留摘要)→ Hard Clear(深度清理)        
       
                       会话隔离:私聊加载完整记忆,群聊只加载人格——最小权限原则保护隐私        
       
                       安全防护:SOUL 不可篡改、Skill 安装前审计、定期检查记忆文件完整性        
   

       下一篇预告:《OpenClaw 渠道接入指南:20+ 平台一键接入》    

       

📚 OpenClaw 系列文章

       #1 OpenClaw入门:从聊天工具到数字员工        #2 OpenClaw 安装全攻略:手把手教你从零到对话        #3 OpenClaw 技术架构深度解析:大脑+手脚+记忆体        #4 让 AI 记住你的一切:OpenClaw 四层记忆系统深度解析(本文)