Glearn方法长文

为什么你背了就忘,而这套系统不一样

从艾宾浩斯到 FSRS:拖三个小实验,看懂记忆是怎么被算出来的

Part 1 · 人会遗忘

上周你背下的那些单词,今天还剩几个?大多数人会发现:明明当时记得清清楚楚,过几天再看, 像从没学过一样。这几乎是每个背单词的人都栽过的跟头——不是你不够努力,是大脑本来就这么运作的

好消息是:遗忘并不随机。一百多年前就有人把它测了出来,发现它遵循一条相当规整的曲线。 先看清这条曲线,后面的一切才好讲。


遗忘是一条能算出来的曲线

1885 年,德国心理学家赫尔曼·艾宾浩斯(Hermann Ebbinghaus)拿自己做了个著名实验: 背下一长串无意义音节,再在不同时间点测自己还记得多少。把结果画出来,是一条先陡后缓的下滑线—— 学完头几个小时掉得最快,之后越来越慢。

100%学完20分钟1小时1天1周1月

不复习时,记得的比例随时间快速下滑(艾宾浩斯遗忘曲线)

这条线后来被叫做「遗忘曲线」。它最重要的启示有两点: ① 遗忘是可以被测量、被预测的; ② 既然能预测,那「一个词什么时候会被忘掉」也就能算——也就能赶在那一刻之前,把它重新捞回来复习。

把这个朴素想法做到极致、还能对每个词、每个人单独建模的,是一套叫 FSRS 的现代算法。 下面我们就从算法本身讲起。


Part 2 · 算法本身

第一步:不复习时,记忆怎么随天数往下掉

决定"什么时候该复习哪个词"的,是一套叫 FSRS(Free Spaced Repetition Scheduler)的现代算法。 它最大的本事,是把记忆变成了可以定量计算的东西。但先别急着看它怎么算—— 我们从你最有体感的一件事说起:不复习,就会忘。

先说 R回忆率(retrievability)。它的意思很直白:如果此刻就考你这个词,你能想起来的概率。 刚复习完 R≈100%(几乎一定记得);随着天数过去,R 一点点往下掉,掉到 50% 就是「一半把握」。R 一路下滑,就是遗忘正在发生。它是个随时间变化的状态,不是死数。

那为什么有的词忘得快、有的忘得慢?FSRS 给每个词配一把「时间标尺」,叫稳定性 S,单位是天, 可以先理解成「这个词的记忆大概能撑多久」。R 怎么随天数往下掉,就这一条公式:

R = ( 1 + 0.23 × t/S )−1/2
  • · t:距上次复习的天数 —— 图里的横轴。
  • · S:记忆的「时间标尺」(天)。注意公式里 tS 总是成对、只看比值 t/S
  • · 代 t=0 → R=100%(刚复习完,满血);t 越大、过得越久,R 越低。

这正好回答一个常见疑问:S 明明是个「天数」,怎么会决定曲线的陡平?因为公式只认 t/S——S 就是这条曲线的时间标尺,它把同一条曲线在时间轴上拉长或压短: S=8 的词,走 8 天 R 掉到 90%;S=80 的词,要走 80 天才掉到 90%——同一条曲线被横向拉长 10 倍, 所以在同样的一段日子里看,S 越大就越平、S 越小就越陡

光说没用,拖一下最直观。拖动 S,看整条曲线被横向拉长(变平)或压短(变陡);拖天数,看 R 顺着曲线往下走,那就是遗忘在发生:

实验 · 拖 S 看曲线

回忆率 R100%35%R = 90%距上次复习的天数(往右=过得越久)S=8 天92%第 6 天

怎么读:橙线就是这个词的「遗忘曲线」,一路下滑=你在慢慢忘; 空心圈是你此刻所在的天数——它左侧标着此刻的 R底部标着第几天。那条虚线画在 R=90%,它和曲线的交点(图中灰色竖标)横坐标正好就是 S可以直接在图里拖:拖橙色圈改天数、拖灰色竖标改 S(也可用下面的滑块)。

