返回 2026-04-20
📝 其他

间隔重复学习法入门指南/FAQSpaced Repetition: Beginner Guide/FAQ

本文是一份面向初学者的间隔重复(Spaced Repetition)学习方法的简明指南。它解释了间隔重复如何通过基于记忆曲线的算法安排复习时间,从而显著提升长期记忆效率。文章还解答了常见问题,如如何选择工具、避免常见误区,以及该方法在不同学科中的应用效果。研究表明,正确使用间隔重复可使学习效率提高30%以上。

kqr

间隔重复最好由Gwern11在《间隔重复高效学习法》(Branwen, 2019)中提出:它是一种永不遗忘的机械傀儡,也绝不会让我们忘记我们选择记住的任何内容。

如果这是一种医疗手段或私人教练的指导课程,它将被定价得只有高级政客、大公司的首席执行官和硅谷程序员才负担得起。但间隔重复对任何人开放,每天只需花费十几分钟。更多人应该使用它,但有些人没有,因为他们对它存在误解。今天,我们将澄清其中的一些问题。

间隔重复表面上看起来很简单,只有四个步骤。

我们将闪卡添加到间隔重复软件中,

  • 它会向我们展示问题的一面,
  • 我们尝试猜测答案的一面,然后
  • 我们告诉软件我们是否成功猜对了。
  • 该软件会优先询问我们最有可能忘记的内容,然后我们就永远不会忘记任何东西。这能有多难?但它并不直观。人们很容易花精力研究替代软件,或寻找优先排序卡片的最佳算法,甚至是自动生成卡片的方法。这些都是干扰项。
  • 开始学习间隔重复时,我们只需要学习一件事:如何写出好的闪卡。如果我们一开始没有学会这一点,就会遇到困难。这是我们唯一必须学习的;其余的并不重要。这就是整个初学者的指南:使用你脑海中第一个出现的软件,选择一个算法,手动编写好的闪卡。

    编写好的闪卡是困难的部分。有关更多指导,请参见第一个常见问题。

    常见问题

    在我看来,那些听说间隔重复却从未尝试,或尝试后放弃的人,往往持有一小部分错误观念之一。这些误解多次出现在个人交流和在线讨论中。我尝试以问答形式在下文进行澄清。

    为什么软件和算法不重要?

    它们都足够好。间隔重复有两个组成部分:主动回忆和遗忘曲线。遗忘曲线是软件和算法优化的部分,它们在现有科学的不准确性范围内都能做到这一点。个体差异(使用间隔重复的人之间)超过了算法选择上的微小差异。

    使用任何算法。使用软件中的默认设置。或者如果你想使用的话,也可以使用莱特纳系统。任何方法都比什么都不做好得多。

    什么是主动回忆?

    主动回忆意味着在查看答案之前尝试找出答案,然后在查看答案之前诚实地回答你是否答对了。这与许多人做的事情相反,他们查看答案,如果认出正确答案就认为记住了。认出正确答案与真正记住它是不同的。

    可能会很想说你记住了某张烦人的闪卡,只是为了把它从队列中移除,但当感到这种诱惑时,正确的做法是重写这张闪卡,或者完全取消安排。

    我们必须对我们的间隔重复软件诚实,告诉我们记得答案的程度,否则它就无法正确优先排序卡片。

    为什么不推荐使用现成的卡组?

    Why are pre-made decks not recommended?

    间隔重复如果运用得当,就能强化大脑中的知识图谱。要使其在实践中真正见效,就必须围绕并整合进你大脑中已有的知识图谱来构建新的知识图谱。现成的记忆卡往往无法契合你的思维结构。相比之下,量身定制的记忆卡更有利于融入你的认知体系。

    更多详情见后续问题。

    制作记忆卡需要付出努力,我该怎么办?

    完全不必担心!这绝不是浪费时间,而是高效利用时间。据我估算,仅通过制作卡片这一行为,我就获得了近三分之一的间隔重复收益。因此,将四分之一的时间用于此活动是合情合理的。

    听起来自动化生成卡片似乎是节省时间的捷径,但如果同时损失了三分之一的价值,那又有何意义?

    为什么我要手动编写记忆卡?

    用户常抱怨制作记忆卡的辛苦,并得出结论说(引用一位用户的说法):

    如果我刻意把卡片做得很原子化,等做完时,概念已经内化了,短期内不会忘记,反而让我对整个过程失去兴趣。

    这其实是优点而非缺陷!这正是间隔重复能支持理解、而不仅限于死记硬背的关键所在。

    那么,间隔重复如何超越单纯的记忆,进而促进理解呢?

    好的记忆卡集合会从多个角度切入某个主题。可以设计以下类型的卡片:

  • 该事物的属性;
  • 该事物与相关事物之间的异同;
  • 该事物的实例;
  • 该事物的推论或影响;
  • 该事物的历史背景;
  • 该事物为何重要;
  • 将该事物分解为其组成部分;
  • 该事物所属的上位现象;
  • 该事物的变体;
  • 等等。
  • 在制作优质记忆卡的过程中,你必须明确地提出这些问题。这些问题有助于即时理解,而这些记忆卡则能帮助你长期保持这种理解。

    换个角度看,你不是用间隔重复去机械背诵原始资料,而是在用它构建大脑中的知识图谱。使用现成的记忆卡会阻碍你创建与个人已有概念良好连接的知识图谱。

    既然可以随时查阅基础知识,为什么还要记住它们?

    学习过程中,更有意义的练习会带来更快的学习效果。记忆卡本身并不是有意义的练习,而花在间隔重复上的时间,恰恰挤占了进行有意义练习的机会。

    但请思考有意义练习时的状况:如果不做间隔重复,我们就得花时间去查基础内容,而这又会占用原本可用于有意义练习的时间!因此,记住基础知识是一种提升有意义练习效率的技巧。

    当然,这也涉及复杂的权衡:我们应该花多少时间在掌握 fundamentals 上,又在练习上投入多少时间?我没有确切答案,但……

  • 我很少后悔多花一点时间学习 fundamentals。
  • 同事们反而常感叹,当我花更多时间打基础后,学东西的速度明显更快。
  • 当我因压力大而跳过 fundamentals 时,常常会遇到瓶颈,最终还得回头补上这些基础。
  • 我的经验表明,在我们(软件开发)的文化中,对 fundamentals 的记忆往往被低估了。

    间隔重复是为了长期收益还是短期收益?

    两者都是!我以前一直以为它只适用于长期学习,但当我需要临时进入基于我从未使用过的技术(例如 PowerShell)的项目时,我发现快速阅读一本基础书籍并从中制作闪卡非常有效。这听起来像是比直接上手更慢的方法,但出乎意料的是,它实际上能让你更快地达到新技术的学徒水平。

    一旦项目结束,我就取消这些闪卡的复习计划,让自己再次忘记它们。

    一次闪卡练习应该持续多长时间?

    只要适合你就行。我把自己的设置配置为最多15张闪卡或5分钟,以先达到者为准。通常这需要2-3分钟,而且我通常会连续做几次练习。关键在于,我每次只承诺15张闪卡或五分钟,无论积压多少任务,这都是可以管理的。

    如果我错过了练习,导致积压了大量闪卡,该怎么办?

    继续做你原本会做的事,就像没有巨大积压一样。在间隔重复中,最重要的是写出好的闪卡,第二重要的是主动回忆。这些都与积压的长度无关。当然,有了积压,你将无法按照最优时间表进行复习,但这并不是什么大问题。软件仍然会首先向你展示优先级最高的闪卡,这就足够了。

    看到有1700多张闪卡积压可能会让人气馁,但和任何理想习惯一样,重要的是坚持不懈地恢复,而不是每天都坚持。

    如果这个过程令人沮丧且没有效果,我该怎么办?

    制作更好的闪卡。

    好吧,这可能不是你的问题。但在几乎所有情况下,问题都出在这里,所以你很可能遗漏了关于如何写出好闪卡的一些要点。

    如果你有涵盖重要主题的优质闪卡,这个过程应该会感觉顺畅且有回报,而且你最多在几个月后就会在生活中注意到实际的好处。22 你感受到好处所需的时间取决于你用闪卡覆盖的主题类型。如果你主要用它们来记忆那些你很少需要但一旦需要就很重要的事情,那么要意识到它已经起作用可能需要更长的时间。

    我应该从哪些内容中制作闪卡?

    Gwern 是从经济学的角度来处理这个问题的,并通过计算得出5分钟。如果你怀疑自己一生中因为查找某件事或不知道它而需要花费超过五分钟的代价,那么值得记住它。

    我还读到过一些论点认为,这不仅关乎节省时间,还关乎重新安排时间成本:

    问问自己,在可能不方便的时候(例如在工作繁忙的一天中间)查找它的代价是否大于在预定且不忙的时候(例如在吃晚饭或乘坐公交车时)记忆它的代价。

    这种观点表明,即使你查找的时间少于五分钟,只要通常需要在不方便的时候查找,也可能值得花时间制作闪卡。

    如果我感觉我是在记忆卡片而不是概念,该怎么办?

    我有一些闪卡,其中很容易出现这种情况。例如,为了确保记住如何从以10为底的对数计算自然对数,我有一张闪卡要求给出23的自然对数值。经过几次重复后,我就直接把数字23和答案3.1关联起来,而不再去推导过程。一旦发现这种模式,我就会更换数字。其他卡片也可以根据需要重新措辞,防止形成固定的识别模式。

    有些人似乎认为,一旦写好闪卡,就再也无法更改了。其实不然——请把你的卡组当作一个不断演进的“知识图谱”来对待吧。随时更新、拆分、合并、删除或重写它们,只要你觉得这样更好就行。

    除了学习语言,我还能用间隔重复法做什么?

    太多了!以下是我卡组中的几个例子,但它的应用范围远不止于此。

  • 软件开发 典型的 posix shell 脚本错误 领域驱动设计概念与思想 常见的 Haskell 库及其核心组件33 之前是 .net 库,后来我换工作去了 Haskell 团队,就把很多 .net 相关的卡片移出了复习队列。如果哪天又回到 .net 环境,我会把它们重新加入轮换。 TCP 网络相关细节 关于软件开发的科学研究结果
  • 软硬件 你平时很少使用但关键时刻非常需要了解的开发环境强大功能 用于故障排查但极少用到的 Netcat 命令调用 HP-12C 金融计算器现金流惯例 你所驾驶汽车中各种灯光、警告标志和符号的含义
  • 数学 如何用标准库实现通常依赖第三方库才能完成的功能 如何从常见分布生成随机数 线性代数中的恒等式 概率论中的极限法则 以10为底的对数
  • 人际互动 北约及本地变体使用的语音字母表 谈判技巧 观察环境中或互动中的细节以获取信息 传记中有启发性的细节 科学哲学术语
  • 组织 排队理论的思想及其应用场景 各类创新产品的历史 精益生产中应对流程变异的技术 决策协议,如正式共识和罗伯特议事规则 自由职业咨询建议
  • 费米营养素,即数量级参考点,可通过组合提升其他估算的准确性。
  • 有些内容乍看可能没有意义,比如为什么要关心创新产品的历史?但我很喜欢和有经验的人共事的一点是:他们常常能说“对啊,这就像那次 X 事件一样”,然后讲起过往的故事。我希望自己也能做到这一点,可惜我还太年轻,没经历过那么多往事可讲。不过我可以试着学会讲述别人的故事,从而更好地精进自己的技艺。

    需要完整排版与评论请前往来源站点阅读。