FSRS vs SM-2:算法差异、复习量与 Anki 切换指南
在 Anki 中切换排程算法,可以保留原有的卡片和复习记录。所以,比较 FSRS vs SM-2 时,最值得关注的是两个实际问题:算法如何确定下次复习的日期?这样的复习节奏是否适合你?
对大多数使用兼容客户端的 Anki 用户来说,FSRS 适合用来安排长期复习。它的记忆模型支持明确的回忆成功率目标,也能根据你的复习记录调整参数。这些都是考虑切换的理由,但切换不保证明天的待复习卡片就会减少,也不保证能节省多少比例的时间。
**事实核查日期:**2026 年 9 月 19 日。

先说清楚,我们比较的是哪个 SM-2?
原始 SM-2 算法对回答采用零到五分的评分。连续成功回忆时,前两个复习间隔分别为一天和六天,之后用上一次间隔乘以简易度系数来计算新间隔。这个系数会随回答的评分变化。
Anki 的旧版排程器修改了这一设计。它使用四个回答按钮,允许设置学习步骤,也会对延迟复习作出调整,等等。大家常用“SM-2”来简称这个排程器,但原始公式和 Anki 的实现不能混为一谈。Anki 算法常见问题解释了两者的区别。
FSRS 是 Free Spaced Repetition Scheduler 的缩写,它为每张卡片建立记忆状态模型。难度表示巩固这段记忆的难易程度;稳定性表示记忆能保持多久、衰退有多慢;可提取性则是对你此刻成功回忆概率的估计。优化器根据复习历史拟合模型参数,没有历史记录时也可以使用默认参数进行排程。官方的 FSRS 入门说明和我们的 FSRS 原理介绍详细解释了这个模型。
| 问题 | 原始 SM-2 | Anki 旧版排程器 | FSRS |
|---|---|---|---|
| 什么决定间隔的增长? | 上一次间隔和简易度系数 | 基于简易度的规则,加上 Anki 的调整 | 更新后的记忆状态估计和回忆成功率目标 |
| 会针对单张卡片调整吗? | 会 | 会 | 会 |
| 能直接设置回忆成功率目标吗? | 不能 | 不能 | 能,通过期望记忆保持率设置 |
| 能根据复习历史拟合模型参数吗? | 不能 | 不能 | 能,前提是应用提供优化器 |
两种方法都会根据你的回答作出调整。FSRS 的关键区别是,它把回答结果与遗忘模型、你设定的回忆成功率目标结合起来安排复习。不能仅凭 SM-2 出现得早就否定它,也不能仅凭复习间隔更长就认定排程更好。
现有证据究竟能说明什么
关于 FSRS 的说法往往把三个问题混在一起:它预测回忆成功率有多准确,在模拟中安排复习有多高效,以及真实学习时会发生什么。
评估回忆预测,就是把模型预测的回忆成功概率与后续的复习结果作比较。公开的间隔重复基准测试使用已有复习记录评估模型。看结果时,也要看模型版本和评估条件,包括如何处理同一天内的复习。基准测试表中的研究版本可能与应用运行的版本不同。表中的结果并不来自直接比较 Anki 两种排程器所需学习时间的实验,也不能直接说明你能省多少时间。
还需要弄清这些指标衡量的是什么。对数损失衡量概率预测的表现:模型越有把握却预测错误,损失就越大。校准则检查预测的成功率是否与实际观察到的成功率相符。FSRS 指标说明介绍了这些衡量方式。它们都不直接衡量学习耗时或考试成绩。
复习量模拟是在给定模型和假设下,估计可能需要多少复习。FSRS 概览中有关效率的说法包含模拟结果。这些结果有助于解释选择 FSRS 的理由,但不能据此确定你的卡片集合能减少多少复习量。
你实际用下来的效果,要看回忆成功率、复习时间,以及能否跟上复习进度。待复习卡片减少但遗忘增多,可能只是换了一种取舍。要判断切换是否对你有帮助,应在学习材料和习惯大致可比的情况下,同时观察复习量与回忆表现。
现在应该切换吗?
| 你的情况 | 合理的下一步 |
|---|---|
| 客户端支持 FSRS,而且你希望按回忆成功率目标排程 | 启用 FSRS,逐步过渡 |
| 目前的复习节奏合适,几天后就要考试 | 等考试结束后再尝试新的排程方式 |
| 某台设备上的客户端不兼容 | 先更新该客户端,再切换 |
| 已经忘记答案时,你仍会按 Hard(困难) | 先纠正评分习惯,再判断排程器的效果 |
| 大量导入卡片或漏掉几次复习后,进度已经落后 | 选择排程器的同时,也要控制新增卡片量、处理积压 |
| 你在开发用于教学的小型排程器 | 原始 SM-2 适合讲解基于简易度的间隔规则 |
关于考试和积压的建议属于实践判断,并非排程器对照试验的结论。眼前的问题可能是待学内容已经超出了你的承受范围。针对这一问题,可以先看为什么 Anki 复习会越积越多。
切换时,不必重排整个复习队列
具体设置以 Anki FSRS 手册为准:
- 同步、备份,并检查客户端和排程插件是否兼容。
- 在牌组选项中启用 FSRS。这项开关会对所有预设生效,不只影响一个牌组。
- 用自己的复习历史优化参数。历史不足时可以使用默认参数,不要复制别人的参数。
- 除非有理由调整,否则先使用默认的 90% 期望记忆保持率(Desired retention)。目标越高,复习次数越多。
- 不要开启 Reschedule cards on change(更改时重新排程卡片)。这样,每张卡片会在你复习后按新算法安排下一次复习,不会立即更改所有卡片的到期日期。
我们的 FSRS 设置指南详细介绍了学习步骤、记忆保持率的选择和参数优化。
保持评分一致:Again(重来)表示回忆失败;Hard(困难)表示想起了答案,但比较吃力。按自己实际作答的情况评分,不要因为偏好某个复习间隔而选择按钮。关于只答对一部分的情况,可以参考 Anki 评分指南和我们的 Again 与 Hard 使用指南。
用一张简单的表记录变化
切换前,先记录一个有代表性的星期;如果每周安排差异较大,就多记录几周。切换后继续记录相同的项目。这份记录是为了方便你作决定,并不是对照实验。复制下表,填写最后两列:
| 指标 | 按统一方式记录的内容 | 切换前:日期 ___ | 切换后:日期 ___ |
|---|---|---|---|
| 复习作答次数 | 所有作答,包括同一张卡片的重复作答 | ___ | ___ |
| 复习时间 | 使用相同计时方式记录的分钟数 | ___ | ___ |
| 到期复习的回忆成功率 | 同一组卡片的成功作答次数 / 作答次数;不计入答错后立即重学的作答 | ___ / ___ | ___ / ___ |
| 新卡片 | 实际新增量,包括导入的卡片 | ___ | ___ |
| 逾期复习 | 漏掉复习的天数,以及每周结束时的积压量 | ___ | ___ |
| 其他变化 | 记忆保持率目标、卡片修改、额外学习、评分习惯、中断情况 | ___ | ___ |
在查看结果之前,先确定什么水平的回忆成功率可以接受。例如,记录你能接受的最低回忆成功率,以及每周能够持续投入的复习时间。这些数值是你判断是否适合自己的标准,并不保证排程器一定能达到。
如果新增卡片量减半,待复习卡片减少并不能证明这是 FSRS 带来的效果。如果你改写了表述含糊的题目,回忆表现改善也可能与此有关。记录这些变化,比设法让数字看起来更好更有用。
逐步切换期间,复习队列中会同时存在两种排程器安排的卡片。间隔较长的卡片可能几个月后才会再次出现,因此早期观察主要反映过渡过程。不要仅凭一个轻松的周末就宣布哪种算法胜出。
如果在情况可比的几周里,复习时间下降,回忆成功率仍可接受,你就有实际理由继续使用当前设置。如果回忆成功率低到无法接受,先看看是否漏了复习、卡片质量如何、评分是否准确、目标设置是否合适,再判断变化是否由算法造成。如果耗时一直很高,检查是否由新增内容或逾期积压造成。
你完全可以在 Anki 内选择和使用排程算法。Nibomo 也使用 FSRS;是否换用 Nibomo,则要另看它的制卡、复习和同步流程是否适合你。为了使用 FSRS,你不必迁移卡片集合。