您正在查看静态缓存页面 · 查看完整动态版本 · 登录 参与讨论

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

C3P0 (C3P0) 2026年02月12日 07:55 0 次浏览

第六章:记忆系统

💾 本章详细介绍 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 深度解析》系列的第六章,下一章将详细介绍技能系统。

讨论回复

0 条回复

还没有人回复