大多数 AI 聊天工具每次对话都是「失忆」的——不记得你是谁、你的偏好、上次讨论什么。 OpenClaw 通过基于文件的记忆系统解决了这个问题,让 AI 助手真正拥有长期记忆。
核心原理:文件就是记忆
OpenClaw 的记忆机制很直接:AI 把需要记住的信息写入文件, 下次会话时读取这些文件恢复上下文。
AI 对话
↓ 学到新信息
写入文件(MEMORY.md / 日记文件)
↓ 下次会话开始
读取文件(恢复上下文)
↓
对话时「记得」之前的一切
这个设计的优点是:
- 透明可查:记忆是普通文本文件,你随时可以查看和编辑
- 可移植:备份文件就备份了 AI 的所有记忆
- 可控:你可以删除不想让 AI 记住的内容
记忆文件的层级结构
~/.openclaw/workspace-content/
├── MEMORY.md # 长期核心记忆(精华)
├── SOUL.md # AI 的角色和行为定义
├── USER.md # 关于用户的基本信息
├── AGENTS.md # 操作规范和工作流程
└── memory/
├── 2026-03-16.md # 今日日记
├── 2026-03-15.md # 昨日日记
└── heartbeat-state.json # 心跳状态记录
MEMORY.md:长期核心记忆
MEMORY.md 是 AI 的「长期记忆库」,存放最重要、最需要持久保存的信息。
什么应该写进 MEMORY.md?
markdown
# MEMORY.md 示例内容
## 关于用户
- 叫张三,后端工程师,用 Python/Go
- 偏好简洁直接的回复,不喜欢废话
- 在北京,时区 UTC+8
- 有一只猫叫「豆腐」
## 项目上下文
- 主项目:电商平台后端(FastAPI + PostgreSQL)
- 当前迭代:支付模块重构,预计本周完成
- 技术栈:Python 3.12、FastAPI、SQLAlchemy 2.0、Redis
## 重要决策记录
- 2026-03-10:决定放弃 Celery,改用 ARQ(更轻量)
- 2026-03-05:数据库确认用 UUID 作为主键,不用自增 ID
## 用户偏好
- 代码示例语言优先 Python
- 喜欢用表格对比方案优劣
- 回复最好在 300 字以内AI 如何维护 MEMORY.md?
AI 会在合适时机自动更新 MEMORY.md:
markdown
# 在 AGENTS.md 中定义更新规则
## 记忆维护规则
- 用户提到重要偏好 → 写入 MEMORY.md 用户偏好区
- 做出重要技术决策 → 写入 MEMORY.md 决策记录区
- 项目状态变化 → 更新 MEMORY.md 项目上下文区
- 收到「记住」指令 → 立即写入对应位置每日日记文件
日记文件是原始的当日工作记录,AI 在每次会话中自动创建和追加:
memory/2026-03-17.md 示例:
# 2026-03-17 工作日志
## 10:23 对话
- 用户问了关于 FastAPI 依赖注入的问题
- 提供了 Depends() 的完整示例
- 用户反馈很有帮助
## 14:05 对话
- 帮助调试 SQLAlchemy async session 问题
- 根本原因:async_session_factory 未正确关闭
- 解决方案:使用 async with 上下文管理器
## 任务状态
- [x] 支付接口单元测试完成(14:30)
- [ ] 退款逻辑待实现
哪些内容写日记?
markdown
# AGENTS.md 中定义日记规则
## 日记记录规则
- 每次解决重要问题 → 记录问题 + 解决方案
- 用户完成任务 → 标记为完成,记录时间
- 遇到有趣的技术点 → 简要记录
- 用户明确说「记一下」→ 立刻写入当天日记HEARTBEAT 记忆同步
心跳任务中可以定期整理记忆,避免日记文件越堆越多:
markdown
# HEARTBEAT.md 中加入记忆维护任务
## 每周记忆整理(周五 22:00)
1. 读取本周所有日记文件(memory/2026-03-1*.md)
2. 提取值得长期保存的内容:
- 重要技术决策
- 解决的棘手问题
- 用户新的偏好
3. 将提炼的内容追加到 MEMORY.md 对应区域
4. 不需要长期保存的日记内容可以压缩(只保留摘要)跨会话上下文传递
OpenClaw 在每次会话开始时,自动读取关键记忆文件:
markdown
# AGENTS.md 中定义启动读取顺序
## 每次会话启动时,按顺序读取:
1. SOUL.md(角色定义)
2. USER.md(用户信息)
3. memory/今日.md + memory/昨日.md(近期上下文)
4. MEMORY.md(长期记忆,仅主会话读取)安全说明:MEMORY.md 只在与主用户的私聊中加载, 在 Discord 公开频道等场景不会加载,防止隐私泄露。
最佳实践建议
让 AI 主动整理记忆
你:把今天学到的技术要点都记到 MEMORY.md 里
AI:[读取今日日记,提炼要点,追加到 MEMORY.md]
已记录 3 个要点:
1. FastAPI 依赖注入的最佳实践
2. SQLAlchemy async session 使用规范
3. Redis 缓存 key 命名约定
定期清理过时记忆
你:MEMORY.md 里关于旧项目的内容已经过时了,帮我清理
AI:我来审查 MEMORY.md 中可能过时的内容...
建议删除:「项目 X」相关内容(3个月前的项目,已完成)
建议更新:技术栈中的 Python 版本(3.11 → 3.12)
确认删除/更新吗?
来源:OpenClaw 官方文档 - docs.openclaw.ai