
大多数闪卡应用的用户并不了解,当算法决定明天还是下个月给他们展示某张卡片时,背后究竟发生了什么。多年来,主流的答案是 SM-2——一种诞生于 1980 年代的启发式算法,已为数百万学习者提供了良好的服务。FSRS(Free Spaced Repetition Scheduler,自由间隔重复调度器)是一种更新的方法,走的是一条根本不同的路:它不依赖固定规则,而是建立一个数学模型来描述你的记忆实际运作方式。理解这个模型,就能明白为什么 FSRS 的调度感觉更精准,以及为什么它往往能以更少的复习次数达到相同的记忆保留水平。FSRS 是开源且持续活跃开发的,你可以在 GitHub 上探索 FSRS 算法。关于间隔重复的全部相关内容,请访问间隔重复文章合集。
FSRS 用三个量来描述你正在学习的每一条知识,它们共同构成研究者所称的 DSR 模型。
可提取性是指你此刻能够成功回忆出某一条目的概率。它在每次复习后立即从 1.0(确定性)开始,随时间推移沿遗忘曲线衰减。当算法判断应该向你展示某张卡片时,是因为你的可提取性已降至目标水平——通常约为 0.90,即大约 90% 的回忆概率。目标是在你即将遗忘之前复习,既不要太早,也不要太晚。
稳定性描述的是你的可提取性衰减的速度。高稳定性的记忆衰减缓慢;低稳定性的记忆衰减迅速。每次成功复习后,该条目的稳定性都会提升,这也是复习间隔能够随时间延长的原因。同一条目在恰当时机复习五次,其稳定性将远高于在同一天内复习五次——算法能精确捕捉到这一差异。
稳定性是与日常所说的"对某事掌握程度"最直接对应的量。高稳定性意味着即使你错过一次复习,数周后记忆仍基本完好。低稳定性则意味着错过一次复习就可能使回忆概率大幅下降。
难度是对某一条目对你而言内在难易程度的估计。有些事实对某些人来说就是比其他事实更难记住,因人而异。一个条目的难度会影响成功复习后稳定性的增幅:容易的条目每次复习获得更多稳定性;困难的条目则获得较少。难度不是固定的——它会随着你对卡片的评分而持续更新,因此最初看起来困难的条目,随着熟悉度的增长,可以逐渐被重新归类。
给定某条目的当前 D、S、R 值,FSRS 可以预测在任意未来时间间隔后可提取性的变化情况。它以此来回答一个精确的问题:从现在起多少天后,可提取性将下降至目标阈值?
那一天就成为下一次安排的复习日期。仅此而已——没有固定倍率,没有群体平均值,只有针对这一特定条目和这一特定学习者由模型推导出的预测。
完成复习并给出评分——又一次(Again)、困难(Hard)、良好(Good)或容易(Easy)——之后,FSRS 会根据你的回应所揭示的信息更新该条目的 D 和 S 值。回忆失败(Again)会将稳定性重置并略微提高难度。轻松自信的回忆(Easy)比费力缓慢的回忆(Hard 或 Good)产生更大的稳定性增益。下一个间隔随即根据更新后的参数重新计算。
FSRS 最重要的特性之一,是其底层参数可以根据你的复习历史进行校准。模型包含一组控制稳定性在不同情境下如何演变的权重。这些权重有从大规模研究数据中得出的默认值,但也可以拟合到你的实际历史复习模式上。
这意味着 FSRS 可以了解到你的遗忘速度比群体平均水平更快,或者你标记为"困难"的回忆对你来说实际上相当稳定。由此产生的调度在比任何固定规则系统都更深的层面上实现了个性化。
这与仅仅降低易度因子在概念上是不同的。旧算法中的易度因子是对间隔进行乘法调整的逐卡设置。FSRS 则从数据中学习你的遗忘曲线形状,然后利用该形状从第一原理重新推导所有间隔。
你的评分是 FSRS 更新记忆估算所使用的主要信号,准确评分至关重要。
关键洞见在于:重要的不只是是否回忆出来,还有如何回忆出来。费力提取的记忆比即时提取的记忆稳定性更低,而 FSRS 对这一差异进行了建模。因此,诚实评分不只是良好习惯——它是保持模型准确性的数据管道。
FSRS 在与你消化和参与材料的方式紧密结合时才能发挥最大效用,而不仅仅是在复习层面。复习调度的质量取决于被调度的闪卡的质量。在初始阅读阶段进行主动回忆——在查看答案前先尝试自己产出答案——能产生编码更好的初始记忆,从而为 FSRS 提供更强的起点。
对于跨材料学习,算法独立处理每张卡片,不论其来源如何。这使得在同一学习环节中复习来自语言学习 PDF 的词汇、来自录制讲座的核心概念以及来自教科书的公式成为可能,每个条目都根据其自身的稳定性和难度进行调度,而非根据所属类别。
FSRS 不问"这个主题有多难?"——它问的是"这一特定记忆在这一特定学习者身上,此刻有多稳定?"这种从类别到个体记忆痕迹的转变,正是基于模型的调度与启发式调度的本质区别所在。
有必要明确模型的局限性。FSRS 并不模拟记忆巩固的神经学细节。它不知道你某天的疲劳程度或学习环境是否会影响表现。它不保证记忆保留——它以概率阈值为目标,因此一定程度的遗忘是预期且可接受的。
模型的质量也只与你的评分质量相当。如果你一贯地把实际上费了很大力气才回忆起来的卡片标记为"容易"——也许是为了减少即将到来的复习数量——算法将产生过长的间隔,你的实际记忆保留率将低于目标。遗忘曲线不在乎你的偏好;它只响应诚实的输入。
基于模型方法的实际回报是:在达到相同记忆保留目标的前提下,总复习次数更少。由于间隔是从对你何时遗忘的精确预测中推导出来的,而非来自保守的启发式规则,算法不会无谓地填充调度空间。对你来说真正稳定的条目获得长间隔,真正脆弱的条目获得短间隔。这一净效果在数月学习的大型卡组中可以相当可观:以明显更少的复习时间达到相同的记忆保留水平。
对于任何学习大量材料的人——一门语言、一个专业领域、一门学术课程——这种效率的积累意味着节省出来的时间和真正在关键时刻得以保留的知识。
你的掌握趋势和跨书复习队列在 LearnBook 仪表盘中一目了然——这是一幅关于你正在学习的每个来源的记忆状态的实时画面,全部由上述同一个 FSRS 模型进行调度。
SM-2 驱动闪卡学习数十年,但 FSRS 能适应你的真实记忆。本文对比两者差异及其对学习效率的影响。