FSRS vs SM-2:核心差异、取舍与切换建议

2026/05/12

FSRS vs SM-2 的核心区别,是固定公式与显式记忆模型的区别。SM-2 用简易度因子和间隔倍数更新复习时间;FSRS 估算难度、稳定性和可提取性,并朝设定的目标记忆保持率安排下一次复习。

TL;DR
当前版本的 Anki 用户通常应优先使用 FSRS;新卡组可以直接使用默认参数,不必等待固定数量的复习记录。SmartRecall 当前只使用 SM-2,不提供 FSRS 调度或参数优化。

SM-2 的实际工作原理

SuperMemo 2 用三个数字调度卡片:简易度因子(EF)、间隔和重复次数。

当你给卡片评分时:

  • 再来一次(1):间隔重置为 1 天,EF 减少 0.2
  • 困难(2):间隔乘以 1.2,EF 减少 0.15
  • 良好(3):间隔乘以当前 EF(初始值 2.5)
  • 简单(4):间隔乘以 EF × 1.3,EF 增加 0.15

一张你连续三次标记"良好"的卡片会按这样的间隔出现:1 天 → 2.5 天 → 6.25 天 → 15.6 天。EF 会根据你对该特定卡片的历史记录调整,但倍数(2.5、1.2、1.3)是硬编码的。

SM-2 的优势是结构简单、结果容易解释,也便于不同产品正确实现。它的限制是没有显式估算“今天还能否想起这张卡”的概率。

SM-2 的盲区

SM-2 看不到的三种模式:

1. 你的遗忘曲线不是通用的
SM-2 假设每个人的遗忘速度大致相同。一个复习日语汉字的 JLPT N3 考生和一个复习克雷布斯循环中间产物的医学生,他们的记忆保持曲线截然不同。FSRS 从你的复习历史中学习你的曲线。

2. 卡片难度不只是一个数字
SM-2 的简易度因子混淆了"这张卡片有多难"和"我现在掌握得有多好"。一张卡片可能本质上很难(复杂概念),但已经学得很好(高稳定性)。FSRS 将难度(最初学习的难易程度)和稳定性(多久后会遗忘)分开。

3. 情境很重要
一次性复习 50 张卡片,和一天内分五次各复习 10 张卡片,产生的记忆保持效果不同。SM-2 不知道这一点。FSRS 将复习负荷、时段和单次复习时长纳入预测。

FSRS 如何以不同方式调度

FSRS 使用基于你实际复习数据训练的 17 个参数。核心洞察:每张卡片都有两个随时间演变的隐藏属性。

难度(D):这张卡片记忆起来有多难,从 1(极简单)到 10(极困难)。在前几次复习后设定,之后几乎不变。

稳定性(S):多少天后你有 90% 的概率记住它。每次成功回忆时增加,遗忘时减少。

当你复习一张卡片时,FSRS:

  1. 查看该卡片的当前稳定性
  2. 检查你在类似稳定性水平下的历史准确率
  3. 根据难度、近期复习负荷和距上次复习的时间调整
  4. 预测四种不同的稳定性结果(再来一次/困难/良好/简单)
  5. 安排达到你目标记忆保持率(默认 90%)的间隔

算法每次同步时都会重新训练,根据你最新的复习更新那 17 个参数。在 1,000+ 次复习后,它比你自己更了解你的遗忘曲线。

公开基准能说明什么

SRS Benchmark 使用大规模匿名 Anki 复习数据,对比 FSRS、SM-2 和其他模型的预测校准与区分能力。它可以说明模型的预测表现,但不能证明每位学习者都会减少同一个百分比的复习量或节省固定时间。实际结果取决于卡组、目标保持率和复习习惯。

FSRS 表现不佳的情况

FSRS 并非总是更好。SM-2 在三种场景下更胜一筹:

复习次数少于 200 次的新学习者
FSRS 需要数据来校准。对于全新的卡片组,它会回退到保守的默认设置,调度比 SM-2 更激进。第一个月你会做更多复习,直到算法学会你的曲线。

高度不规律的复习计划
如果你周一复习 300 张卡片,周二到周四跳过,然后周五突击 400 张,FSRS 会混乱。它假设有一定的一致性。SM-2 的简单性对混乱更稳健。

