【MiniClaw 深度解析】第六章:记忆系统

*本文档是《MiniClaw 深度解析》系列的第六章,下一章将详细介绍技能系统。*

目录
  1. 第六章:记忆系统
  2. 6.1 记忆系统概述
  3. 6.1.1 什么是双层记忆系统?
  4. 6.1.2 记忆系统架构
  5. 6.2 短期记忆(每日日志)
  6. 6.2.1 日志文件结构
  7. 6.2.2 日志写入机制
  8. 6.3 长期记忆(MEMORY.md)
  9. 6.3.1 记忆结构
  10. 6.4 记忆蒸馏机制
  11. 6.4.1 蒸馏触发条件
  12. 6.4.2 蒸馏流程
  13. 本章小结

第六章:记忆系统

💾 本章详细介绍 MiniClaw 的双层记忆系统和记忆蒸馏机制。

6.1 记忆系统概述

6.1.1 什么是双层记忆系统?

MiniClaw 采用 双层记忆系统,模仿人类的短期记忆和长期记忆机制。

┌─────────────────────────────────────────────────────────────────────┐
│                    双层记忆系统设计                                  │
├─────────────────────────────────────────────────────────────────────┤
│                                                                     │
│    人类记忆                          MiniClaw 记忆系统              │
│    ┌───────────────────┐             ┌───────────────────┐         │
│    │                   │             │                   │         │
│    │   短期记忆        │             │   每日日志         │         │
│    │   (工作记忆)      │             │   memory/YYYY-MM-  │         │
│    │   容量有限        │             │   DD.md            │         │
│    │   易遗忘          │             │   原始对话记录     │         │
│    │                   │             │                   │         │
│    ├───────────────────┤             ├───────────────────┤         │
│    │                   │             │                   │         │
│    │   长期记忆        │             │   MEMORY.md       │         │
│    │   (永久记忆)      │             │   蒸馏后的高价值   │         │
│    │   容量大          │             │   事实和决策       │         │
│    │   需要巩固        │             │   跨会话持久       │         │
│    │                   │             │                   │         │
│    └───────────────────┘             └───────────────────┘         │
│                                                                     │
│    🔄 记忆巩固过程 = 记忆蒸馏                                        │
│                                                                     │
└─────────────────────────────────────────────────────────────────────┘

6.1.2 记忆系统架构

┌─────────────────────────────────────────────────────────────────────┐
│                      记忆系统架构                                    │
├─────────────────────────────────────────────────────────────────────┤
│                                                                     │
│                         ┌─────────────┐                             │
│                         │   用户对话   │                             │
│                         └──────┬──────┘                             │
│                                │                                    │
│                                ▼                                    │
│    ┌────────────────────────────────────────────────────────────┐  │
│    │                    短期记忆层                                │  │
│    │                  memory/YYYY-MM-DD.md                       │  │
│    │                                                            │  │
│    │  • 原始对话记录                                            │  │
│    │  • 临时信息                                                │  │
│    │  • 详细过程                                                │  │
│    │                                                            │  │
│    └────────────────────────────┬───────────────────────────────┘  │
│                                 │                                   │
│                                 │ 记忆蒸馏                          │
│                                 │ (miniclaw_growup)                 │
│                                 ▼                                   │
│    ┌────────────────────────────────────────────────────────────┐  │
│    │                    长期记忆层                                │  │
│    │                      MEMORY.md                              │  │
│    │                                                            │  │
│    │  • 高价值事实                                              │  │
│    │  • 重要决策                                                │  │
│    │  • 经验教训                                                │  │
│    │  • 用户偏好                                                │  │
│    │                                                            │  │
│    └────────────────────────────────────────────────────────────┘  │
│                                                                     │
└─────────────────────────────────────────────────────────────────────┘


6.2 短期记忆(每日日志)

6.2.1 日志文件结构

# 📅 2026-02-12 - Wednesday

## 🌅 Morning Session
**09:30** - 项目讨论
- 用户询问 MiniClaw 架构设计
- 讨论了 ACE 引擎的时间模式系统
- 用户偏好:喜欢简洁的回答

## 🌞 Afternoon Session
**14:00** - 代码审查
- 审查了 PR #42
- 发现性能问题:缓存未生效
- 建议:添加 TTL 检查

## 📊 Summary
- 工具调用:miniclaw_note (3), miniclaw_update (2)
- 关键实体:ACE引擎, 时间模式, MD5哈希

6.2.2 日志写入机制

