三层记忆法则 - 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: 忘记写入记忆怎么办?

解决

  1. 设置语义触发:完成任务后立即写入
  2. 使用心跳检查:每小时检查记忆是否更新
  3. 晚汇报时补全:22:00 汇报前补全记忆

Q2: 记忆文件太多找不到怎么办?

解决

  1. 使用 memory_search 语义搜索
  2. 每周清理过期记忆(压缩到 MEMORY.md)
  3. 使用日期命名,按时间排序

Q3: 如何确保三层记忆都被应用?

解决

  1. 第 1 层:定时任务自动创建 + 任务完成后自动写入
  2. 第 2 层:Session 启动脚本强制读取
  3. 第 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