记忆系统重构实践(符合 OpenClaw 官方规范)
本文档详细记录了 OpenClaw 记忆系统的重构实践,包括问题诊断、方案设计、实施过程和成果评估。 审阅批准后,将发布到博客。
本文档详细记录了 OpenClaw 记忆系统的重构实践,包括问题诊断、方案设计、实施过程和成果评估。
背景与问题
现状分析
问题现象: - MEMORY.md 文件过大(2043行) - 包含大量历史记录详情 - 影响加载速度和可读性 - 检索效率低
影响范围: - Every Session 流程:每次启动需要加载完整文件 - AI对话响应:记忆检索延迟 - 人工查阅:难以快速定位信息
根本原因(5WHY法)
Why 1: 为什么 MEMORY.md 过大? - 答:混合了索引和详情,历史记录不断累积
Why 2: 为什么历史记录没有管理? - 答:没有明确的归档策略
Why 3: 为什么没有归档策略? - 答:缺乏长期规划,只关注短期需求
Why 4: 为什么缺乏长期规划? - 答:没有建立清晰的记忆系统架构
Why 5: 根本原因是什么? - 答:记忆管理缺乏系统性设计,缺少"索引与详情分离"原则
技术方案(符合 OpenClaw 官方规范)
目录结构
workspace-main/
├── MEMORY.md # 长期记忆索引(工作区根目录,符合官方规范)
├── memory/ # 记忆目录
│ ├── YYYY-MM-DD.md # 工作日志(流水账)
│ ├── tasks/ # 任务记录详情
│ │ └── YYYY-MM-DD-Task-TaskName.md
│ ├── knowledge/ # 知识记录详情
│ │ └── YYYY-MM-DD-Knowledge-KnowledgeName.md
│ ├── rules/ # 规则记录详情(空目录)
│ ├── procedure/ # 工作流程详情(空目录)
│ ├── standards/ # 工作标准详情(空目录)
│ ├── quant-trading/ # 量化交易专题(额外目录)
│ └── archive/ # 历史归档
│ ├── 成长里程碑-2026-02至03.md
│ └── heartbeat-checks-2026-02至03.md
└── AGENTS.md # 工作规范
文件规范
MEMORY.md - 长期记忆索引
内容结构: 1. 近10天工作热点(时间+任务名称+状态+链接) 2. 关键知识索引(分类+知识名称+链接) 3. 现行核心规则(分类+规则名称+链接) 4. 按分类索引详情(tasks、knowledge、rules等) 5. 历史归档
链接格式:
[显示文本](memory/tasks/2026-03-07-Task-记忆系统重构试验.md)
工作日志 - memory/YYYY-MM-DD.md
内容结构: 1. 日期、检查人、任务 2. 任务追踪(时间+任务名称+状态,流水账) 3. 关键产出与决策 4. 备注
特点: - 按时间顺序记录任务开始、结束和状态变更 - 作为索引,不记录详细信息
详情文件 - tasks、knowledge等
Frontmatter 标准:
正文结构: 1. 背景 2. 目标 3. 执行计划(任务类型) 4. 详细进展 5. 经验教训 6. 最终方案(任务类型) 7. 相关文件
命名规范
- 工作日志:
YYYY-MM-DD.md - 任务详情:
YYYY-MM-DD-Task-TaskName.md - 知识记录:
YYYY-MM-DD-Knowledge-KnowledgeName.md - 规则记录:
YYYY-MM-DD-Rule-RuleName.md - 工作流程:
YYYY-MM-DD-SOP-SOPName.md - 工作标准:
YYYY-MM-DD-STD-STDName.md
技术细节
1. 索引化技术
Markdown 链接:
[显示文本](memory/tasks/2026-03-07-Task-记忆系统重构试验.md)
优点: - 标准格式,编辑器通用 - 点击跳转,检索方便 - 相对路径,便于维护
2. Frontmatter 解析
YAML 格式:
字段说明:
- id:唯一标识符(类型+日期+序号)
- type:类型(task/knowledge/rule/procedure/standard)
- title:标题
- status:状态(进行中/已完成/已取消)
- priority:优先级(high/medium/low)
- created:创建时间
- tags:标签数组
优点: - 结构化元数据 - 便于自动化解析 - 支持高级检索
3. 记忆使用规范集成
MEMORY.md 头部结构: ```markdown
MEMORY.md - 长期记忆索引
本文档为索引,不记录详情。详情见
memory/下各分类目录。
成果对比
文件大小对比
| 项目 | 旧方式 | 新方式 | 改善 |
|---|---|---|---|
| MEMORY.md | 2043行 | 86行 | -96% |
| 平均文件大小 | - | 2-3KB | 适中 |
| 检索方式 | 全文搜索 | 索引+链接 | 快速 |
检索效率对比
| 项目 | 旧方式 | 新方式 |
|---|---|---|
| 定位信息 | 全文搜索 | 点击索引链接 |
| 查找详情 | 在大文件中翻页 | 打开独立文件 |
| 相关信息 | 需要手动关联 | 通过 Frontmatter tags |
维护成本对比
| 项目 | 旧方式 | 新方式 |
|---|---|---|
| 记录新信息 | 编辑 MEMORY.md | 选择目录+创建文件 |
| 归档历史 | 手动移动 | 自动分类 |
| 维护复杂度 | 低(单文件) | 中(多目录) |
后续优化
短期(1-2周)
- 验证新规范:
- 按照新规范记录信息
- 检查检索便利性
-
评估维护成本
-
优化检索:
- 配置 memorysearch 混合搜索
- 支持 Frontmatter 解析
- 实现标签检索
中期(1-2月)
- 建立归档机制:
- 按年移动旧文件到 archive/
- 建立归档索引
-
定期清理过期文件
-
知识图谱:
- 关联任务、知识、规则
- 实现语义检索
- 可视化知识网络
长期(3-6月)
- 自动化工具:
- 自动创建工作日志脚本
- 自动生成索引脚本
-
自动归档工具
-
智能检索:
- 基于向量检索
- 支持自然语言查询
- 智能推荐相关内容
附录
A. 文件清单
| 文件 | 大小 | 说明 |
|---|---|---|
| MEMORY.md | 86行 | 长期记忆索引 |
| memory/2026-03-07.md | 66行 | 工作日志 |
| memory/tasks/2026-03-07-Task-记忆系统重构试验.md | 2596字节 | 任务详情 |
| memory/knowledge/2026-03-07-Knowledge-记忆系统设计.md | 3326字节 | 知识记录 |