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

目录

    • 摘要
    • [1. 引言 - AI 的"健忘"问题](#1. 引言 - AI 的"健忘"问题)
      • [1.1 为什么 AI 需要记忆?](#1.1 为什么 AI 需要记忆?)
      • [1.2 OpenClaw 记忆系统架构](#1.2 OpenClaw 记忆系统架构)
      • [1.3 记忆类型对比](#1.3 记忆类型对比)
    • [2. MEMORY.md 长期记忆](#2. MEMORY.md 长期记忆)
    • [3. memory/YYYY-MM-DD.md 每日日志](#3. memory/YYYY-MM-DD.md 每日日志)
      • [3.1 什么是每日日志?](#3.1 什么是每日日志?)
      • [3.2 每日日志文件结构](#3.2 每日日志文件结构)
      • [3.3 日志写入时机](#3.3 日志写入时机)
      • [3.4 日志维护策略](#3.4 日志维护策略)
    • [4. memory_search 语义搜索](#4. memory_search 语义搜索)
      • [4.1 什么是语义搜索?](#4.1 什么是语义搜索?)
      • [4.2 memory_search 工具详解](#4.2 memory_search 工具详解)
      • [4.3 使用场景](#4.3 使用场景)
      • [4.4 实战:语义搜索示例](#4.4 实战:语义搜索示例)
    • [5. 记忆维护最佳实践](#5. 记忆维护最佳实践)
      • [5.1 记忆写入原则](#5.1 记忆写入原则)
      • [5.2 记忆分类建议](#5.2 记忆分类建议)
      • [5.3 记忆清理策略](#5.3 记忆清理策略)
      • [5.4 安全注意事项](#5.4 安全注意事项)
    • [6. 完整实战案例](#6. 完整实战案例)
      • [6.1 场景:构建个性化 AI 助手](#6.1 场景:构建个性化 AI 助手)
      • [6.2 场景:多会话任务跟踪](#6.2 场景:多会话任务跟踪)
    • [7. 记忆系统 API 参考](#7. 记忆系统 API 参考)
      • [7.1 memory_search](#7.1 memory_search)
      • [7.2 memory_get](#7.2 memory_get)
      • [7.3 自动记忆触发](#7.3 自动记忆触发)
    • [8. 常见问题与解决](#8. 常见问题与解决)
    • [9. 总结](#9. 总结)
      • [9.1 核心要点](#9.1 核心要点)
      • [9.2 最佳实践清单](#9.2 最佳实践清单)
      • [9.3 下一步](#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 文件结构

markdown 复制代码
# 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 更新

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

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

3.1 什么是每日日志?

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

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

3.2 每日日志文件结构

markdown 复制代码
# 2026-04-13 工作记录

## 完成的任务

### 1. 撰写记忆系统文章
- 开始撰写第41篇文章
- 完成摘要和引言部分

### 2. 用户反馈处理
- 用户要求调整文章结构
- 已按要求修改

## 重要决策
- 决定将记忆系统作为独立章节

## 待办事项
- [ ] 完成文章剩余部分
- [ ] 添加代码示例

## 备注
- 用户今天心情不错

3.3 日志写入时机

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

3.4 日志维护策略





每日日志
超过7天?
保留
有重要内容?
提取到MEMORY.md
归档/删除


4.1 什么是语义搜索?

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

  • MEMORY.md 和每日日志中搜索相关内容
  • 基于语义相似度排序
  • 返回最相关的记忆片段
工具签名
python 复制代码
memory_search(
    query: str,           # 搜索查询
    maxResults: int = 5,  # 最大返回结果数
    minScore: float = 0.5 # 最小相关性分数
)
返回格式
json 复制代码
{
  "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 实战:语义搜索示例

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

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

返回结果

json 复制代码
{
  "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 记忆分类建议

markdown 复制代码
# MEMORY.md 推荐结构

## 👤 用户信息
- 基本信息
- 沟通偏好
- 时区/语言

## 📋 项目上下文
- 当前项目
- 目标和进度
- 关键里程碑

## 🎯 重要决策
- 决策内容
- 决策原因
- 决策时间

## ⚠️ 注意事项
- 用户不喜欢的事情
- 需要避免的行为
- 特殊要求

## 📝 待办事项
- 长期待办
- 需要跟进的事项

5.3 记忆清理策略





定期检查记忆
信息是否过时?
删除或更新
是否重要?
保留在MEMORY.md
归档到日志
记录变更原因

5.4 安全注意事项

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

6. 完整实战案例

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

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

步骤1:初始化 MEMORY.md

markdown 复制代码
# MEMORY.md

## 用户信息
- 姓名:张龙生
- 昵称:老大
- 时区:Asia/Shanghai (GMT+8)
- 飞书用户

## 沟通偏好
- 表达风格:简洁直接,不喜欢啰嗦
- 语言:中文
- 回复格式:表格 + 代码块

## 项目上下文
- 当前项目:OpenClaw 技术文章撰写
- 目标:完成100篇技术文章
- 已完成:40篇

## 注意事项
- 文章需要包含 Mermaid 图表
- 代码示例要完整可运行
- 不要在群聊中透露个人信息

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

复制代码
用户:我最近在研究飞书多维表格,帮我记住

AI:好的,让我更新记忆...

# 更新 MEMORY.md
## 当前关注
- 飞书多维表格(Bitable)开发

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

复制代码
用户:我之前说的文章进度是多少来着?

AI:(内部调用 memory_search)
根据记忆,你已完成40篇文章,目标是100篇。

6.2 场景:多会话任务跟踪

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

每日日志记录

markdown 复制代码
# 2026-04-13 工作记录

## 任务进度
- 第41篇文章:记忆系统
  - ✅ 完成摘要和引言
  - ✅ 完成 MEMORY.md 章节
  - 🔄 进行中:语义搜索章节
  - ⏳ 待完成:实战案例

## 明日计划
- 完成第41篇文章
- 开始第42篇文章

跨会话恢复

复制代码
用户:昨天写到哪了?

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

7. 记忆系统 API 参考

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

7.2 memory_get

python 复制代码
# 安全读取记忆片段
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 记忆维护:自动整理与归档

参考资料

相关推荐
深海鱼在掘金2 小时前
深入浅出 LangChain —— 第十一章:实战一 智能客服系统
人工智能·langchain·agent
深海鱼在掘金2 小时前
深入浅出 LangChain —— 第十章:上下文工程与安全护栏
人工智能·langchain·agent
qcx232 小时前
【AI Agent通识九课】 04 · AI 的双车道 — 安全怎么保
人工智能·安全·agent·ai agent·warp
alwaysrun3 小时前
Agentic AI与思维链和自我反思简介
人工智能·agent·思维链·思维树·自我反思
冬奇Lab3 小时前
一天一个开源项目(第93篇):Symphony - OpenAI 官方定义的 AI 代理编排规范
人工智能·openai·agent
YJlio3 小时前
OpenClaw v2026.3.31 更新解析:QQ Bot、后台任务流、LINE 多媒体、Matrix 历史、Exec 安全与升级避坑
自动化运维·版本更新·ai agent·matrix·插件系统·openclaw·qq bot
运维开发王义杰3 小时前
微软Agent框架演进:从AutoGen到Agent Framework
agent
Chef_Chen12 小时前
论文解读:MemOS首次把记忆变成大模型的一等公民资源,Scaling Law迎来第三条曲线
人工智能·agent·memory
AC赳赳老秦12 小时前
知识产权辅助:用 OpenClaw 批量生成专利交底书 / 软著申请材料,自动校验格式与内容合规性
java·人工智能·python·算法·elasticsearch·deepseek·openclaw