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

一款闪卡应用大概只能“显得很聪明”一周左右。接着,简单卡片回来得太频繁,困难卡片又会莫名其妙地消失很久,整件事也就渐渐从学习变成了管理工作。

这通常不是设计问题。

这是排程器的问题。

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

我并不觉得 SM-2 很差。

我只是觉得它老了。

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

为什么 SM-2 能活这么久

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

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

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

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

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

FSRS 改变了什么

FSRS 追求的是同样的目标,但采用了更好的记忆模型。

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

  • 稳定性
  • 难度
  • 复习历史
  • 目标记忆保持率

这会让排程器对卡片实际发生了什么有更多上下文。

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

  • 你已经掌握的卡片不会继续浪费你的时间
  • 你掌握得不好的卡片会得到更合理的调整
  • 整个复习队列看起来不会那么随意

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

你真正能感觉到的差异

大多数人不会靠看公式来比较 FSRS vs SM-2

他们会在几周之后从实际体验里感受到区别。

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

这种摩擦感的重要性,比很多人愿意承认的还要大。

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

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

FSRS 更强的地方在哪里

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

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

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

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

SM-2 更容易解释。

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

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

但如果已经有更好的排程器可用,这并不足以支撑一个严肃的闪卡应用仍把它当作长期默认值。

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

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

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

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

Flashcards 里,FSRS 被当作产品契约,而不只是一个营销标签。排程行为在后端和 iOS 应用之间保持一致。Web 应用复用了同样的排程数据契约,但没有再额外做第三套独立的 FSRS 实现。系统会在每张卡上存储隐藏的记忆状态,保留显式的学习步骤和重新学习步骤,支持工作区级别的期望记忆保持率、学习步骤、重新学习步骤、最大间隔和 fuzz 设置,并且在排程时使用真实客户端复习时间 reviewedAtClient

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

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

学习者真正该关心什么

如果你在挑选闪卡工具,我会少看功能清单,多看一个听起来枯燥但其实关键的问题:

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

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

不是在理论里。

而是在工作量里。

在记忆保持率里。

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

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

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

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

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

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

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

继续阅读