每日复习 (Daily Review) - 艾宾浩斯间隔重复
概述
基于艾宾浩斯遗忘曲线,自动检查今日需要复习的内容,引导用户进行主动回忆练习,并更新复习追踪记录。
复习时间表标准
| 轮次 | 间隔 | 记忆保持率目标 |
|---|---|---|
| R1 | 学习后1天 | 恢复到90% |
| R2 | 学习后3天 | 恢复到90% |
| R3 | 学习后7天 | 巩固到85% |
| R4 | 学习后14天 | 巩固到80% |
| R5 | 学习后30天 | 长期记忆70% |
| R6 | 学习后90天 | 永久记忆60%+ |
任务列表
请使用 TodoWrite 工具创建以下任务列表,然后逐步执行:
- •确认学习项并扫描复习状态
- •识别今日需复习内容
- •执行复习会话(康奈尔回忆 + 闪卡)
- •记录复习结果
- •更新间隔重复追踪表
- •安排下次复习
详细执行指南
步骤 1: 扫描复习状态
读取文件:
- •
[学习项]/reviews/spaced-repetition.md- 间隔重复追踪表 - •
[学习项]/notes/*.md- 所有笔记(检查复习追踪栏) - •
[学习项]/flashcards/*.md- 闪卡集(检查掌握度)
如果 reviews/ 目录不存在:
bash
mkdir -p [学习项]/reviews cp _templates/SPACED_REPETITION.md [学习项]/reviews/spaced-repetition.md
如果 flashcards/ 目录不存在:
bash
mkdir -p [学习项]/flashcards
显示复习概览:
code
每日复习 - [学习项名称] 今日日期:YYYY-MM-DD 复习状态概览: [逾期] 逾期未复习:X 项(需要立即复习) [今日] 今日待复习:X 项 [完成] 已完成复习:X 项 [即将] 即将到来:X 项(未来7天) 笔记总数:X 篇 闪卡总数:X 张
步骤 2: 识别今日复习内容
计算逻辑:
code
对于每个笔记/概念:
学习日期 = notes 文件创建日期 或 笔记中标注的学习日期
今日日期 = date +"%Y-%m-%d"
间隔天数 = 今日日期 - 学习日期
需要复习的轮次:
if 间隔天数 >= 1 且 R1 未完成 -> 需要 R1 复习
if 间隔天数 >= 3 且 R2 未完成 -> 需要 R2 复习
if 间隔天数 >= 7 且 R3 未完成 -> 需要 R3 复习
if 间隔天数 >= 14 且 R4 未完成 -> 需要 R4 复习
if 间隔天数 >= 30 且 R5 未完成 -> 需要 R5 复习
if 间隔天数 >= 90 且 R6 未完成 -> 需要 R6 复习
按优先级排序:
- •[逾期] 逾期项(应复习日期已过)
- •[今日] 今日到期(应复习日期=今日)
- •低回忆质量项优先(上次回忆分数低的先复习)
显示待复习列表:
code
今日复习计划(共 X 项,预计 Y 分钟) [逾期]: 1. [概念/笔记名] - R2(应3天前复习) - 来自: notes/01-xxx.md 2. [概念/笔记名] - R1(应昨天复习) - 来自: notes/02-xxx.md [今日]: 3. [概念/笔记名] - R3(7天复习) - 来自: notes/00-overview.md 准备开始复习吗?
如果没有待复习内容:
code
太棒了!今日没有需要复习的内容。 当前状态: - X 个概念已完成所有复习轮次 [已掌握] - X 个概念正在复习周期中 [巩固中] - 下次复习日期:YYYY-MM-DD 建议:继续学习新内容,使用 /study [学习项] 开始
步骤 3: 执行复习会话
复习模式A: 康奈尔笔记回忆
对于有康奈尔笔记的内容:
- •展示笔记的「线索/问题栏」(左栏)
- •让用户根据线索尝试回忆笔记内容
- •展示原始笔记对比
- •让用户自评回忆质量(1-5分)
示例对话:
code
AI: 复习笔记:01-character-classes.md (R2 复习) 线索提示: 1. \d 匹配什么? 2. 字符类和预定义类的区别? 3. 如何匹配"非xx"? 请尝试根据这些线索回忆笔记内容... (回忆完成后输入"看答案") 用户: 看答案 AI: 原始笔记内容: [展示笔记栏内容] 你觉得回忆得怎么样? 1 - 完全忘记 2 - 模糊记忆 3 - 部分记忆 4 - 良好记忆 5 - 完全掌握
复习模式B: 闪卡复习
对于有闪卡的内容:
- •展示闪卡正面(问题)
- •等待用户回答
- •展示闪卡反面(答案)
- •标记正确/错误
示例对话:
code
AI: 闪卡复习 (1/5) Q: \d 是什么的缩写?它匹配什么? [思考后输入你的答案...] 用户: digit, 匹配数字 0-9 AI: 正确! A: \d 是 digit 的缩写,匹配任意单个数字 [0-9] 下一张 ->
复习模式C: 主动回忆(无笔记/闪卡时)
- •提出该概念相关的3-5个问题
- •让用户回答
- •给出反馈和补充
步骤 4: 记录复习结果
在 reviews/spaced-repetition.md 中追加记录:
markdown
### YYYY-MM-DD 复习会话 **复习内容:** | 笔记/概念 | 轮次 | 回忆质量(1-5) | 用时 | 备注 | |-----------|------|-------------|------|------| | 01-character-classes | R2 | 4 | 3min | 基本掌握 | | 00-overview | R3 | 3 | 5min | 部分概念模糊 | **总结:** - 本次复习数量:2 - 平均回忆质量:3.5 - 需重点关注:概览中的xx部分
步骤 5: 更新追踪表
更新 reviews/spaced-repetition.md 中的调度表:
- •将已复习项从「待复习」移到「已完成本轮」或下一轮「待复习」
- •更新掌握度状态
- •更新统计数据
回忆质量低(<=2分)时的处理:
code
[警告] [概念名] 回忆质量低(2分),建议: 1. 重新阅读原始笔记 2. 重做相关练习 3. 该概念的复习计划将重置为 R1 是否现在重新学习该概念?(使用 /study [学习项])
步骤 6: 安排下次复习
计算并显示:
code
下次复习安排 | 概念 | 下次复习日期 | 轮次 | 距今天数 | |------|-----------|------|---------| | character-classes | YYYY-MM-DD | R3 | 4天后 | | overview | YYYY-MM-DD | R4 | 7天后 | 小提示:建议设置每日提醒,在固定时间进行复习 今日复习完成!你已连续复习 X 天,继续加油!
复习完成后更新 progress.md
在学习项的 progress.md 中追加复习记录:
markdown
### YYYY-MM-DD - 间隔复习 **复习时长**: X 分钟 **复习数量**: X 个概念 **平均回忆质量**: X/5 **连续复习天数**: X 天 **下次复习**: YYYY-MM-DD
错误处理
| 情况 | 处理 |
|---|---|
| 没有 reviews/ 目录 | 自动创建并初始化 |
| 没有笔记文件 | 提示先使用 /study 学习 |
| 复习追踪表格式损坏 | 备份后重建 |
| 所有复习都完成 | 恭喜消息 + 建议学新内容 |
与其他 Skill 的集成
- •
/study结束时 -> 自动将新学概念加入复习系统 - •
/review-learning-> 展示间隔重复完成率 - •
/new-learning-> 创建reviews/和flashcards/目录
Skill version: 1.1 Last updated: 2026-02-09