当前位置: 首页 > news >正文

OpenClaw 记忆系统:MEMORY.md 使用指南

目录

    • 摘要
    • 1. 引言 - AI 的"健忘"问题
      • 1.1 为什么 AI 需要记忆?
      • 1.2 OpenClaw 记忆系统架构
      • 1.3 记忆类型对比
    • 2. MEMORY.md 长期记忆
      • 2.1 什么是 MEMORY.md?
      • 2.2 MEMORY.md 文件结构
      • 2.3 MEMORY.md 读写规则
        • 读取时机
        • 写入时机
      • 2.4 实战:MEMORY.md 使用示例
    • 3. memory/YYYY-MM-DD.md 每日日志
      • 3.1 什么是每日日志?
      • 3.2 每日日志文件结构
      • 3.3 日志写入时机
      • 3.4 日志维护策略
    • 4. memory_search 语义搜索
      • 4.1 什么是语义搜索?
      • 4.2 memory_search 工具详解
        • 工具签名
        • 返回格式
      • 4.3 使用场景
      • 4.4 实战:语义搜索示例
    • 5. 记忆维护最佳实践
      • 5.1 记忆写入原则
      • 5.2 记忆分类建议
      • 5.3 记忆清理策略
      • 5.4 安全注意事项
    • 6. 完整实战案例
      • 6.1 场景:构建个性化 AI 助手
      • 6.2 场景:多会话任务跟踪
    • 7. 记忆系统 API 参考
      • 7.1 memory_search
      • 7.2 memory_get
      • 7.3 自动记忆触发
    • 8. 常见问题与解决
      • Q1:记忆文件太大怎么办?
      • Q2:如何避免记忆冲突?
      • Q3:群聊中如何处理记忆?
      • Q4:记忆搜索不准确怎么办?
    • 9. 总结
      • 9.1 核心要点
      • 9.2 最佳实践清单
      • 9.3 下一步
    • 参考资料

热门文章推荐
OpenClaw 浏览器自动化实战
OpenClaw 多模型配置与切换详解

摘要

本文深入探讨 OpenClaw 框架中的记忆系统设计与应用。从 MEMORY.md 长期记忆机制、memory/YYYY-MM-DD.md 每日日志、memory_search 语义搜索到记忆维护策略,全面解析如何让 AI Agent 拥有持久化记忆能力。通过实际案例演示记忆的写入、检索、维护流程,帮助开发者构建具有上下文连续性的智能应用,解决 AI "健忘"问题,实现真正的个性化服务。🧠


1. 引言 - AI 的"健忘"问题

1.1 为什么 AI 需要记忆?

你是否遇到过这样的场景:

场景问题影响
多轮对话AI 忘记之前说过的话用户体验差
个性化服务AI 不记得用户偏好每次都要重新说明
长期任务AI 忘记任务进度无法持续跟进
知识积累AI 学到的知识无法保存重复学习成本高

传统 AI 系统的"健忘"问题,本质上是上下文窗口有限无持久化存储导致的。OpenClaw 通过记忆系统解决了这个问题。

1.2 OpenClaw 记忆系统架构

OpenClaw 提供了三层记忆架构:

🧠 OpenClaw 记忆系统

🔍 语义检索 (memory_search)

向量搜索

相关性排序

上下文召回

📝 短期记忆 (memory/YYYY-MM-DD.md)

每日工作日志

临时任务记录

会话摘要

📚 长期记忆 (MEMORY.md)

用户偏好

重要决策

关键知识

项目上下文

AI Agent

1.3 记忆类型对比

记忆类型文件用途生命周期
长期记忆MEMORY.md用户偏好、重要决策、关键知识永久
短期记忆memory/YYYY-MM-DD.md每日日志、临时记录定期归档
会话记忆系统管理当前对话上下文会话结束

2. MEMORY.md 长期记忆

2.1 什么是 MEMORY.md?

MEMORY.md 是 OpenClaw 的长期记忆存储,用于保存:

  • 用户个人信息和偏好
  • 重要决策和约定
  • 项目关键上下文
  • 需要跨会话记住的知识

2.2 MEMORY.md 文件结构

