上個月,一位醫學院二年級學生給我發訊息:"我從 SM-2 切換到 FSRS 後,每天的複習量從 240 張卡片降到了 190 張。模擬考試的記憶保持率還是一樣的。有什麼代價嗎?"
沒有代價。FSRS(Free Spaced Repetition Scheduler,自由間隔重複排程器)是自 1988 年 SuperMemo 2 推出以來,間隔重複領域的首次重大演算法突破。但這種差異不是魔法——而是數學與大規模真實使用者資料的結合。
TL;DR
SM-2 使用簡單的倍數系統(標記"簡單"後間隔乘以 2.5 倍)。FSRS 使用基於數百萬次複習訓練的 17 個引數來預測你的實際遺忘曲線。實際效果:在相同記憶保持率下,FSRS 減少 15-25% 的複習量,但需要 200+ 次複習來校準。如果你剛開始使用或成熟卡片少於 1,000 張,堅持用 SM-2。如果你被複習量壓垮且有 3 個月以上的歷史資料,切換到 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)是硬編碼的。
這套系統效果出奇地好。Anki 有 2000 萬用戶在使用 SM-2 的變體。在建立 SmartRecall 之前,我用了 8 年 SM-2。問題不在於 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:
- 檢視該卡片的當前穩定性
- 檢查你在類似穩定性水平下的歷史準確率
- 根據難度、近期複習負荷和距上次複習的時間調整
- 預測四種不同的穩定性結果(再來一次/困難/良好/簡單)
- 安排達到你目標記憶保持率(預設 90%)的間隔
演算法每次同步時都會重新訓練,根據你最新的複習更新那 17 個引數。在 1,000+ 次複習後,它比你自己更瞭解你的遺忘曲線。
來自真實學習者的真實資料
我分析了 340 名從 SM-2 遷移到 FSRS 的 SmartRecall 使用者的複習日誌,他們至少有 5,000 張成熟卡片。
醫學生(USMLE Step 1 備考,n=89)
- 平均每日複習量:287 張(SM-2)→ 223 張(FSRS)
- 練習題記憶保持率:88.4% → 88.1%
- 節省時間:按每張卡片 3 秒計算,每天約 18 分鐘
語言學習者(日語/中文,n=124)
- 平均每日複習量:156 張(SM-2)→ 131 張(FSRS)
- 模擬測試記憶保持率:85.2% → 86.1%
- 節省時間:每天約 12 分鐘
技術學習者(AWS 認證、程式設計面試,n=127)
- 平均每日複習量:198 張(SM-2)→ 164 張(FSRS)
- 自我報告的記憶保持率:"基本相同"
- 節省時間:每天約 14 分鐘
規律很明顯:複習量減少 15-25%,記憶保持率在 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 允許你在不同卡片組上並行執行 SM-2 和 FSRS,這是我在切換整個 12,000 張日語卡片組之前測試演算法的方式。
數學實際做了什麼
不講公式,但這裡是直覺理解:
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、SmartRecall、Mochi)都有一鍵匯出功能。不要從頭開始。
預期前 2 週會有奇怪的間隔
演算法正在校準。有些卡片會得到出乎意料的長間隔,其他的則出乎意料地短。相信這個過程——它在學習你的曲線。
不要手動調整引數
FSRS 有 17 個引數。除非你有心理測量學博士學位,否則讓最佳化器處理。預設值是基於 2000 多萬次複習訓練的。
1 個月後檢查記憶保持率
如果你持續低於目標(例如,你想要 90% 但只有 85%),演算法會自動修正。如果沒有,你可能需要更多複習歷史或更高的記憶保持率目標。
SmartRecall 的 FSRS 實現包含一個校準儀表板,準確顯示演算法相對於你目標記憶保持率的表現,這幫我發現了複習習慣中的一個問題(我晚上覆習時太匆忙,導致準確率下降)。
更大的圖景
SM-2 在 1988 年具有革命性,因為它讓間隔重複變得實用。FSRS 是進化性的——它採用相同的核心洞察(在遺忘前複習),並用現代機器學習最佳化它。
20% 的效率提升並非微不足道。對於每天覆習 250 張卡片的醫學生來說,那是少 50 張卡片——節省 15 分鐘,或者在一個專注學習年中節省 90 小時。那是整整兩週的學習時間。
但效率不是關注的唯一原因。FSRS 讓間隔重複更可持續。長期使用 SRS 的倦怠幾乎總是來自複習過載,而不是方法本身。一個在不犧牲記憶保持率的情況下減少複習的演算法,讓堅持這個系統多年變得更容易。
我在 2024 年 10 月將整個 SmartRecall 卡片組切換到 FSRS。六個月後,我每天覆習 140 張而不是 180 張,日語閱讀理解測試的記憶保持率高了 2 個百分點。演算法不是魔法,但數學有效。
如果你被複習量壓垮且有足夠的歷史資料支援,FSRS 值得遷移的麻煩。如果你剛開始或 SM-2 執行良好,沒有緊迫性。兩種演算法都能讓你達到流利——只是一種用更少的重複次數做到。

