2026 年 FSRS vs SM-2:哪种间隔重复算法更能帮你记住内容?

一款 flashcards app 大概可以“显得很聪明”持续一周左右。接着,简单卡开始回来得太频繁,难卡又会莫名其妙消失很久,整件事渐渐从学习变成了管理工作。

这通常不是设计问题。

而是排程器问题。

很多年来,这个类别里的默认答案一直是某种版本的 SM-2。它简单、知名,而且已经足够证明间隔重复是有效的。

我并不觉得 SM-2 很差。

我只是觉得它老了。

所以,2026 年更有意义的问题已经不是“间隔重复有没有用”。这件事当然有用。真正的问题是:你的 flashcards app 所使用的排程器,是否还配得上继续当默认值。

为什么 SM-2 能活这么久

SM-2 的地位不是白来的。

它足够容易理解,足够容易实现,也足够有名,因此很多 flashcards 产品都直接继承了它,而不需要重新思考太多。很长一段时间里,这就够了。

而且公平地说,它现在也依旧比随机复习时间或固定间隔强得多。

问题在于,“比随机好”对于一个严肃的学习工具来说,并不是一个很高的标准。

如果一个产品建立在“卡片具体什么时候回来真的很重要”这个前提上,那么排程器就不是什么后端小细节。它就是产品本身。

FSRS 改变了什么

FSRS 针对的是同样的目标,但使用了更好的记忆模型。

它不是依赖较粗糙的 ease 风格方法,而是会跟踪这些信息:

  • stability
  • difficulty
  • review history
  • target retention

这会让排程器对卡片上真实发生的事情拥有更多上下文。

落到实际体验里,通常意味着:

  • 你已经掌握的卡不会继续浪费你的时间
  • 你掌握得不好的卡会得到更合理的调整
  • 整个复习队列没有那么任意了

这正是学习者能感受到的部分,即使他们根本不想读任何公式。

你真正能感觉到的差异

大多数人不会通过看公式去比较 FSRS vs SM-2

他们会在几周后从体感上知道区别。

用比较弱的排程器时,简单卡会频繁到让人烦,难卡又会在尴尬的时间回来。整个队列会一直让人隐约觉得不太对,而这是一种非常高效的方式,会让日常复习变得不那么愉快。

这种摩擦,比很多人承认的重要得多。

Flashcards 本质上是一种习惯型产品。如果复习流程感觉比它本该有的更沉重,你损失的不只是效率,而是会越来越不想明天再打开这个 app。

所以这并不是什么只属于学习极客的小众实现细节。它会改变这个产品值不值得你明天再回来。

FSRS 更强的地方在哪里

对于大多数认真学习的人来说,FSRS 在真正重要的事情上表现更好:

  • 把复习工作量控制在合理范围内
  • 朝着具体的 retention 目标来排程
  • 更现实地根据回忆难度调整
  • 避免在你已经掌握的卡上制造额外重复

这也是为什么现在很多人会关注 Anki FSRS。他们并不是因为这个缩写更新了才切换,而是因为一旦队列变大、错误时机变得明显,排程体验确实会更好。

SM-2 现在还活着的唯一理由

SM-2 更容易解释。

如果你在做一个很小的原型、讲解间隔重复的概念,或者做一个非常轻量的 flashcards 小玩具,更简单的逻辑确实有吸引力。

这是它在简单系统里继续存在的合理理由。

但如果已经有更好的排程器可用,这并不足以成为一个严肃 flashcards app 仍然把它当长期默认值的强理由。

无聊的实现细节,比缩写本身更重要

这也是很多比较文章会跳过的部分。

“我们用了 FSRS” 并不会自动让一个 flashcards 产品变好。

真正重要的是,实现是否足够认真。

Flashcards 里,FSRS 被当作产品契约,而不只是一个营销标签。排程行为在后端和 iOS app 之间保持镜像。Web app 复用了同样的排程数据契约,但没有再额外做第三套独立的 FSRS 实现。系统会在每张卡上存储隐藏记忆状态,保留显式的 learning 和 relearning steps,支持 workspace 级别的 desired retention、learning steps、relearning steps、maximum interval 和 fuzz 设置,并且在排程时使用真实客户端复习时间 reviewedAtClient

这些听起来像后端细节,但它们恰恰决定了两个客户端给同一张卡排程时,是一致还是逐渐漂移。

一旦排程开始漂移,用户会很快感觉出不对劲,即使他们自己也说不清为什么。

学习者真正该关心什么

如果你在挑选 flashcards 工具,我会少看功能清单,多看一个枯燥但关键的问题:

这张卡到底什么时候回来?而且当我已经做过几百次或几千次复习之后,这个时机看起来还合理吗?

这才是最佳 flashcard 算法真正重要的地方。

不是在理论里。

而是在工作量里。

在 retention 里。

在整个队列到底像帮助,还是像惩罚。

所以,2026 年哪种间隔重复算法更好?

对于大多数真实学习工作流来说,FSRS 是更好的间隔重复算法

SM-2 当然值得肯定,它帮助定义了这个类别。但如果你正在构建现代 app,或者正在选择一个 app,那么现在更有说服力的默认值已经是 FSRS 了。

它给排程器更好的信息、更好的控制,以及更高的概率去匹配真实记忆,而不是停留在一个更粗糙的近似上。

这正是间隔重复的核心目的。

如果你想找一款把排程质量当成核心产品决策、而不是勾选项的 开源 flashcards appFlashcards 正是朝这个方向构建的。

继续阅读