# MEMORY.md - 长期记忆 ## 用户信息 - 姓名:张三 - 昵称:老大 - 时区:Asia/Shanghai - 语言偏好:中文 ## 项目上下文 - 当前项目:OpenClaw 技术文章撰写 - 目标:完成100篇技术文章 - 进度:已完成40篇 ## 重要决策 - 2026-03-14:决定采用由浅入深的文章结构 - 2026-04-02:选择飞书作为主要沟通渠道 ## 待办事项 - [ ] 完成第41篇记忆系统文章 - [ ] 整理文章截图 ## 注意事项 - 用户喜欢简洁的表达风格 - 文章需要包含代码示例和图表

2.3 MEMORY.md 读写规则

读取时机

根据 AGENTS.md 的规定,MEMORY.md只在主会话(Main Session)中加载

### 🧠 MEMORY.md - Your Long-Term Memory - **ONLY load in main session** (direct chats with your human) - **DO NOT load in shared contexts** (Discord, group chats, sessions with other people) - This is for **security** — contains personal context that shouldn't leak to strangers
写入时机
  • 用户明确说"记住这个"
  • 做出重要决策时
  • 学习到需要长期保存的知识
  • 用户偏好发生变化时

2.4 实战:MEMORY.md 使用示例

场景:用户告诉 AI 自己的偏好

用户:我比较喜欢简洁的表达,不要太啰嗦 AI:好的,我会记住你的偏好。让我更新 MEMORY.md...

MEMORY.md 更新

## 用户偏好 - 表达风格:简洁,不喜欢啰嗦 - 沟通语言:中文

3. memory/YYYY-MM-DD.md 每日日志

3.1 什么是每日日志?

每日日志是 OpenClaw 的短期记忆存储,用于记录:

  • 当天完成的任务
  • 临时性的决定
  • 会话中的重要信息
  • 需要后续跟进的事项

3.2 每日日志文件结构

# 2026-04-13 工作记录 ## 完成的任务 ### 1. 撰写记忆系统文章 - 开始撰写第41篇文章 - 完成摘要和引言部分 ### 2. 用户反馈处理 - 用户要求调整文章结构 - 已按要求修改 ## 重要决策 - 决定将记忆系统作为独立章节 ## 待办事项 - [ ] 完成文章剩余部分 - [ ] 添加代码示例 ## 备注 - 用户今天心情不错

3.3 日志写入时机

时机内容
任务完成记录完成的内容和结果
重要对话记录用户的关键需求
问题遇到记录问题和解决方案
决策做出记录决策原因和结果

3.4 日志维护策略

每日日志

超过7天?

保留

有重要内容?

提取到MEMORY.md

归档/删除


4. memory_search 语义搜索

4.1 什么是语义搜索?

memory_search 是 OpenClaw 提供的语义检索工具,可以:

  • 在 MEMORY.md 和每日日志中搜索相关内容
  • 基于语义相似度排序
  • 返回最相关的记忆片段

4.2 memory_search 工具详解

