AnkiDroid 中文文档 下载 App

SM2 与 FSRS —— AnkiDroid 背后的两种间隔重复算法

SM2:间隔重复的经典实现

Anki 最早的调度器基于波兰学者 Piotr Woźniak 在 1987 年提出的 SuperMemo 2 算法(简称 SM-2)。SM-2 定义了一套初始间隔和递增倍率:

  1. 卡片第一次被答对(Good)后,初始间隔通常从 1 天开始
  2. 每次答对,间隔乘以一个倍率(默认约 2.5)
  3. 答 Again(不会)时,间隔重置回一个很小的值(比如 10 分钟)
  4. 答 Hard 时倍率调低,答 Easy 时倍率调高

SM-2 的优点是简单、可预测,所有参数都在牌组选项里明文可调。Anki 把这套逻辑工程化后,数百万用户已经用它记了十几亿张卡片。

FSRS:新一代调度器

2023 年起,Anki 引入了基于 DSR(Difficulty-Stability Retrievability)模型的 FSRS 算法。FSRS 和 SM2 最大的区别是:它不再只看"上次间隔 × 倍率",而是给每张卡片维护两个状态变量:

FSRS 用大量用户真实数据训练了一套参数,根据你对每张卡的每次评分动态更新这两个变量,预测准确性比 SM2 更高——官方数据显示在相同的学习量下,FSRS 能把卡片的 retention 率提升约 10~20%。

在 AnkiDroid 里怎么选

AnkiDroid 的算法选择是和牌组(Deck)绑定的,不是全局开关。每个牌组的「牌组选项」里有一个「调度器」字段:

切换算法不影响已有的复习记录(卡片的学习历史仍然完整),但切换后的新卡片会用新算法排期。建议:

算法选项在哪里调

AnkiDroid 里的算法参数入口在:

牌组列表 → 长按某个牌组 → 牌组选项 → 学习组 / 复习组

这里能看到 SM2 的「新卡初始间隔」「学习步骤」「毕业间隔倍率」等经典参数。如果这个牌组已经启用了 FSRS,这些参数会变成 FSRS 专用的「最大间隔」「毕业难度」等。

注意:AnkiDroid 的「牌组选项」能调的参数比桌面版 Anki 略少。更精细的参数(比如模板、笔记类型)建议在桌面版上调整后再同步到手机。

延伸阅读