错题复习决策方案
codebrick 的错题复习在后台自动排期:你做错的题,系统会决定它隔几天回到你面前。排期逻辑: FSRS 遗忘曲线加考前峰值调度,公式和参数都在文里。
1. 三个问题,决定一道题的命运
依据:
- 它会进复习吗? —— 错题驱动,做错的题才进。
- 它隔多久回来? —— 按你对这道题的记忆强度算,越接近考试排得越密。
- 它什么时候不再回来? —— 连续做对两次,自动出本。
2. 哪些题进复习:错题驱动
做对,系统默认不再安排复习;只有做错或点「不会」的题,才会进错题本、排进复习队列。
取舍。考研时间有限,把已经会的题反复推到你面前,省下来的注意力不如花在还没掌握的地方。代价是:那些「这次蒙对了、其实没真懂」的题,系统看不出来,不会主动帮你回炉——这部分得靠点「收藏」或主动重做。
3. 隔多久回来:先把遗忘曲线讲清楚
「隔多久」,核心是一条遗忘曲线。 FSRS 模型(Free Spaced Repetition Scheduler),它给每道题维护一个数字 —— 稳定性
距离上次复习过了
这条公式的设计让
拿一道稳定性
| 距上次复习 | 1 天 | 3.5 天 | 7 天 | 14 天 | 30 天 | 60 天 |
|---|---|---|---|---|---|---|
| 回忆概率 | 98% | 95% | 90% | 83% | 71% | 58% |
知道了曲线,「隔多久回来」就好办了:设一个目标回忆率,反推它衰减到那个值要几天。 比如目标定在 90%,那这道
每次你复习一道题,
4. 越接近考试,排得越密:考前峰值调度
普通的间隔重复,目标是「无限期地把东西记住」。但考研不是无限期 —— 它有一个确定的截止日:12 月第三个周末。我们把目标改成一句更直接的话:让每道题在考试那天的回忆概率最高。
做法是让上一节里的「目标回忆率」随距考试天数往上爬:
| 距考试 | 目标回忆率 |
|---|---|
| 60 天以上 | 0.90 |
| 30–60 天 | 0.92 |
| 14–30 天 | 0.95 |
| 14 天以内 | 0.98 |
离考试远的时候,目标低一点,间隔拉长,少陪练已经记得八九不离十的题,把时间留给新内容;临近考试,目标拔高,同一道题会被排得越来越密,把记忆顶到峰值。
还是那道
| 距考试 | 目标回忆率 | 下次复习间隔 |
|---|---|---|
| 60 天以上 | 0.90 | ≈ 7.0 天 |
| 30–60 天 | 0.92 | ≈ 5.4 天 |
| 14–30 天 | 0.95 | ≈ 3.2 天 |
| 14 天以内 | 0.98 | ≈ 1.2 天 |
同样的记忆强度,离考试两个月时一周见一次,考前两周几乎天天见。
还有一条硬规则:任何复习都不会被排到考试日之后。 算出来的时间要是越过了考试日,就钳回考试当天 —— 排到考完才复习没有意义。
5. 什么时候出本:连对两次
一道错题,在复习里连续做对 两次,就自动移出错题本,不再排期。
为什么是两次而不是一次:一次做对可能是蒙的,或者是「刚看完答案还有印象」。隔了一个复习周期再做对一次,才比较能说明真的掌握了。中间只要错一次,连对计数清零,重新来过。
6. 做错那天,它先隔天回来
上面讲的遗忘曲线间隔,是给「在复习里做对」用的。如果你这次又做错了,规则更简单:次日回来。
具体是排到第二天的零点 —— 当天做错的题不会在同一天反复弹你,但「昨天错的题」今天一整天都算到期、随时能复习。这条之前踩过坑:早期实现按「答题时刻 + 24 小时」排,结果昨晚错的题今早不显示,非得等到同一个钟点才到期。现在按自然日算,对齐直觉。
7. 背诵卡共用同一套引擎
四科的每日记忆锚点卡(背诵卡)走的是同一套 FSRS + 考前峰值调度,只是把「做对/做错」换成三档自评:记得、模糊、忘了。错题复习和记忆卡,底层是同一个引擎,区别只在「答错的项隔多久回来」这条产品策略不同 —— 错题隔天,记忆卡当天还会再来一次。
8. 算法能力边界
这套算法目前站不住或还没做的地方:
- FSRS 权重还是通用默认值,没用 408 数据重新拟合。 我们记录了每次复习的自评和结果(
card_review_log),数据够了之后会按 codebrick 自己用户的遗忘规律重新拟合一组参数。现在的曲线是「社区平均人」的,不是「考 408 的你」的。 - 考试日对所有人统一兜底成最近一个 12 月第三周末。 账号体系里还没有「备考届」字段,所以二战、提前备考 27 届的同学,考前峰值的节奏会偏。
- 只调度错题。 第 2 节说过,做对的题不回炉,蒙对的题系统看不出来。
9. 欢迎反馈
如果你对上面某一条有不同看法 —— 比如「做对的题也该偶尔回炉」「考前峰值爬得太晚」「连对两次出本太松或太严」 —— 都可以告诉我们。QQ群里找我。
本文描述的是 2026-06 的线上实现。调度逻辑在
ExamPeakScheduler与Fsrs两个类里,遗忘曲线、间隔反推、目标回忆率随考试日上爬这三段都可以对着公式核。参数或策略调整后,本文会跟着更新。