OpenClaw 记忆系统设计学习笔记

OpenClaw 记忆系统设计详解


一、初始架构:本地优先的双层存储

核心设计哲学:「Markdown 即真相」

OpenClaw 最初采用的记忆架构以 "Markdown 即真相" 为核心理念:

记忆文件以纯 Markdown 格式 存储在本地磁盘,是人类可读、git 可追踪的原始真相;SQLite 向量索引是从 Markdown 派生出来的加速层,始终可重建。

整体分为短期缓存长期持久化两层:

复制代码
记忆系统
├── 短期记忆(Short-term Cache)
│   └── 内存缓存,72小时内对话上下文
└── 长期记忆(Long-term Storage)
    ├── SQLite 数据库(结构化索引)
    └── Markdown 文件(原始真相)

1. 短期记忆 ------ 内存缓存

  • 存储位置:运行时内存(In-Memory)
  • 存储内容:当前对话窗口的原始上下文
  • 生命周期:72小时,会话结束后失效
  • 容量限制:受限于模型 Max Tokens
  • 作用:保证多轮对话的连贯性

2. 长期记忆 ------ Markdown 文件持久化

复制代码
~/.openclaw/workspace/
├── MEMORY.md                  # 长期决策、用户偏好、关键事实
└── memory/                    # 每日日志目录
    ├── 2026-01-30.md          # 按日期分片的每日笔记
    ├── 2026-01-31.md
    └── ...
文件 存储内容 加载时机
MEMORY.md 持久性事实、用户偏好、关键决策 仅在主私有会话加载
memory/YYYY-MM-DD.md 每日会话摘要、日常笔记 按日期按需读取
extraPaths 外部文档索引(用户自定义路径) 按需检索

3. SQLite ------ 派生索引层

复制代码
~/.openclaw/memory/
└── <agentId>.sqlite    # 每个 Agent 独立的向量索引库
    ├── FTS5             # 全文搜索索引
    ├── vec0             # 向量相似度搜索
    └── 结构化元数据      # 文件路径、时间戳等
  • 性质 :从 Markdown 派生,不是原始真相
  • 作用:加速检索,支持语义搜索与关键词混合搜索
  • 可重建:Markdown 存在时,SQLite 索引随时可重新生成

4. 整体数据流向

复制代码
用户对话
    ↓
内存上下文(短期缓存)
    ↓ 触发写入规则
Markdown 文件落盘(真相层)
    ↓ 索引管道
SQLite(FTS5 + vec0)加速层
    ↑ 工具调用检索
Agent 对话上下文注入

5. 本地优先原则

所有存储方式均遵循 Local-First(本地优先) 原则:

  • ✅ 所有记忆数据存储在用户本地设备,不上传云端
  • ✅ 纯 Markdown 格式,人类可读、可直接编辑
  • ✅ 支持 git 追踪,记忆变更历史可回溯
  • ✅ 仅调用 LLM API 时联网,支持切换本地模型零联网运行

二、社区演化:分层记忆架构

随着社区实践深入,原生架构暴露出核心痛点------整份 MEMORY.md 每轮全量塞进 system_prompt,不做检索,随使用无限增长,导致 Token 消耗爆炸。社区在此基础上演化出更完善的分层架构。

分层设计总览

将不同类型的信息存储在不同层级,平衡连续性与 Token 消耗:

层级 存储内容 加载策略 Token 成本
身份层 核心自我、用户偏好 始终加载 ~200 tokens
活动上下文 当前任务、近期决策 始终加载 ~500 tokens
档案层 完整历史、项目细节 按需语义检索 节省 96%

核心记忆文件结构

复制代码
~/openclaw-workspace/
├── SOUL.md        # AI 的人格和核心行为准则
├── USER.md        # 用户信息(名字、偏好、职业等)
├── IDENTITY.md    # AI 的自我认知(名字、性格、定位)
├── MEMORY.md      # 长期记忆(重要事件、项目进度、关键决策)
├── HEARTBEAT.md   # 周期性任务清单(主动服务配置)
└── memory/        # 每日记忆文件夹
    ├── 2026-03-04.md
    ├── 2026-03-05.md
    └── ...

RAG 记忆工作流程

每次对话,系统自动完成以下流程:

复制代码
用户输入
   ↓
预处理(清洗、脱敏)
   ↓
检索 Retrieve ------ 在向量库中搜索 Top-K 相关历史记忆
   ↓
增强 Augment ------ 检索到的记忆 + 当前对话 + System Prompt 组装完整 Prompt
   ↓
生成 Generate ------ LLM 基于完整 Prompt 输出回复
   ↓
存储 Store ------ 将当前对话追加到短期上下文

记忆生命周期

① 首次启动:基础记忆加载