此刻还记得 R

92%

稳定性 S

8 天

记忆稳定性 S · 曲线多平8 天
距上次复习几天了 · 决定 R第 6 天

顺带解释图里那条虚线:它画在 R=90% 的高度。你会发现一个规律——不管把 S 调到多少,曲线掉到这条 90% 线,正好都要花 S 天(就是公式里 t=S 时 R 恰好=90%)。 所以 S 有个更顺口的读法:「还能记住九成的天数」——S=7 约一周掉到九成,S=90 能撑三个月。S 越大=记得越牢,它其实就是这个词的「掌握程度」。至于 R,它不用存——随时拿 S 和天数现算就好。

所以你不用自己判断「什么时候该复习」——FSRS 替你算好了。给定 S,它反解出还能等几天 (S 越大、间隔排得越久:S=7 约一周后,S=90 约三个月后),到点自动把这个词放回「今日复习」。 为什么挑这天最划算:太早(还记得很牢)复习几乎没收益,太晚(快忘光)有真忘掉的风险,卡在中间刚好。(这个早晚的松紧可调,见 Part 3。)


第二步:记忆的本质,就是把 S 撑大

既然 S 越大记得越牢,学习的目标其实就一句话:把每个词的 S 一点点撑大。 怎么撑?答案是复习。你在复习里答对一次,S 就会变大;变大多少,由一个「增长系数」决定:

新S = 旧S × 系数
系数 = 1 + 4.7 ×(11−D)难度项× S−0.12 ×(e1.02·(1−R)−1)时机项× 评级加成

(4.7、0.12、1.02 是 FSRS 训练出来的固定系数,不用记。)四个因子相乘,其中时机项难度项摆动最大(各能差约 10 倍)、最该盯;评级加成是你能控的那部分;S−0.12 只是天花板。下面逐个看。

时机项 (e1.02·(1−R)−1):你离遗忘多近

1−R 就是"你忘了多少"。隔得越久、在快忘时答对(R 越低),这一项越大、S 涨得越猛——这正是 FSRS 的核心:在快忘的边缘成功回忆,记忆加固最多。这也解释了为什么"刷"没用:刚答完 R≈100%,这一项几乎为零。

难度 D:这个词对你有多难

公式里的 D 就是难度(difficulty,1–10),表示这个词对你个人有多难。 它在 (11−D) 这一项里起作用:D 越大(词越难),这块越小,S 涨得越慢——难词被难度摁着、涨得慢。 (另一项 S−0.12 只是天花板:已经很稳的词再涨打个折,防止无限膨胀。)

D 只跟你答得怎么样有关,跟 R、跟时间无关——这「答得怎么样」就是 FSRS 的四档评级Again · Hard · Good · Easy,越靠后答得越轻松,下面「评级加成」会细讲)。它分"出生 / 长大"两步:

出生

第一次答这个词时,直接按你答得多好定初值:Easy → D≈3(最简单)、Good → D≈5Again → D≈7(最难)。

长大

之后每答一次按下面这条式子微调——Easy 让 D 降、Again 让 D 升、Good 基本不动

新D = 旧D − 1.46 ×(评级−3)× (10−旧D)/9 ,再轻轻拉回基线
  • · (评级−3) 定方向:Again / Hard → 升,Good → 不变,Easy → 降
  • · (10−旧D)/9 是阻尼:D 越接近上限 10,这次改得越小(渐近逼近,不硬撞)。
  • · 注意式子里没有 R、没有时间——D 只认你答得好不好。

评级加成:你这次答得多好

上面那四档评级里,答对的三档Hard · Good · Easy)各对应一个乘数、直接乘进系数——这就是评级加成Again 那档不乘,另走回落公式:

Easy×3.0Good×1Hard×0.23Again不乘 · 走回落 ↓

同样的时机,Easy 让系数大不少、Hard 砍到约四分之一。 而 Again 压根不在这个系数里——答错走的是另一条「回落」公式(S 往下掉),下一张活图里能看到。

