五层记忆系统设计文档

6 阅读5分钟

五层记忆系统设计文档

一、系统架构

┌─────────────────────────────────────────────────────────────────┐
│                        记忆系统总览                              │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│   workspace-main/                    workspace-team-a/          │
│   (主脑工作区)                        (特工共享工作区)            │
│   ├── MEMORY.md ─────────────────────├── MEMORY.md              │
│   │   (索引层 - 主脑专用)              │   (索引层 - 团队共享)     │
│   │                                   │                          │
│   └── memory/                         └── memory/                │
│       ├── projects.md                    ├── projects.md         │
│       ├── infra.md                       ├── infra.md            │
│       ├── lessons.md                     ├── lessons.md          │
│       ├── 2026-03-23.md                  ├── 2026-03-23.md       │
│       └── logs/                          └── logs/               │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

二、五层分层结构

层级文件用途容量限制更新频率
索引层MEMORY.md团队概览、状态快照<50行每周整合
项目层memory/projects.md项目状态与待办<100行状态变化时
基础设施层memory/infra.md服务器、API、配置<80行配置变更时
教训层memory/lessons.md踩坑记录、解决方案不限遇到问题时
日志层memory/YYYY-MM-DD.md每日原始记录不限每天

三、工作区划分

3.1 主脑工作区 (workspace-main)

路径: /root/.openclaw/workspace-main/

所有者: main (主脑)

写入规则: 不需要加标识

内容特点:

  • 可包含敏感信息
  • 用户偏好、决策记录
  • 特工协调记录

3.2 特工共享工作区 (workspace-team-a)

路径: /root/.openclaw/workspace-team-a/

所有者: coder, researcher, writer (共享)

写入规则: 必须加 [特工名] 标识

内容特点:

  • 不包含敏感信息
  • 任务执行记录
  • 技术发现和输出

四、写入规范

4.1 日志格式

# [YYYY-MM-DD] 日期

## [特工名] 任务标题

**时间**: HH:MM GMT+8

### 完成内容
- 完成事项1
- 完成事项2

### 遇到问题
- 问题描述 (如需帮助)

### 文件变更
- /path/to/file1
- /path/to/file2

---
_最后更新: YYYY-MM-DD HH:MM GMT+8_

4.2 教训格式

## [特工名] 问题标题 (日期)

- **现象**: 发生了什么
- **原因**: 为什么发生
- **解决**: 怎么解决的
- **严重程度**: P0/P1/P2

### 复现步骤 (如适用)
1. 步骤1
2. 步骤2

### 参考链接
- 相关Issue/文档

4.3 项目更新格式

### 项目名称
- **状态**: 进行中 ⚡ / 已完成 ✅ / 暂停 ⏸️
- **负责人**: [特工名]
- **最近更新**: YYYY-MM-DD
- **当前进展**:
  - ✅ 已完成项
  - ⏳ 进行中项
  - ❌ 阻塞项

五、特工 SOUL.md 配置示例

5.1 日志写入规范 (写入特工 SOUL.md)

## 📝 日志写入规范 (2026-03-23)

### 每日日志
**每天结束时**,将今天完成的工作写入 `/root/.openclaw/workspace-team-a/memory/YYYY-MM-DD.md`

**格式要求**:
```markdown
## [特工名] 今天完成的事
- 完成事项1
- 完成事项2

## [特工名] 遇到的问题
- 问题描述 (如需帮助)

教训记录

遇到踩坑问题时,立即写入 /root/.openclaw/workspace-team-a/memory/lessons.md:

## [特工名] 问题标题 (日期)
- **现象**: ...
- **原因**: ...
- **解决**: ...
- **严重程度**: P0/P1/P2

项目更新

项目状态变化时,更新 /root/.openclaw/workspace-team-a/memory/projects.md


### 5.2 AGENTS.md 配置 (写入特工工作区)

```markdown
## Memory

You wake up fresh each session. These files are your continuity.

### 📚 五层记忆分层系统

| 层级 | 文件 | 用途 |
|------|------|------|
| 索引层 | `MEMORY.md` | 团队概览、能力索引 (<50行) |
| 项目层 | `memory/projects.md` | 各项目当前状态与待办 |
| 基础设施层 | `memory/infra.md` | 服务器、API、部署等配置速查 |
| 教训层 | `memory/lessons.md` | 踩过的坑,按严重程度分级 |
| 日志层 | `memory/YYYY-MM-DD.md` | 每日原始记录 |

### ✍️ 多特工协作写入规则

**重要:所有特工写入记忆时必须加标识,避免混淆!**