多人共享的卡片组
FSRS 针对个人遗忘曲线优化。如果你使用共享卡片组(比如医学院班级卡片组)并希望每个人都按相同进度,SM-2 的一刀切方法实际上是个优势。

迁移决策树

坚持使用 SM-2,如果:

  • 你的成熟卡片(间隔 >21 天)少于 1,000 张
  • 你复习时间不到 3 个月
  • 你的复习计划不可预测(两次复习间隔 3 天以上)
  • 你使用的是他人依赖的共享卡片组

切换到 FSRS,如果:

  • 你每天复习 150+ 张卡片且感到疲惫
  • 你有 6 个月以上的持续复习历史
  • 你优先考虑时间效率而非简单性
  • 你能接受 2-4 周的校准期

在子集上尝试 FSRS,如果:

  • 你好奇但谨慎
  • 你有多个卡片组(在最大/最老的卡片组上测试)
  • 你想在全面投入前获得数据

SmartRecall 不支持 FSRS,也不能在同一卡组中并行运行 SM-2 与 FSRS。需要 FSRS 时,应使用当前版本的 Anki 等明确支持它的工具。

数学实际做了什么

不讲公式,但这里是直觉理解:

SM-2 用倍数思考
"这张卡片上次很简单,所以间隔乘以 2.5。"简单、可预测,但忽略了除最后一次评分外的所有信息。

FSRS 用概率思考
"根据 847 次类似复习,你在 8 天后有 73% 的概率记住这张卡片,在 5 天后有 91% 的概率。你的目标是 90%,所以我会在 5.2 天后安排它。"它在预测你的实际遗忘曲线,而不是套用公式。

差异会累积。10 次复习后,SM-2 可能将一张卡片安排在 180 天后。FSRS 可能安排在 240 天后,因为它知道你对简单卡片的记忆保持时间比普通用户更长。那是 60 天不用复习你本来就会记住的内容。

记忆保持率与复习负荷的权衡

两种算法都允许你调整期望记忆保持率(你希望卡片出现复习时能记住的百分比)。

SM-2 在 90% 记忆保持率下:可预测,但无法针对每张卡片调整权衡。你的简单卡片和困难卡片获得相同的记忆保持率目标。

FSRS 在 90% 记忆保持率下:针对每张卡片调整。简单卡片可能被安排在 92% 记忆保持率(更长间隔),困难卡片在 88%(更短间隔),平均达到你的 90% 目标。你在本来就会记住的卡片上花费更少时间。

实际上,这意味着 FSRS 用户通常可以将目标记忆保持率从 90% 降到 85%,而不会注意到考试表现的差异,因为算法更擅长识别哪些卡片真正需要强化。

我交流过的一位 USMLE 考生以 87% 的记忆保持率运行 FSRS,在 UWorld 题库上仍能得 89% 的分数。"我忘记的卡片是那些即使多复习也会忘记的。"

实施注意事项

如果你要切换:

先导出你的复习历史
FSRS 可以使用 Anki 的既有复习历史优化参数。切换前应先备份卡组,并以当前 Anki 与 FSRS 官方文档为准。

预期前 2 周会有奇怪的间隔
算法正在校准。有些卡片会得到出乎意料的长间隔,其他的则出乎意料地短。相信这个过程——它在学习你的曲线。

不要手动调整参数
FSRS 有 17 个参数。除非你有心理测量学博士学位,否则让优化器处理。默认值是基于 2000 多万次复习训练的。

1 个月后检查记忆保持率
如果你持续低于目标(例如,你想要 90% 但只有 85%),算法会自动修正。如果没有,你可能需要更多复习历史或更高的记忆保持率目标。

SmartRecall 当前没有 FSRS 实现或 FSRS 校准仪表板;它使用 SM-2 安排复习。

更大的图景

SM-2 在 1988 年具有革命性,因为它让间隔重复变得实用。FSRS 是进化性的——它采用相同的核心洞察(在遗忘前复习),并用现代机器学习优化它。

FSRS 的价值在于显式记忆模型、目标保持率和可优化参数,而不是一个适用于所有人的固定省时百分比。选择算法时,应比较自己的实际保持率、复习负荷和使用一致性。

SmartRecall 当前使用 SM-2。需要 FSRS 的用户应选择明确支持 FSRS 的工具;希望把 PDF 或笔记整理成可编辑闪卡的用户,可以评估 SmartRecall 的生成与复习工作流。

Alex Chen

Alex Chen