五层记忆系统设计文档
一、系统架构
┌─────────────────────────────────────────────────────────────────┐
│ 记忆系统总览 │
├─────────────────────────────────────────────────────────────────┤
│ │
│ 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.mdwith 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检索历史 - 教训记录保持精简