OpenClaw 自动读取核心配置文件,构建初始记忆基础:

  • SOUL.md --- 明确 AI 的行为准则和沟通风格
  • USER.md --- 存储用户核心信息,让 AI 快速了解服务对象
  • IDENTITY.md --- 确立 AI 的自我定位,保证交互一致性

② 日常使用:动态记忆交互

  • 读取当天的 memory/YYYY-MM-DD.md,加载最新会话上下文
  • 检索最近 1~2 天的每日记忆文件,确保短期对话连贯性
  • 对话结束后自动写入新的记忆内容

③ 记忆写入规范

markdown 复制代码
## 记忆管理规范
- 日志写入 memory/YYYY-MM-DD.md,记录结论而非过程
- 项目变更时同步更新 memory/projects.md
- 遇到问题时记录到 memory/lessons.md

向量数据库后端支持

yaml 复制代码
memory:
  enabled: true
  # 支持: chroma(默认轻量)| milvus | qdrant | faiss
  backend: chroma
后端 特点
Chroma 默认,轻量级,适合本地使用
Milvus 适合大规模生产环境
Qdrant 高性能向量搜索
FAISS Facebook 开源,适合离线场景

三、社区主流优化插件

① MemOS(推荐 ⭐⭐⭐⭐⭐)

https://blog.csdn.net/qq_38604364/article/details/158893890

  • 底层用 Neo4j 图数据库记录实体关系
  • Qdrant 向量搜索记语义相似内容
  • 实测 Token 消耗下降 72%,支持多 Agent 共享记忆池

② PowerMem 插件

https://www.cnblogs.com/OBCE666/p/19770738

  • 会话前按需检索相关记忆注入上下文
  • 会话后智能抽取关键事实落库
  • 实测同等任务 Token 消耗降至默认方案的 18%

③ 知识图谱上下文引擎

https://so.html5.qq.com/page/real/search_news?docid=70000021_58069bafede28652

  • 从对话中提取结构化三元组(实体-关系-实体)构建知识图谱
  • 上下文压缩率高达 75%(174条消息从 9.5 万 token 压缩至 2.4 万)
  • 支持跨会话记忆重用

四、自定义记忆逻辑(高级)

参考:https://www.cnblogs.com/hewei-blogs/articles/19730086

OpenClaw 允许开发者通过 Python 脚本完全接管记忆的写入、读取和遗忘逻辑:

python 复制代码
# skills/custom/custom_memory.py
class CustomMemoryHandler:
    def write(self, content):
        # 自定义写入逻辑
        pass

    def read(self, query):
        # 自定义检索逻辑
        pass

    def forget(self, criteria):
        # 自定义遗忘逻辑
        pass

总结

复制代码
OpenClaw 记忆系统
├── 文件层(Markdown)------ 持久化、可读、透明
├── 向量层(Chroma/Qdrant 等)------ 语义检索、按需加载
├── 图谱层(Neo4j,可选)------ 关系推理、跨会话关联
└── 插件层(MemOS/PowerMem)------ Token 优化、智能管理

OpenClaw 记忆系统的核心设计哲学是:记忆以落盘 Markdown 的形式存在,而非黑盒式的隐式记忆,实现了从 "prompt" 到 "workspace" 的范式转变。初始架构奠定了本地化、透明可编辑的基础,社区演化则在此之上持续突破 Token 瓶颈,走向更智能的分层检索体系。

相关推荐
chatexcel2 小时前
AI生成PPT工具哪个好?2026主流AIPPT工具实测对比
人工智能·powerpoint
AI服务老曹2 小时前
异构计算新范式:基于 X86/ARM 的 AI 视频管理平台架构深度解析
arm开发·人工智能·架构
~央千澈~2 小时前
《2026鸿蒙NEXT纯血开发与AI辅助》第二章:DevEco Studio 的基本使用以及arkui的详细介绍-卓伊凡
人工智能·harmony·harmony os
芯盾时代2 小时前
金融行业AI治理与安全解决方案
人工智能·安全·金融
落羽的落羽2 小时前
【Linux系统】入门线程:线程介绍与线程控制
linux·服务器·c++·人工智能·stm32·单片机·机器学习
u86882 小时前
Maixin AICC智能呼叫中心:以AI语音助力新能源车企优质客服
人工智能·大模型电话对接·ai语音智能体
CS创新实验室2 小时前
AI时代社会与职业变迁系统综述
人工智能·百度
翼龙云_cloud2 小时前
阿里云代理商:OpenClaw 技能安全部署指南与高口碑扩展精选
人工智能·安全·云计算·openclaw
我材不敲代码2 小时前
OpenCV 实现人脸识别全流程:从人脸检测到 LBPH/Eigen/Fisher 三种算法实战
人工智能·opencv·计算机视觉