工具签名
memory_search(query:str,# 搜索查询maxResults:int=5,# 最大返回结果数minScore:float=0.5# 最小相关性分数)
返回格式
{"results":[{"path":"MEMORY.md","lines":"10-15","content":"用户偏好:简洁表达风格","score":0.95},{"path":"memory/2026-04-10.md","lines":"20-25","content":"用户要求文章不要太长","score":0.82}]}

4.3 使用场景

场景查询示例
回忆用户偏好“用户的表达风格偏好”
查找历史决策“关于文章结构的决定”
定位任务进度“当前项目进度”
检索知识点“OpenClaw 配置相关”

4.4 实战:语义搜索示例

场景:用户问"我们之前讨论的文章结构是什么样的?"

# AI 内部调用memory_search(query="文章结构 讨论",maxResults=3)

返回结果

{"results":[{"path":"MEMORY.md","content":"文章结构:由浅入深,从入门到精通","score":0.91},{"path":"memory/2026-03-14.md","content":"决定采用5阶段100篇文章的规划","score":0.85}]}

AI 回复

根据之前的讨论,我们决定采用由浅入深的文章结构,分为5个阶段共100篇文章。


5. 记忆维护最佳实践

5.1 记忆写入原则

原则说明示例
重要性只记录真正重要的内容✅ 用户偏好 ❌ 随口闲聊
准确性确保信息准确无误核实后再写入
时效性及时更新过时信息偏好变化时更新
简洁性避免冗余信息提取关键点

5.2 记忆分类建议

# MEMORY.md 推荐结构 ## 👤 用户信息 - 基本信息 - 沟通偏好 - 时区/语言 ## 📋 项目上下文 - 当前项目 - 目标和进度 - 关键里程碑 ## 🎯 重要决策 - 决策内容 - 决策原因 - 决策时间 ## ⚠️ 注意事项 - 用户不喜欢的事情 - 需要避免的行为 - 特殊要求 ## 📝 待办事项 - 长期待办 - 需要跟进的事项

5.3 记忆清理策略

定期检查记忆

信息是否过时?

删除或更新

是否重要?

保留在MEMORY.md

归档到日志

记录变更原因

5.4 安全注意事项

安全要求说明
隐私保护不要记录敏感个人信息
权限隔离MEMORY.md 不在群聊中加载
数据加密敏感内容考虑加密存储
访问控制限制记忆文件的访问权限

6. 完整实战案例

6.1 场景:构建个性化 AI 助手

目标:让 AI 记住用户偏好,提供个性化服务

步骤1:初始化 MEMORY.md

# MEMORY.md ## 用户信息 - 姓名:张龙生 - 昵称:老大 - 时区:Asia/Shanghai (GMT+8) - 飞书用户 ## 沟通偏好 - 表达风格:简洁直接,不喜欢啰嗦 - 语言:中文 - 回复格式:表格 + 代码块 ## 项目上下文 - 当前项目:OpenClaw 技术文章撰写 - 目标:完成100篇技术文章 - 已完成:40篇 ## 注意事项 - 文章需要包含 Mermaid 图表 - 代码示例要完整可运行 - 不要在群聊中透露个人信息

步骤2:日常使用中更新记忆

用户:我最近在研究飞书多维表格,帮我记住 AI:好的,让我更新记忆... # 更新 MEMORY.md ## 当前关注 - 飞书多维表格(Bitable)开发

步骤3:使用语义搜索回忆

用户:我之前说的文章进度是多少来着? AI:(内部调用 memory_search) 根据记忆,你已完成40篇文章,目标是100篇。

6.2 场景:多会话任务跟踪

场景:用户在多个会话中推进一个长期任务

每日日志记录

# 2026-04-13 工作记录 ## 任务进度 - 第41篇文章:记忆系统 - ✅ 完成摘要和引言 - ✅ 完成 MEMORY.md 章节 - 🔄 进行中:语义搜索章节 - ⏳ 待完成:实战案例 ## 明日计划 - 完成第41篇文章 - 开始第42篇文章

跨会话恢复

用户:昨天写到哪了? AI:(搜索 memory/2026-04-12.md) 昨天你完成了第40篇文章(多智能体协作进阶), 今天应该继续写第41篇:记忆系统。

7. 记忆系统 API 参考

7.1 memory_search

# 语义搜索记忆memory_search(query="用户的偏好",# 搜索查询maxResults=5,# 返回结果数minScore=0.5# 最小相关性分数)

7.2 memory_get

# 安全读取记忆片段memory_get(path="MEMORY.md",# 文件路径from=10,# 起始行lines=20# 读取行数)

7.3 自动记忆触发

OpenClaw 会在以下情况自动触发记忆操作:

触发条件操作
会话开始读取 MEMORY.md
会话结束写入每日日志
用户说"记住"更新 MEMORY.md
定时任务记忆归档整理

8. 常见问题与解决

Q1:记忆文件太大怎么办?

解决方案

  1. 定期清理过时信息
  2. 将详细日志归档
  3. 只保留关键信息在 MEMORY.md

Q2:如何避免记忆冲突?

解决方案

  1. 使用时间戳标记信息
  2. 新信息覆盖旧信息时记录原因
  3. 定期审查和合并重复信息

Q3:群聊中如何处理记忆?

解决方案

  1. MEMORY.md 不在群聊中加载
  2. 群聊信息写入单独的日志
  3. 敏感信息不记录到记忆

Q4:记忆搜索不准确怎么办?

解决方案

  1. 优化查询关键词
  2. 调整 minScore 阈值
  3. 使用更具体的查询语句

9. 总结

9.1 核心要点

要点说明
三层架构长期记忆 + 短期记忆 + 语义检索
安全隔离MEMORY.md 只在主会话加载
语义搜索基于向量相似度的智能检索
定期维护清理过时信息,归档历史日志

9.2 最佳实践清单

  • 为每个用户创建 MEMORY.md
  • 每日记录工作日志
  • 定期清理和归档记忆
  • 使用语义搜索快速定位信息
  • 注意隐私和安全保护

9.3 下一步

  • 第42篇:OpenClaw 日志记忆:memory/YYYY-MM-DD.md
  • 第43篇:OpenClaw memory_search:语义搜索实战
  • 第44篇:OpenClaw 记忆维护:自动整理与归档

参考资料

  • OpenClaw 官方文档
  • OpenClaw GitHub
  • AGENTS.md 记忆系统说明
http://www.jsqmd.com/news/760584/

相关文章:

  • WarcraftHelper终极指南:解决魔兽争霸3现代兼容性问题的完整教程
  • 【光学】基于matlab菲涅尔光谱和角光谱ASPSAP模拟聚焦高斯光束传播【含Matlab源码 15406期】
  • AI助手角色稳定性控制:三维坐标系与算法实现
  • 2026PLM怎么选:PLM、SolidWorks、电磁仿真软件选择指南 - 优质品牌商家
  • 如何永久免费激活Windows和Office:智能KMS激活脚本终极指南
  • AI思维伙伴:心智模型与结构化流程如何提升决策质量
  • 新手也能懂:用Python脚本模拟UDS服务端,带你玩转NRC响应逻辑
  • 别再死记硬背公式了!用Python从零实现粒子群算法(PSO),5分钟搞定函数优化
  • PHP支付接口国密改造最后窗口期!2024年12月31日前未通过CFCA国密算法一致性检测的系统将终止金融交易权限
  • 南京别墅防水服务商排行:5家本地靠谱机构盘点 - 奔跑123
  • 面试官最爱问的‘时间复杂度’分析:从这3道经典循环题开始,告别O(n²)恐惧
  • 告别双线性插值!在YOLOv9中集成CARAFE上采样,实测小目标检测涨点明显
  • 智能体化安全运营平台:基于LLM的SOC自动化架构与实战
  • 2026年Q2胶合板卡板怎么选:卡板厂家、木托盘、木箱厂家、胶合板卡板、胶合板木箱、免熏蒸卡板、免熏蒸木箱、出口卡板选择指南 - 优质品牌商家
  • 深入紫光同创FPGA的HSST模块:除了光纤通信,它还能玩转PCIe和万兆以太网吗?
  • MTKClient终极实战指南:解锁联发科设备的完整逆向工程与刷机方案
  • G-Helper开源工具一键修复华硕ROG游戏本色彩配置文件丢失问题
  • 别再让Tomcat报‘Invalid character in method name‘了!手把手教你排查HTTPS/HTTP混用、证书和缓冲区问题
  • 量子计算在数据库查询优化中的应用与突破
  • 从‘ModuleNotFoundError: packaging’出发,手把手教你用pipenv搞定Python虚拟环境和依赖锁定
  • SeaCache:基于频谱分析的扩散模型缓存加速技术
  • 从.item()到.squeeze():一文搞懂PyTorch中处理单个值张量的5种正确姿势
  • M4Markets:风险防控体系的全方位构建
  • 用光敏三极管和LM358做个智能小夜灯:从仿真到实物的完整避坑记录
  • 3个月小白逆袭AI大神!程序员转行大模型超全学习路线图曝光!
  • Diablo Edit2:暗黑破坏神2角色编辑器的终极使用指南
  • 轻量级私有Docker镜像仓库Mirror-Palace部署与运维指南
  • QT5.9+在Linuxfb下为何‘偷用’了EGLFS的配置?一次关于DRM与显示格式的深度探讨
  • R 4.5机器学习模型边缘部署:从12.8GB到196KB——4步量化剪枝+ONNX Runtime Tiny定制全流程
  • Arm Cortex-A710 PMU事件计数异常分析与解决方案