一个容易忽略、但很关键的顺序:算这次复习的新 S 时,用的是「旧 D」; 新 D 是在算完 S 之后才用这次评级更新的。 所以——你这次答出来的 D,要到下一次复习算 S 时才起作用,对本次的 S 没有任何影响。(这是 FSRS 的算法性质:S 公式吃的是旧 D。它和后面 Part 3 才讲的「8 小时节流」是两码事,别混。)

一句话收束:S 这次涨多少 = 看你离遗忘多近(R)、这次答得怎么样(评级)、这词有多难(旧 D),以及它当前已经多稳(S)。 下面把这一切画成两条曲线——复习前 vs 复习后。拖间隔、难度、评级,看这一答把曲线从哪条变成哪条:

实验 · 复习前 vs 复习后

回忆率 R100%25%R 掉到这条线=快忘了距上次复习的天数(往右=过得越久)复习前复习后撑约 5 天撑约 24 天85%8 天后复习

橙色实线=复习前这词当前的遗忘曲线;虚线=复习后会变成的新曲线(第 8 天答题后重新开始)。 两条线末尾各标着它还能撑多少天(就是 S)——一眼看出这一答把 S 顶高了多少。 竖直橙线=你第 8 天回来答题,圈的高度=当时还记得多少(R 85%)。

这次答得怎么样(评级)
间隔:这次等了几天才复习 · 决定 R第 8 天 · R 85%
复习前的难度 D5.0 / 10
复习前的稳定性 S5 天

(同一天反复练习走另一条「短期公式」,幅度小得多——这里只看隔日复习,所以间隔最少 1 天。)

在第 8 天、难度为 5.0 时, 答「Good」让 S5 天涨到 24 天

答对后 S 的增长系数 = 1 + 这些相乘

固定4.7×时机 (1−R)0.16×评级加成1.00×难度 (11−旧D)6.0×天花板 S^−0.120.83×4.76

同一次评级也更新难度 D5.05.0≈ 几乎不变

注意:这个新 D 不影响刚才这次的 S(上面系数里的难度项用的是旧 D 5.0)—— 它要到下一次复习算 S 时才生效。

几个值得一拖的现象:把间隔拉到快忘时(R 低)再答 Easy,复习后那条线明显更平、更靠右——S 大涨; 换成 Again,复习后那条线反而更陡、S 回落,明天它就回来重背。 还有右下角:评级顺手也改了 D,但那个新 D 这次不算数,下次才生效


Part 3 · 我们的适配

以上全是 FSRS 原版算法。下面是我们在它之上做的几个产品化选择—— 把这套数学接到真实的"背单词"流程里。理解了 R / S / D,这些设计就都不再是黑盒。

① 五档熟练度:把 S 翻译成你读得懂的等级

"稳定性 16.3 天"这种数字对你没意义,所以我们把 S 按天数切成五个等级,直接显示成你能读懂的进度。 语言学家 Paul Nation 也说过,词汇掌握不是"会 / 不会"的开关,而是从勉强认得到形成语感的连续过程——这五档正是这条路。

等级稳定性 S含义
生疏不到 1 天还没真正记住
认识1 – 7 天初步记忆痕迹
熟悉7 – 21 天可靠的被动识别
掌握21 – 90 天进入中期记忆
精通90 天以上长期记忆,近乎直觉

两点要记住:① 等级只是 S 的"翻译",不是另一套规则——所以也很难靠猛刷冲上去, 真正升档得靠隔日的成功回忆把 S 喂大。② 等级只看 S,跟难度 D 没关系——D 只在幕后影响 S 涨多快,不直接定你在哪一档。 冲刺备考时,到「熟悉」(S≥7,约一周)通常就够用,精通是留给长期的。

② 三档模式:你唯一需要做的选择

还记得第一步那张图里的横线——"R 掉到这就算快忘了"吗?这条线设在多高,就是 FSRS 唯一暴露给用户的旋钮:目标保持率, 也就是你希望每次复习时还能记住的概率。设得越高,词还很稳时就被调回来考你,记得越牢、但也越累。我们把它做成三档:

🌱

