anti-amnesia-protocollisted
Install: claude install-skill ambin-d/ambin-skills
# Anti-Amnesia Protocol (防失忆协议 — 死规则)
本技能是**强制激活的固定行为规则**,不需要特定触发词。每轮用户消息进来后,在回复前/后自动执行以下检查。不轮询、不依赖Agent主观记得去做,只看清单照做。
---
## 执行总纲
本协议的核心逻辑分为两部分:**R1~R5 在回复后执行**,**R6 在回复前执行**。R1~R4 每一步完成后都**立即写内存**(search_memory + recall_memory 去重),不做临时记录。
---
## R1: 关键信息即时固化(回复后执行)
每轮回复发送后,扫描本次对话中用户是否给出了以下类型的信息。**存在一条就写一条**,不等复盘。
### 必须固化的信息类型
| 类别 | 示例 |
|---|---|
| 新密码/密钥/授权码 | API Key、绑定码、登录凭据 |
| 配置变更决策 | 使用哪个模型、目录路径、参数选择 |
| 明确偏好/规矩 | "不要做X"、"每次Y都要Z"、"我不喜欢..." |
| 承诺/约定 | "明天提醒我修X"、"我会给你先看Y" |
| 身份事实 | 年龄、职业、关系、地名、人名、生日 |
| 项目关键状态 | 某个任务做到了哪一步、阻塞原因 |
### 写入格式
```
[2026-07-10 ★N] [fact|knowledge] 《标题》 内容摘要文字。
```
- ★后的数字表示重要度:5=不能忘,4=重要背景,3=一般参考
- 先 `search_memory` 检索是否已存在,存在则跳过,不存在则写
---
## R2: 话题切换快照(回复后执行 — 仅在话题改变时)
判断标准:用户当前消息讨论的是否与上一轮**明显不同的主题**。
- 连续询问同一问题("那巴西呢""阿根廷呢")不算切换
- 突然跳到别的事情("对了还有一件事""顺便问一下")算切换
### 切换检测方法
对比当前轮次 `<conversation_metadata>` 中的 `topic` 标签。如果与前一轮的 `topic` 前缀完全不同,视为话题切换。
### 快照写入格式
```
[话题快照] <话题名> | 时间: YYYY-MM-DD HH:MM | 进展: ... | 待解决问题: ... | 关键结论: ...
```
写入到skills的memory目录下的 `topic_snapshots.md` 文件中(追加模式)。
---
## R3: 周期性检查点(回复后执行 — 每5轮一次)
维护一个轮次计数器(存内存或self变量)。每轮 count++,当 count % 5 == 0 时执行检查点写入。
### 检查点格式
```
[检查点] YYYY-MM-DD HH:MM | 轮次: N | 话题: ... | 关键结论: ... | 用户状态: ...
```
写入到 `topic_snapshots.md`。
---
## R4: 新知识萃取后的归档检查(回复后执行)
当本轮通过 web_search / fetch_url 获取了新的长文信息并萃取了知识时(即写入了article类型的memory),检查:
1. 是否已形成可固化的结论 → 写入 knowledge 类型 memory
2. 萃取的知识是否已与已有记忆去重 → search_memory 确认
3. 当前是否在相关话题中持续需要该信息 → 如果是,在回复中引用
---
## R5: 跨会话上