日志文件格式:
```markdown
## [coder] 今天完成的事
- 完成XXX功能

## [researcher] 今天的发现
- 调研结果AAA

## [writer] 今天输出
- 文档CCC

教训文件格式:

## [特工名] 问题标题 (日期)
- **现象**: ...
- **原因**: ...
- **解决**: ...
- **严重程度**: P0/P1/P2

写入规则

  • 日志:当天发生的事写入 memory/YYYY-MM-DD.md必须加 [特工名] 标识
  • 教训:遇到问题后立即记录到 memory/lessons.md
  • 项目:项目状态变化时更新 memory/projects.md
  • 索引:每周从日志中提炼重要信息到 MEMORY.md

🧠 MEMORY.md - 团队长期记忆

  • ONLY load in main session (direct chats with your human)
  • DO NOT load in shared contexts (Discord, group chats)
  • Write significant events, lessons learned
  • Keep it concise (<50 lines)

📝 Write It Down - No "Mental Notes"!

  • Memory is limited — if you want to remember something, WRITE IT TO A FILE
  • When you learn a lesson → update memory/lessons.md with your agent tag
  • Text > Brain 📝

## 六、文件模板

### 6.1 MEMORY.md 模板

```markdown
# 团队记忆索引 (Memory Index)

> 💡 **指南**: 每次会话开始时读取此索引获取上下文。保持精简。

## 👥 团队编制
- **[枢纽] main**: 协调中心,意图识别与任务整合
- **[编码] coder**: 编码专家,逻辑实现与Bug修复
- **[先知] researcher**: 调研专家,语义搜索与信息验证
- **[墨] writer**: 创作专家,文案润色与语境转换

## 📂 记忆分层导航
- [项目看板](./memory/projects.md) | [基础设施](./memory/infra.md) | [避坑指南](./memory/lessons.md) | [日志](./memory/logs/)

## 📍 核心状态快照

**当前重点**: [一句话描述]

**环境状态**:
- Gateway: 运行中
- [其他关键状态]

**近期成果** (YYYY-MM-DD ~ YYYY-MM-DD):
- ✅ 成果1
- ✅ 成果2

**关键项目**:
| 项目 | 状态 | 备注 |
|------|------|------|
| 项目A | ⚡ 进行中 | 描述 |
| 项目B | ✅ 完成 | 描述 |

---

_最后更新: YYYY-MM-DD | 写入时加 `[特工名]` 标识_

6.2 projects.md 模板

# 项目进展 (Projects)

> 📝 **写入规则**: 更新时加 `[特工名]` 标识

## 📊 当前项目

### 项目 A: [项目名]
- **状态**: 进行中 ⚡ / 已完成 ✅
- **负责人**: [特工名]
- **当前进展**:
  - ✅ 已完成
  - ⏳ 进行中
  - ❌ 阻塞
- **最近更新**: YYYY-MM-DD [特工名]

## 📋 待办事项 (TODOs)

| 优先级 | 任务 | 负责人 | 状态 |
|--------|------|--------|------|
| P1 | 任务A | [特工名] | 待处理 |
| P2 | 任务B | [特工名] | 进行中 |

## 🗓️ 项目时间线
- **YYYY-MM-DD**: 里程碑事件

6.3 lessons.md 模板

# 避坑指南 (Lessons)

> 📝 **写入规则**: 发现问题时立即记录,加 `[特工名]` 标识

## 🚨 P0 - 关键问题

### [特工名] 问题标题 (日期)
- **现象**: ...
- **原因**: ...
- **解决**: ...
- **严重程度**: P0

## ⚠️ P1 - 重要问题

### [特工名] 问题标题 (日期)
- **现象**: ...
- **解决**: ...
- **严重程度**: P1

## 📋 P2 - 一般问题

### [特工名] 问题标题 (日期)
- **现象**: ...
- **解决**: ...
- **严重程度**: P2

七、维护策略

7.1 每日

  • 特工完成任务后写入日志 [特工名]
  • 遇到问题立即记录到 lessons.md

7.2 每周

  • 主脑整合日志到 MEMORY.md
  • 清理过期日志到 logs/ 归档目录
  • 更新 projects.md 状态

7.3 每月

  • 回顾 lessons.md 提炼高频问题
  • 归档旧日志
  • 更新 infra.md 配置

八、Token 优化建议

操作Token 消耗优化方案
读取 MEMORY.md~500保持 <50 行
读取当日日志~1000按需读取
读取全部记忆~5000+避免,用 memory_search
写入日志~200只写关键信息

推荐:

  • 启动时只读 MEMORY.md + 当日日志
  • 使用 memory_search 检索历史
  • 教训记录保持精简