轻松

保持率 85%

间隔更长、更省力

⚖️

标准

保持率 90%

均衡,推荐大多数人

🎯

严格

保持率 95%

复习更勤、记得更牢

它改的只是"下次什么时候考你",不碰你已经攒下的 S 和 D。拖一拖下面这张图就明白—— 同一个词、同一个 S,只切档位,只有那条竖线(下次复习日)在动,S 和等级纹丝不动

实验 · 保持率怎么改间隔

回忆率 R100%35%目标 90% · 到此就该复习距上次复习的天数(往右=过得越久)下次约 10 天后

同一个词、同一条曲线(S 不变),只把目标保持率调高一档,那条竖线(下次复习日)就往移——复习更勤;而 S 和熟练度一点没变。(也可直接拖竖标改 S。)

稳定性 S

10 天

下次复习

约 10 天

熟练度

熟悉

这个词的稳定性 S10 天
目标保持率(唯一的旋钮)下次约 10 天

切换模式只影响之后的复习间隔,已经记牢的词不会因为换挡清零。

③ 你的作答,怎么变成「评级」

FSRS 要的是四档评级,但我们不想让你每次都从四个按钮里挑——那既打断节奏、又容易高估自己。 所以系统先看你实际答得怎么样,自动判一个稳妥的默认,你只在想微调时点一下:

  • 答对 · 默认

    答对默认判「答对」(Good)——凭记忆答对,记忆稳稳上升。不再默认判最高档,免得一次拼对就把这词当成已经很熟(这也是为什么新词答对后落在「认识」而不是一步跳到「熟悉」)。

  • 秒答

    如果这词你不假思索就秒答出来,在结果页点「秒答」上调到 Easy——间隔大幅拉长,少考你几次。

  • 蒙对的

    如果其实是连蒙带猜答对的,点「蒙对的」下调到 Hard——算对,但记忆加固打折、间隔保守,避免蒙中的词被高估。

  • 差一点

    答错时用编辑距离(Levenshtein)判"手滑":差的字母数 ÷ 答案长度 ≤ 1/3,且这个词你已经认识(S≥1)→ 自动判「差一点」(同样是 Hard),不重罚。(新词拼错则一律「没记住」。)

  • 没记住

    新词拼错 / 完全跳过 / 错得离谱 → 判「没记住」,它会留在复习里帮你巩固。

两条铁律:① 我们刻意不看你答题用了多久——打字快慢是手速和设备问题,跟记忆强度无关(所以「秒答」由你自己点,不靠掐表); ② 答错绝不升级。 (这几档对应前面算法的 Again / Hard / Good / Easy:秒答=Easy、答对=Good、蒙对的 / 差一点=Hard、没记住=Again。)

④ 推荐节奏:第一次是测试,之后都是练习

这是我们对难度 D 做的一处特殊处理,也是为什么会有「测试」和「练习」两种说法。 我们给 D 加了个节流:同一个词,D 每 8 小时最多更新一次。

测试

隔了 8 小时以上的那次作答 → 同时校准记忆 S 和难度 D。第一次见这个词、或睡一觉再见,都是测试。

练习

8 小时以内的反复作答 → 只长 S、不动 D。同一天反复练,S 走那条幅度小得多的"短期公式"慢慢累积,D 锁住。

为什么这样不会出问题?还记得 Part 2 那个关键顺序吗——算 S 用的是旧 D。 正因如此,我们把 D 冻住,根本不影响 S 的计算:S 照样能靠练习一点点累积,而 D 不会被你同一天的反复刷给污染。 一句话:S 能靠练习涨,D 刷不动。

别把两件事搞混:Part 2 说的「新 D 要下次才影响 S」是 FSRS 原版的算法顺序(S 吃旧 D); 这里说的「8 小时内根本不更新 D」是我们额外加的节流。前者是算法,后者是我们的产品选择。

说到底,这套系统没有魔法:它只是把"遗忘"这条曲线算清楚,然后在你快忘的那一刻,把词递到你面前。 剩下的,靠你一次次真的记起来。