# Context Memory

> 解决AI记忆混乱问题——"今天讲明天忘"。通过文件系统和规则流程实现持久记忆，确保新任务开始时自动回顾上下文，而不是靠"想"。核心机制：任务开始判断→读取记忆→执行→保存。适用于频繁切换话题或任务的AI协作场景。

- Skill: `zju-real/context-memory` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add zju-real/context-memory`
- Raw SKILL.md: https://api.skillmd.com/api/skills/zju-real/context-memory/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: ZJU-REAL (https://skillmd.com/u/zju-real)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/zju-real/context-memory

---


# Context Memory - AI记忆持久化技能

## 核心问题

AI经常"今天讲明天忘"：
- 新会话开始时丢失之前的信息
- 切换话题后忘记用户偏好
- 重复犯错（没有从错误中学习）

## 解决方案

**AI的记忆靠文件，而不是靠"想"。**

所有重要信息必须写入文件，新会话/新任务开始时主动读取。

## 记忆文件体系

```
workspace/
├── SOUL.md          # 行为准则、个性偏好
├── AGENTS.md        # 工作流程、代理规则
├── MEMORY.md        # 长期记忆（用户偏好、项目背景）
├── TOOLS.md         # 工具配置、集成注意事项
├── BOOTSTRAP.md     # 会话启动规则（今天的主角）
├── .learnings/
│   ├── ERRORS.md     # 错误记录
│   └── LEARNINGS.md  # 纠正案例
└── memory/
    └── YYYY-MM-DD.md # 每日记忆日志
```

## 核心规则：BOOTSTRAP.md

每次接新任务时，严格执行：

### 第零步：任务分类标记（不可跳过！）

**每一条用户消息，都必须在动手之前先输出一行任务类型判断，格式如下：**

```
[@task_classify] 新任务/续接任务/随口回复 | 任务类型 | 判断依据
```

- `@task_classify` 是判断标记，必须出现在任何动作之前
- 不带这个标记就不执行任何操作
- 续接任务 = 同一话题的延续，不需要重新读文档
- 随口回复 = 简单确认、礼貌回复，不需要任何操作

**例子：**
```
[@task_classify] 新任务 | 机票查询 | 话题切换：从LIMS切换到航班查询
[@task_classify] 续接任务 | 机票查询 | 同一话题延续
[@task_classify] 随口回复 | - | 用户只是说了"好的"
[@task_classify] 新任务 | LIMS报告下载 | 样本编号XX25D11137首次出现
```

### 第一步：判断是否是新任务

出现以下任意情况 = 新任务：
- 🔄 话题跨度大（从A项目跳到B项目）
- 🔄 任务类型变（查LIMS → 发邮件）
- 🔄 关键词第一次出现（人名、编号、项目名）
- 🔄 你自己不确定

### 第二步：分类处理

| 情况 | 行动 |
|------|------|
| ✅ **明确是新任务** | 直接执行，不需要问用户 |
| ❓ **不确定** | 先问用户："这是新任务吗？我需要确认一下" |
| ❌ **禁止** | 明明知道是新任务还跑去问（浪费用户时间） |
| ❌ **禁止** | 不确定还不问直接执行 |

### 第三步：确认后读取

1. `SOUL.md` + `AGENTS.md` + `MEMORY.md` + `TOOLS.md`
2. `.learnings/ERRORS.md` + `.learnings/LEARNINGS.md`
3. 相关技能文档（涉及LIMS/发文件时）

### 第四步：执行 + 保存

- 执行任务
- 重要信息立即写入对应文件（不要"等会再记"）
- 用户纠正时，立即记入 `.learnings/LEARNINGS.md`

## 记忆写入规则

### 什么时候必须写文件

| 场景 | 写入文件 | 格式 |
|------|---------|------|
| 用户纠正你 | `.learnings/LEARNINGS.md` | 纠正日期+内容+正确做法 |
| 犯错误时 | `.learnings/ERRORS.md` | 错误描述+解决方法 |
| 用户偏好 | `MEMORY.md` 或 `SOUL.md` | 简短规则 |
| 工具配置 | `TOOLS.md` | 配置+注意事项 |
| 工作流程 | `AGENTS.md` | 步骤规范 |
| 每日总结 | `memory/YYYY-MM-DD.md` | 日志 |

### 写入原则

1. **立即写** — 不要说"我记住了"，context结束后就忘了
2. **写具体** — 写"用户叫xiaolong"比写"用户有偏好"更有用
3. **分类存** — 用户偏好→SOUL/MEMORY，错误→ERRORS，纠正→LEARNINGS
4. **带日期** — 方便追溯

## BOOTSTRAP.md 模板

```markdown
# BOOTSTRAP.md - 会话启动规则

*每次新会话/新任务开始时，必须先读这个文件，然后严格遵守。*

## 铁律：判断 → 确认 → 读取 → 执行

**判断是否是新任务：**
- 话题跨度大（从A项目跳到B项目）
- 任务类型变（查LIMS → 发邮件）
- 关键词第一次出现
- 任何不确定的情况 → 问我确认

**分类处理：**
- ✅ 明确是新任务 → 直接做，不废话
- ❓ 不确定 → 先问我确认
- ❌ 禁止跳步

**确认后读取：**
1. SOUL.md + AGENTS.md + MEMORY.md + TOOLS.md
2. .learnings/ERRORS.md + LEARNINGS.md
3. 相关技能文档

## 用户偏好
- 称呼：（用户的称呼偏好）
- 时区：（时区）
- 邮箱：（邮箱）
```

## 每日记忆日志模板

```markdown
# memory/YYYY-MM-DD.md

## 今日完成
- 任务1：...
- 任务2：...

## 重要决策
- 决策1：...（原因）
- 决策2：...

## 新学到的
- 教训1：...（从错误中学到）
- 教训2：...（用户纠正）

## 待跟进
- ...
```

## 技能使用场景

1. **用户频繁切换话题** — 每次切换自动读取记忆文件
2. **多任务并行** — 任务间隔离，靠文件传递上下文
3. **长期项目配合** — 重要规则写入MEMORY.md，新会话直接加载
4. **错误不再重犯** — 错误写入ERRORS.md，下次自动回顾

## 效果验证

使用这个技能后，AI应该做到：
- ✅ 新会话开始时，自动知道用户称呼偏好
- ✅ 新任务开始时，自动读取相关项目背景
- ✅ 犯过的错误不再犯（从ERRORS.md中学习）
- ✅ 用户纠正一次后，记住正确的做法

## 配套技能

- **self-improving-agent** — 提供`.learnings/`文件格式和写入规范
- **lims** — LIMS样本查询技能
- 其他业务技能按需加载

---

*核心心法：AI的记忆靠文件，不靠"想"。写下来的才是真的记住了。*

