FSRS 用一个三部分的记忆模型,取代了 SM-2 那个单一的难易系数,并预测你在某一天回忆起一张卡的概率。实际效果是:在同等记忆保持水平下复习得更少——而它需要数据,才能兑现这一点。
一览
| SM-2 | FSRS | |
|---|---|---|
| 记忆模型 | 没有——只有一个难易乘数 | 难度、稳定性、可提取性 |
| 下一个间隔怎么选 | 间隔 × 系数 |
回忆概率降到你设定目标的那一天 |
| 会从你的历史里学习吗 | 只从那张卡,而且很粗糙 | 会——在你整套收藏上拟合 |
| 你可以设定 | 什么都不能 | 期望记忆保持率(例如 90%) |
| 需要复习历史吗 | 不需要 | 需要,否则不值得用 |
| 在 Anki 里 | 默认 | 可用,需手动启用 |
核心思路:三个数字,而不是一个
SM-2 关于一张卡的全部理论,就是一个难易系数。FSRS 使用 DSR 模型——每张卡三个量:
难度(Difficulty)。 这张卡对你来说本质上有多难。大致相当于 SM-2 的难易系数,但是被正经估计出来的,而不是靠固定增量推来推去。
稳定性(Stability)。 距离你对这张卡的回忆概率降到 90%,还有多少天。这才是真正的创新之处。SM-2 的「间隔」是一份排程;FSRS 的稳定性则是你记忆的一个属性,排程是从它推导出来的。
可提取性(Retrievability)。 你此刻能回忆起这张卡的概率,它随着距上次复习的时间流逝而衰减。
于是排程问题变得精确了。不再是「乘以 2.5」,而是:给定这张卡的稳定性,可提取性会在哪一天降到我要求的水平? 就排在那一天。
期望记忆保持率:那个真正重要的旋钮
因为 FSRS 预测的是一个概率,你就可以设定一个目标。把期望保持率设为 90%,FSRS 就会把每张卡排到它估计「你有 10% 的概率已经忘掉它」的那一天。
这确实有用,而且是 SM-2 完全提供不了的东西:
- 调高保持率(比如 95%),你会得到更短的间隔、更多的复习,以及更少被遗忘的卡片。考试前很合理。
- 调低保持率(比如 85%),你会得到更长的间隔、少得多的复习,以及更多的失误。对一套你只是在维护、而不是在攻克的大型收藏来说很合理。
这笔取舍是明示的,而且由你来做。在 SM-2 里,同样的取舍也存在,但被埋在一堆你必须手工调整的常数里。
那些数字从哪里来
FSRS 是在极大量真实复习日志上训练出来的——来自数万名用户的数亿次复习。这让它在完全不了解你之前,就已经带着有用的先验:一张新卡开局所用的参数,反映的是卡片总体上的行为规律。
然后它开始个性化。Anki 的优化器会针对你的复习历史重新拟合模型参数,于是排程器会学到:你觉得——比方说——汉字比化学定义更难,并据此调整。
正是这种两段式设计——好的先验,然后个性化——让 FSRS 在实践中胜过 SM-2。常被引用的结果,是在同等记忆保持水平下复习次数减少 20–30%,对一套大型收藏而言,这意味着每月好几个小时。
在 Anki 里使用它
一些实用说明,因为大多数人会在 Anki 里遇到它:
它需要手动启用。 尽管有不少博客文章说得好像不用,Anki 自己的手册仍然把 FSRS 描述为*「Anki 传统 SuperMemo 2(SM-2)算法的一个替代方案」*。你在卡组选项里启用它。
先启用,再优化。 打开 FSRS 只是给了你「普遍人群」的参数。运行优化器,才会把它们拟合到你的历史上。请务必做第二步,否则你只拿到了一半的好处。
认真设定期望保持率。 默认值是个合理的折中。不要去追 99%——复习成本会陡增,而边际上的记忆保持提升很小。
已有的卡片没问题。 FSRS 会读取你的复习历史,所以一套成熟的收藏会被合理地转换过去,而不是被重置。
给它一点时间。 刚切换之后,有些间隔会看上去很意外。通常模型是对的,而你的直觉是按 SM-2 校准过的。
我们为什么还没切换
我们用的是 SM-2,理由是数据,不是原则。
FSRS 的优势来自把参数拟合到复习历史上。一个刚用了两个月闪卡的孩子,只有几十次复习——远远不够拟合任何东西,而一个未经拟合的 FSRS,不过是另一组默认值罢了。对一套没有历史可学的收藏,没有任何诚实的方式去声称有 25% 的效率提升。
还有一个「比例是否相称」的论证。FSRS 节省的是复习时间,而复习时间并不是限制一个 KS3 孩子的因素:我们的每一轮上限是二十张卡,大约六分钟。把六分钟砍成四分钟,解决的是一个没人有的问题。真正限制孩子的,是那些卡片究竟存不存在——这正是我们把力气放在「让导师来写」上的原因。
所以这个计划是刻意的,而不是勉强的。复习日志会记录每一次评级及其时间戳——正是 FSRS 需要的那种形状——所以将来可以拟合这个算法,而不损失任何历史。重新考虑它的触发条件,是每个孩子积累了足够多的复习,让一次拟合真正有意义。
诚实的总结
如果你在 Anki 里维护一套大型个人收藏,把 FSRS 打开并运行优化器。它是一次真实的改进,它免费,而且做出它的人在测量这件事上异常严谨。
如果你是在为一个十二岁的孩子挑选一套系统,排程器并不是那个决定性因素。这里的每一个算法——SM-2、FSRS、SM-19——排程都足够好,好到差别只以「每周几分钟」来衡量。真正决定一个孩子到了三月还有没有闪卡习惯的差别,是那些卡片究竟有没有被写出来。
常见问题
FSRS 是什么?
Free Spaced Repetition Scheduler(自由间隔重复排程器)——一个开源算法,把记忆建模为三个量(难度、稳定性、可提取性),并预测你回忆成功的概率,而不是把间隔乘以一个固定的难易系数。
FSRS 比 SM-2 更好吗?
对一套有复习历史的大型收藏来说,是的——通常在同等记忆保持水平下,复习次数明显更少。而对一套几乎没有历史的新收藏,它没有可学的东西,所以好的默认值表现相当。
aitutors.me 用 FSRS 吗?
还没有。我们的复习日志是刻意为「将来可以拟合 FSRS」而建的;一旦积累了足够的复习历史可供训练,这次切换才变得值得。