┌─────────────────────────────────────────────────────────────────────┐
│                    日志写入机制                                      │
├─────────────────────────────────────────────────────────────────────┤
│                                                                     │
│  miniclaw_note 工具                                                 │
│                                                                     │
│  触发场景:                                                         │
│  • 用户说"记住这个"                                                │
│  • 重要事件发生                                                    │
│  • 用户明确要求记录                                                │
│                                                                     │
│  写入流程:                                                         │
│  1. 获取当前日期 → 2026-02-12                                      │
│  2. 构建文件路径 → ~/.miniclaw/memory/2026-02-12.md                │
│  3. 追加内容到文件                                                 │
│  4. 添加时间戳和分类标签                                           │
│                                                                     │
└─────────────────────────────────────────────────────────────────────┘


6.3 长期记忆(MEMORY.md)

6.3.1 记忆结构

# 💾 MEMORY

## 📝 The Vault

### 用户偏好
- 偏好简洁的回答
- 使用 pnpm 而非 npm
- 喜欢 TypeScript 严格模式

### 项目知识
- MiniClaw 使用 ACE 引擎管理上下文
- Token 预算默认 8000
- 技能缓存 TTL 为 5 秒

### 重要决策
- 2026-02-10: 决定采用微内核架构
- 2026-02-11: 选择 MD5 进行内容哈希

### 经验教训
- 并行 I/O 比顺序 I/O 快 60-80%
- 缓存能显著减少文件系统扫描


6.4 记忆蒸馏机制

6.4.1 蒸馏触发条件

┌─────────────────────────────────────────────────────────────────────┐
│                    蒸馏触发条件                                      │
├─────────────────────────────────────────────────────────────────────┤
│                                                                     │
│  自动触发条件(满足任一即触发):                                   │
│                                                                     │
│  1. 条目数量 > 20                                                   │
│     当日志条目超过 20 条时触发                                      │
│                                                                     │
│  2. 日志占用预算 > 40%                                              │
│     当日志内容占用超过 Token 预算的 40% 时触发                      │
│                                                                     │
│  3. 最旧条目 > 8 小时 且 条目 > 5                                   │
│     当最早记录的条目超过 8 小时且总条目超过 5 条时触发              │
│                                                                     │
│  4. 日志大小 > 8KB                                                  │
│     当日志文件大小超过 8KB 时触发                                   │
│                                                                     │
│  手动触发:                                                         │
│  • 使用 miniclaw_growup 工具                                        │
│  • 用户说"整理一下记忆"                                            │
│                                                                     │
└─────────────────────────────────────────────────────────────────────┘

6.4.2 蒸馏流程

┌─────────────────────────────────────────────────────────────────────┐
│                    记忆蒸馏流程                                      │
├─────────────────────────────────────────────────────────────────────┤
│                                                                     │
│  步骤 1: 读取日志文件                                               │
│     └─► 加载 memory/YYYY-MM-DD.md                                  │
│                                                                     │
│  步骤 2: 分析内容                                                   │
│     └─► 提取关键信息                                                │
│     └─► 识别用户偏好                                                │
│     └─► 总结重要决策                                                │
│                                                                     │
│  步骤 3: 更新 MEMORY.md                                             │
│     └─► 追加到长期记忆                                              │
│     └─► 去重合并                                                    │
│                                                                     │
│  步骤 4: 归档原始日志                                               │
│     └─► 移动到 archived/ 目录                                       │
│     └─► 可选压缩                                                    │
│                                                                     │
│  压缩比:约 10:1(原始日志 : 蒸馏后记忆)                           │
│                                                                     │
└─────────────────────────────────────────────────────────────────────┘


本章小结

┌─────────────────────────────────────────────────────────────────────┐
│                     第六章 核心要点                                  │
├─────────────────────────────────────────────────────────────────────┤
│                                                                     │
│  💾 双层记忆系统                                                    │
│     • 短期记忆:每日日志 (memory/YYYY-MM-DD.md)                     │
│     • 长期记忆:MEMORY.md                                           │
│                                                                     │
│  📝 日志结构                                                        │
│     • 按时间分段                                                    │
│     • 包含会话摘要                                                  │
│     • 记录工具调用                                                  │
│                                                                     │
│  🔄 记忆蒸馏                                                        │
│     • 自动触发条件(4种)                                           │
│     • 手动触发(miniclaw_growup)                                   │
│     • 压缩比约 10:1                                                 │
│                                                                     │
│  🎯 最佳实践                                                        │
│     • 定期整理记忆                                                  │
│     • 手动维护 MEMORY.md                                            │
│     • 删除过时信息                                                  │
│                                                                     │
└─────────────────────────────────────────────────────────────────────┘


*本文档是《MiniClaw 深度解析》系列的第六章,下一章将详细介绍技能系统。*

👍 1

想参与讨论或点赞?登录后使用完整功能

讨论回复(0)

暂无回复,登录后可参与讨论
合作

智谱 GLM-5 已上线

在智谱开放平台 BigModel.cn 打造 AI 应用。新一代旗舰模型 GLM-5 在推理、代码、智能体综合能力达到开源模型 SOTA。

领取 2000万 Tokens