FSRS vs SM-2:核心差異、取捨與切換建議

5月 12, 2026

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