间隔复习教练(Spaced Revision Coach)
学完就忘,是大多数人学习的最大痛点——
- 看完一本书,一周后回想一片空白
- 刷完的题、背过的单词,考试时卡壳
- 刚学的编程 API、新的工作流,过两天就生疏
- 想复习,但不知道该复习啥、什么时候复习,最后干脆不复习
间隔重复(Spaced Repetition) 是被大量研究验证过的对抗遗忘方法:在"快要忘记"的临界点复习,记忆留存率最高。专业工具(如 Anki)要建卡、配置、迁移,门槛不低。这个 skill 把核心调度逻辑做成一个零依赖命令:你只管登记"要记住的点",它帮你算好节奏、提醒你今天该复习哪几条、并按你的回忆质量自动调整间隔——一个随身的个人复习教练。
痛点
- 缺乏节奏:什么时候该复习全凭感觉,要么复习太勤(浪费时间),要么太久不复习(全忘了)。
- 缺乏反馈:不知道自己到底"掌握了多少",学到哪算哪。
- 工具门槛:Anki 等要建卡组、调参数、同步账号,很多人用两天就弃了。
- 信息散落:笔记记了一堆,但从没被"回看"过,等于白记。
目标用户
- 学生:备考、背单词、记公式、梳理知识点。
- 职场人学新技能:语言、编程语言 API、新工具/workflow、考证。
- 终身学习者:读书笔记、课程要点、任何"想记住"的内容。
- 任何被"学完就忘"困扰、又不想折腾复杂工具的人。
核心能力
基于 SM-2 简化算法 的记忆匣子(Leitner box)调度:
- 每条学习条目有
box 1-5等级,对应复习间隔1 / 3 / 7 / 16 / 30天。 - box 越高 = 记得越牢 = 间隔越长,把复习精力集中在"快忘的"条目上。
- 复习后自评回忆质量:
again(想不起来)/hard(费劲)/good(顺利)/easy(秒回): again→ box 重置为 1,1 天后重来(记一次"遗忘")hard/good→ box +1easy→ box +2(跳级,拉长间隔)due每天告诉你"今天 + 逾期"该复习哪几条,逾期优先。stats给出掌握度总览:已掌握比例、连续复习量、记忆匣子分布、累计遗忘次数。export一键导出 markdown 复习卡总览,可打印/存入笔记。
使用方式
skill 自带零依赖 Python 脚本 revision.py(仅用标准库,Python 3.8+ 即可)。
在 WorkBuddy 里直接说"帮我加一条复习:<内容>"或"今天该复习啥",由 agent 调用下方命令。
# 数据默认存 ~/.revision/items.json;可用环境变量 REVISION_HOME 覆盖(测试/多档案)
python3 revision.py <子命令> [参数]
子命令一览
| 命令 | 作用 |
|---|---|
add --topic <主题> --q "<要记的点>" --a "<答案/笔记>" [--src <来源>] |
添加学习条目(不传参数则交互式录入) |
due |
列出今天(含逾期)待复习条目,逾期优先 |
answer <id> <again\|hard\|good\|easy> |
记录复习结果,自动重排下次间隔 |
stats |
掌握度总览仪表盘 |
export [--output review.md] |
导出 markdown 复习卡总览 |
list |
列出全部条目 |
remove <id> |
删除一条条目 |
示例
1)添加要记住的点
python3 revision.py add --topic "Python" \
--q "装饰器 @wrapper 的作用" \
--a "@wrapper 等价于 func = wrapper(func),在不改原函数代码的前提下包装/增强其行为" \
--src "《流畅的Python》p.120"
# ✅ 已添加 #1 [Python] 装饰器 @wrapper 的作用(今天起可复习)
2)看今天该复习啥
python3 revision.py due
# 📅 2026-07-16 待复习 3 条(其中逾期 1 条)
# [1] ⏰逾期 Python · 装饰器 @wrapper 的作用 (box 2 ⚠️遗忘1次)
# [2] 🟢今天 英语 · 单词 abrogate(废除)
# [3] 🟢今天 算法 · 快排 partition 的不变量
3)复习完第 1 条,回忆质量 good
python3 revision.py answer 1 good
# ✅ #1 已更新:box 2→3,下次复习 2026-07-23 (+7d)
4)看掌握度
python3 revision.py stats
# 📊 复习总览 (2026-07-16)
# 条目总数 :12
# 今日待复习 :3
# 已掌握 :5 (42%) [box≥4]
# 学习中 :7
# 累计复习 :38 次
# 累计遗忘 :4 次
# 记忆匣子 : box1:2 box2:3 box3:2 box4:3 box5:2
5)导出复习卡
python3 revision.py export --output ~/review-cards.md
# ✅ 已导出到 /Users/you/review-cards.md
算法说明(SM-2 简化版)
记忆匣子 box → 复习间隔(天)
box1 = 1 天
box2 = 3 天
box3 = 7 天
box4 = 16 天
box5 = 30 天(封顶,之后每 30 天复习一次即可保持)
复习后按回忆质量更新:
again → box=1,间隔=1天,遗忘次数+1
hard → box+1,间隔=BOX_INTERVALS[新box]
good → box+1,间隔=BOX_INTERVALS[新box]
easy → box+2,间隔=BOX_INTERVALS[新box]
下次复习日期 = 今天 + 间隔天数
核心思想:越容易忘的越常复习,越熟的越拉长间隔——把有限复习时间花在刀刃上。
数据隐私
- 所有数据存于本机
~/.revision/items.json(可用REVISION_HOME改路径),不上传任何服务器。 - 零依赖、纯本地运行,断网可用。
- 不收集、不发送任何个人信息。
边界声明
- 本 skill 是记忆调度工具,不替代系统的学习方法、老师或专业备考规划。
- 它帮你"按时复习",但理解深度仍取决于你最初的学习质量——建议配合主动回忆(合上书自己讲一遍)和费曼技巧使用。
- 间隔天数与算法为通用经验值,可按个人记忆曲线自行调整
BOX_INTERVALS。 - 不构成任何教育或考试保证。