三层记忆法则 - Travel Agent 记忆系统配置
版本:v1.0
创建时间:2026-03-06
最后更新:2026-03-06
📋 三层记忆法则
第 1 层 预防(写入时)
目标:确保所有重要信息都被记录到正确的记忆文件中
自动化配置:
- ✅ 每日 0:00 - 自动创建今日记忆文件(
memory_daily_init.sh) - ✅ 每日 23:00 - 自动添加每日总结模板(
memory_daily_summary.sh) - ✅ 任务完成后 - 自动写入记忆(集成到 daily_cron.sh)
手动检查清单:
- 长期记忆(MEMORY.md)是否更新?
- 今日记忆是否完整记录?
- 任务状态是否已更新(task.md)?
- 经验教训是否已记录?
第 2 层 侦测(恢复时)
目标:Session 开始前读取所有相关记忆,避免重复犯错
自动化配置:
- ⚠️ Session 启动前 - 手动执行
memory_session_start.sh(需要 Agent 支持)
手动检查清单:
- 已读取 MEMORY.md(长期记忆)
- 已读取昨日记忆(memory/YYYY-MM-DD.md)
- 已读取今日记忆(memory/YYYY-MM-DD.md)
- 已确认未完结任务清单
Session 启动命令:
source /root/.openclaw/workspace/travel/scripts/memory_session_start.sh
第 3 层 兜底(执行时)
目标:高风险操作前再次检查记忆中的约束和教训
触发场景:
- ⚠️ 删除文件/数据 - 检查是否有必须保留的
- ⚠️ 修改配置文件 - 检查是否有生产环境约束
- ⚠️ 部署代码 - 检查是否已测试、是否有回滚方案
- ⚠️ 创建文档 - 检查是否已推送内容(端到端验收)
手动检查清单:
- 是否检查了记忆中的约束?
- 是否确认了不可逆操作的后果?
- 是否有违反原则的风险?
⚙️ 定时任务配置
Crontab 配置
# 查看当前配置
crontab -l
# 编辑配置
crontab -e
已配置的定时任务
| 时间 | 任务 | 脚本 | 说明 |
|---|---|---|---|
| 每日 0:00 | 创建今日记忆 | memory_daily_init.sh |
创建 memory/YYYY-MM-DD.md |
| 每日 9:00 | 北京展览爬取 | daily_cron.sh |
爬取 + 飞书同步 + 记忆写入 |
| 每日 23:00 | 每日总结 | memory_daily_summary.sh |
添加总结模板 |
| 每日 3:00 | 记忆压缩 | memory_compression.sh |
长期记忆蒸馏(全局) |
📁 文件结构
/root/.openclaw/workspace/travel/
├── MEMORY.md # 长期记忆(3 个月以上有效)
├── memory/
│ ├── daily_init.log # 每日初始化日志
│ ├── daily_summary.log # 每日总结日志
│ ├── 2026-03-05.md # 昨日记忆
│ ├── 2026-03-06.md # 今日记忆
│ └── YYYY-MM-DD.md # 每日记忆模板
├── scripts/
│ ├── memory_daily_init.sh # 每日初始化脚本
│ ├── memory_daily_summary.sh # 每日总结脚本
│ └── memory_session_start.sh # Session 启动读取脚本
└── task.md # 任务清单(与记忆同步)
📝 记忆写入规范
长期记忆(MEMORY.md)
写入条件(满足任一):
- ✅ 3 个月后仍有效的事实
- ✅ 用户偏好和约束
- ✅ 技术方案和架构决策
- ✅ 血泪教训和核心原则
不写入:
- ❌ 临时状态和进度
- ❌ 一次性任务详情
- ❌ 日常对话内容
示例:
## 🔧 北京展览爬取系统(2026-03-05 创建)
**数据源**:10 个(7 个官方 +3 个民间)
**技术方案**:
- 动态网站 → Playwright
- 静态网站 → web_fetch + Jina
- 官方汇总 → 最佳方案
**核心教训**:
1. 部署前必须测试
2. 端到端验收(飞书文档内容验证非空)
短期记忆(memory/YYYY-MM-DD.md)
写入条件:
- ✅ 当日任务完成记录
- ✅ 遇到的问题和解决方案
- ✅ 经验教训(当日反思)
- ✅ 未完结任务状态
每日结构:
# YYYY-MM-DD - Travel Agent 记忆日志
## 📋 今日任务
### P1 任务
- [ ]
### P2 任务
- [ ]
## 📝 工作记录
### 上午
### 下午
### 晚上
## ✅ 已完成任务
| 时间 | 任务 | 状态 | 备注 |
|------|------|------|------|
## ⚠️ 经验教训
-
## 🧠 三层记忆应用
### 第 1 层 预防
- [ ] 长期记忆已更新
- [ ] 今日记忆已创建
### 第 2 层 侦测
- [ ] 已读取 MEMORY.md
- [ ] 已读取昨日记忆
### 第 3 层 兜底
- [ ] 高风险操作前已检查
## 📝 每日总结
### ✅ 今日完成
### ⚠️ 遇到的问题
### 🧠 经验教训
### 📋 明日计划
🔄 工作流程
每日流程
0:00 → 自动创建今日记忆文件
↓
8:30 → 早汇报(读取记忆,确认今日任务)
↓
9:00 → 自动任务执行(展览爬取 + 记忆写入)
↓
工作期间 → 完成任务后写入记忆
↓
22:00 → 晚汇报(更新记忆,列出未完结)
↓
23:00 → 自动添加每日总结模板
↓
23:30 → 填写每日总结,关闭当日记忆
Session 流程
Session 开始
↓
执行 memory_session_start.sh
↓
读取 MEMORY.md(长期记忆)
↓
读取昨日记忆
↓
读取今日记忆
↓
确认未完结任务
↓
开始工作
↓
...
↓
完成任务 → 写入今日记忆
↓
Session 结束
⚠️ 常见问题
Q1: 忘记写入记忆怎么办?
解决:
- 设置语义触发:完成任务后立即写入
- 使用心跳检查:每小时检查记忆是否更新
- 晚汇报时补全:22:00 汇报前补全记忆
Q2: 记忆文件太多找不到怎么办?
解决:
- 使用 memory_search 语义搜索
- 每周清理过期记忆(压缩到 MEMORY.md)
- 使用日期命名,按时间排序
Q3: 如何确保三层记忆都被应用?
解决:
- 第 1 层:定时任务自动创建 + 任务完成后自动写入
- 第 2 层:Session 启动脚本强制读取
- 第 3 层:高风险操作前手动检查清单
📊 记忆系统健康检查
每日检查
# 检查今日记忆是否创建
ls -la /root/.openclaw/workspace/travel/memory/$(date +%Y-%m-%d).md
# 检查昨日记忆是否关闭
grep "## 📝 每日总结" /root/.openclaw/workspace/travel/memory/$(date -d 'yesterday' +%Y-%m-%d).md
# 检查定时任务状态
crontab -l | grep memory
每周检查
- MEMORY.md 是否更新(长期记忆)
- 7 个记忆文件是否完整
- 是否有未关闭的记忆文件
- 定时任务是否正常执行
维护者:Travel Agent
最后更新:2026-03-06 12:10