OpenClaw Memory 记忆系统深度解析与实践:打造永不遗忘的 AI 助理
引言
在AI Agent的世界里,记忆是区分”一次性问答机器人”和”真正的个人助理”的最终分水岭。一个没有记忆的Agent,每次醒来都是白纸一张,需要你反复交代相同的背景和偏好。而有了持久化记忆——它记得你是谁、你的项目进度、你的偏好习惯——这才是真正意义上的”私人助理”。
OpenClaw作为新一代AI Agent网关平台,内置了一套精巧的记忆系统。本文将从架构设计、文件结构、实战技巧三个维度,带你彻底掌握它,让你的Agent真正”记住你”。
一、OpenClaw 记忆系统的三层架构
OpenClaw的记忆并非简单的”存到一个文件里”,而是一套分层设计,灵感来自人脑的记忆模型:
记忆层次
├── 瞬时记忆 → Prompt上下文(当前会话内)
├── 短期记忆 → memory/YYYY-MM-DD.md(每日原始日志)
└── 长期记忆 → MEMORY.md(提炼后的精华)
1.1 瞬时记忆:Prompt上下文
每次会话启动时,OpenClaw会将SOUL.md、USER.md、MEMORY.md以及近几天的daily notes注入到Prompt中。这是Agent”醒来”时的初始认知状态。这种设计确保了Agent在每个新会话开始时都能快速获取最关键的信息。
1.2 短期记忆:每日日志
文件位置:memory/YYYY-MM-DD.md
这是原始的记忆材料——每天发生了什么、做了什么决定、遇到了什么问题。Agent在每个会话中应该将重要事件记录到这里,就像人类写日记一样。
# 2026-10-19
## 完成的任务
- 修复了blog部署脚本的权限问题(chmod +x deploy.sh)
- 发布了第6篇OpenClaw系列文章
## 遇到的坑
- WordPress API在非www域名下返回301,需要配置nginx重定向
## 待跟进
- 用户提到想尝试OpenClaw + RSS阅读器集成
1.3 长期记忆:MEMORY.md
文件位置:MEMORY.md
这是提炼后的精华。Agent应该在heartbeat期间,定期回顾近期的daily notes,把值得长期保留的信息提取到MEMORY.md中。过期或不再相关的信息应当删除——就像人脑不会记住所有细节一样。
# MEMORY.md - 长期记忆
## tmser 的关键偏好
- 博客写作风格:技术深度 + 可落地 + 代码示例
- 发布节奏:每周一篇文章
- 回复风格:简洁直接,不要废话
## 活跃项目
- OpenClaw Blog Series:6篇文章已发布,Memory系统文章即将发布
- 网站运维:监控nginx和WordPress健康状态
二、核心配置文件详解
2.1 SOUL.md — 人格定义
这是Agent的”灵魂”。定义它的核心行为准则、价值观和处理边界。
# SOUL.md 关键配置
- Core Truths:真诚帮助、有观点、先试后问
- Boundaries:隐私不外泄、外部操作需谨慎
- Vibe:简洁、有个性、不谄媚
实践建议:随着你和Agent的互动深入,持续调整SOUL.md。如果Agent的回复风格让你不满意,直接告诉它并更新SOUL.md。
2.2 USER.md — 用户档案
Agent对”你”的认知。包含时区、偏好、项目背景等。
# USER.md 关键字段
- name / pronouns:你的称呼
- timezone:时区(影响定时任务和昼夜判断)
- notes:任何Agent需要了解的个人背景
实践建议:时区设置直接影响Agent的”情商”——它不会在凌晨3点给你发消息,除非情况紧急。
2.3 AGENTS.md — 行为规则
这是Agent的”操作手册”。定义了:
- 启动流程:每次会话先读SOUL.md → USER.md → 近期daily notes
- 记忆维护:heartbeat期间定期更新MEMORY.md
- 社交规则:群聊中何时发言、何时沉默
- 安全策略:trash > rm,外发操作先确认
三、记忆生命周期管理
3.1 写入时机
| 场景 | 写入目标 | 示例 |
|---|---|---|
| 日常任务完成 | memory/YYYY-MM-DD.md | “今天帮tmser部署了新的WordPress插件” |
| 重要决策 | memory/YYYY-MM-DD.md → 后续提炼到MEMORY.md | “决定将博客发布从cron迁移到WordPress计划任务” |
| 用户偏好变更 | MEMORY.md(立即) | “tmser改为每周二发布” |
| 项目里程碑 | memory/YYYY-MM-DD.md + MEMORY.md | “OpenClaw系列第10篇文章发布,累计阅读量破万” |
3.2 清理机制
记忆不是越多越好。OpenClaw建议Agent在heartbeat期间执行记忆维护:
维护流程(每次heartbeat选择性执行)
1. 阅读最近的 memory/YYYY-MM-DD.md 文件
2. 提炼重要信息到 MEMORY.md
3. 删除 MEMORY.md 中已过时的内容
4. 可选:归档30天前的daily notes到 archive/ 目录
3.3 跨会话连续性
OpenClaw的Prompt注入机制保证了每次新会话启动时,Agent都能获得最新的记忆上下文:
会话启动 → 注入 SOUL.md + USER.md + MEMORY.md + 近2天daily notes
→ Agent获得"我是谁、你是谁、我们之前做了什么"的完整认知
这就是为什么你可以在新会话中说”继续上次没做完的事”,Agent就能接上——因为上次做了什么已经被记录在daily notes和MEMORY.md中了。
四、实战:构建记忆密集型工作流
4.1 场景:内容创作Agent
假设你有一个专门负责博客创作的Agent,它需要记忆:
- 已发布的文章列表(避免重复主题)
- 你的写作风格偏好
- SEO最佳实践
- 网站的健康状态历史
实现方案:
workspace/
├── SOUL.md # Agent人格:专业、严谨、注重原创性
├── USER.md # 用户偏好:技术深度+代码示例+可落地
├── MEMORY.md # 长期:已覆盖主题列表、写作风格指南
├── memory/
│ ├── 2026-10-19.md # 今日:完成了Memory系统文章
│ └── 2026-10-12.md # 上周:定时任务文章发布成功
└── memory/
└── published-blog-posts.json # 结构化数据:发布记录索引
关键技巧:对于结构化数据(如发布记录),使用JSON文件而非Markdown。这让Agent可以通过编程方式读取和更新,避免解析Markdown的不确定性。
4.2 防重复机制设计
在定时任务中构建防重复是一个经典场景。以下是一个实际可用的模式:
// published-blog-posts.json
{
"covered_topics": [
"OpenClaw + Spring Boot 自动化实战",
"Java 并发原理与性能优化",
"..."
],
"posts": [
{
"date": "2026-10-12",
"title": "OpenClaw 定时任务高级编排",
"topic": "OpenClaw 定时任务高级编排",
"status": "success"
}
]
}
Agent在每次执行定时任务时:
- 先读取此JSON文件
- 对比备选主题与
covered_topics - 只选择未覆盖的主题
- 发布成功后追加记录并更新
covered_topics
五、记忆系统的安全考量
5.1 隐私边界
OpenClaw的设计考虑到了Agent可能需要在不同场景中运行:
- 主会话(私聊):Agent加载MEMORY.md——包含完整的个人背景
- 群聊/公开频道:Agent 不加载 MEMORY.md——防止隐私泄露
这是通过AGENTS.md中的规则实现的:
🧠 MEMORY.md - 长期记忆
- ONLY load in main session(仅私聊中加载)
- DO NOT load in shared contexts(不在群聊中加载)
5.2 敏感信息处理
API密钥、密码等敏感信息不应该存储在记忆文件中。OpenClaw提供了专门的 Secrets管理工具:
- 通过
secrets工具安全存储和获取凭证 - 记忆文件中只记录”如何获取凭证”,不记录凭证本身
- 定期审查MEMORY.md,确保没有敏感信息残留
六、最佳实践总结
✅ DO
- 每天结束时让Agent更新daily notes
- 利用heartbeat机制定期提炼长期记忆
- 结构化数据用JSON,叙事型记忆用Markdown
- 为Agent配置清晰的记忆维护触发条件
- 主会话和群聊使用不同的记忆加载策略
❌ DON”T
- 不要在记忆文件中存储API密钥或密码
- 不要让每天的daily notes无限增长(超过30天应归档)
- 不要在群聊中加载MEMORY.md
- 不要依赖Agent的”瞬时记忆”来跨会话保持状态
七、展望:记忆系统的演进方向
当前的OpenClaw记忆系统以文件为基础,简单但有效。未来可能的发展方向包括:
- 向量化记忆检索:将记忆嵌入向量数据库,支持语义搜索
- 自动摘要与遗忘曲线:模仿人脑的艾宾浩斯遗忘曲线,自动降级旧记忆的优先级
- 跨Agent记忆共享:多个Agent之间安全地共享部分记忆上下文
- 记忆版本控制:基于Git的记忆变更追踪与回滚
结语
记忆是AI Agent从”工具”走向”伙伴”的关键能力。OpenClaw的分层记忆架构——瞬时→短期→长期——提供了一个既简单又强大的框架。理解并善用这套系统,你的Agent将从”每次都是新朋友”变成”认识你很久的老伙计”。
下次你和Agent说”按上次那样做”时,它真的知道你在说什么——这就是记忆的力量。