返回 2026-04-20
📝 其他

间隔重复:初学者指南/常见问题解答Spaced Repetition: Beginner Guide/FAQ

该指南系统介绍了间隔重复(Spaced Repetition)这一高效记忆方法的基本原理与实践策略。详细解释了艾宾浩斯遗忘曲线如何支撑该技术,并推荐Anki、RemNote等主流工具的使用技巧。针对初学者常见疑问如复习频率设置、卡片设计原则和长期坚持方法提供了实用建议。

kqr

间隔重复最好用 Gwern11 的话来介绍:《Spaced Repetition for Efficient Learning》;Branwen;2019 年。在线可查:它是一种

永远不会遗忘、也永远不会让我们遗忘任何我们选择记住之物的机械傀儡。

如果这是一种医疗手段,或是私人教练传授的课程,其定价之高恐怕只有高级政客、大公司 CEO 和硅谷程序员才负担得起。但间隔重复人人可用,每天只需花费十几分钟。本应有更多人使用它,但有些人因对其存在误解而止步。今天,我们就来澄清其中的一些误解。

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

  • 我们将闪卡添加到间隔重复软件中,
  • 软件向我们展示问题面,
  • 我们尝试猜测答案面,然后
  • 告诉软件我们是否答对了。
  • 软件会优先向我们提问那些最容易遗忘的内容,于是我们便再也不会忘记任何东西。这能有多难?但它的运作方式反直觉。人们很容易把精力花在研究不同软件替代品、寻找最优的卡片排序算法,甚至自动从原始材料生成闪卡的方法上。这些全是干扰项。

    刚开始使用间隔重复时,只有一件事需要学习:如何编写优质的闪卡。如果没学会这一点就仓促开始,体验会很糟糕。这是唯一必须掌握的内容;其余都不重要。这就是整个初学者指南:用你想到的第一款软件,任选一种算法,手动编写优质的闪卡。

    编写优质闪卡才是难点。更多细节请参见第一个常见问题。

    常见问题

    在我看来,那些听说过间隔重复却从未尝试,或尝试后放弃的人,往往都抱有极少数几种误解之一。这些误解在私下交流和网络讨论中反复出现。我尝试以问答形式逐一澄清。

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

    它们都足够好。间隔重复包含两个组成部分:主动回忆和遗忘曲线。软件/算法优化的正是遗忘曲线这部分,而所有算法在现有科学认知的误差范围内都能胜任。个体差异(不同使用者之间)远大于算法选择带来的微小差别。

    任选一种算法。使用你软件中的默认设置。或者如果你愿意,也可以用莱特纳系统。任何方法都比完全不做好得多。

    什么是主动回忆?

    主动回忆是指在查看答案前先尝试自己得出答案,并在查看前诚实地判断自己是否答对。这与许多人的做法相反——他们先看答案,然后只要认出来就算作“记得”。认出正确答案并不等于真正记住它。

    你可能会 tempted 说自己记得某张烦人的闪卡,只为把它从复习队列中移除,但当你产生这种冲动时,正确的做法是重写这张闪卡,或彻底取消其复习计划。

    你必须对间隔重复软件如实反馈你对答案的记忆程度,否则它就无法正确地为卡片排序。

    为什么不推荐使用预制卡组?

    如果运用得当,间隔重复能够强化你大脑中的知识图谱。为了在实践中取得成功,这个知识图谱需要围绕并连接到大脑中已有的知识图谱上。预制卡组很少能契合你的大脑结构。相比之下,量身定制自己的卡组,才能更好地融入你的大脑。

    更多细节请参见接下来的几个问题。

    制作闪卡需要耗费精力,我该怎么办?

    没办法!这不是浪费时间,而是值得投入的时间。据我估计,我从间隔重复中获得的近三分之一的好处,仅仅来自于制作卡片这一行为本身。因此,这项活动占用间隔重复总时间的四分之一是完全合理的。

    试图通过自动化卡片制作来节省四分之一的时间,听起来像是个快捷技巧,但如果同时也损失了三分之一的好处,那又有什么意义呢?

    我为什么要手动编写闪卡?

    用户常常抱怨制作闪卡需要耗费精力,并由此得出结论:问题在于(引用一位用户的话)

    感觉如果我努力把闪卡做得足够原子化,等到做完的时候,我已经内化了那个概念,短时间内不会忘记。这让我对整个流程望而却步。

    这其实是优点,而不是缺陷!这正是间隔重复如何支持理解而不仅仅是记忆的一部分机制。

    间隔重复如何超越单纯记忆,进而构建理解?

    关于某个主题的优秀闪卡组会从多个角度探究该主题。可以制作询问以下内容的卡片:

  • 该事物的属性,
  • 该事物与相关事物的异同,
  • 该事物的实例,
  • 该事物的推论或影响,
  • 该事物的历史,
  • 该事物为何重要,
  • 将该事物分解为其组成部分,
  • 该事物所归属的更宏观现象,
  • 该事物的变体,
  • 等等。
  • 在制作优质闪卡时,你被迫明确提出这些问题。这些问题有助于即时理解,而闪卡则使这种理解得以长期保持。

    另一种理解方式是:你并非在使用间隔重复来逐字记忆原始材料,而是在用它构建大脑中的知识图谱。使用预制闪卡组会阻碍你以一种能与个人大脑中已有概念良好连接的形式创建这一知识图谱。

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

    在学习过程中,更有意义的练习会带来更快的学习效果。闪卡本身并不构成有意义的练习。花在间隔重复上的时间,就是没有花在有意义练习上的时间。

    但想想有意义练习期间会发生什么:如果我们不做间隔重复,就不得不随时查阅基础知识,而这会占用有意义练习的时间!因此,记忆基础知识是一种让有意义练习更高效的技术手段。

    话虽如此,这仍是一个复杂的权衡:我们应该在记忆基础概念上花多少时间,相比之下又该花多少时间进行实践?我没有确切答案,但

  • 我很少后悔在基础知识上多花一点时间。
  • 同事们更常注意到的是,当我花更多时间打基础时,我学东西的速度反而更快。
  • 当我压力过大而无法静心学习基础时,往往最终会卡住,不得不回头重新学习这些基础内容。
  • 我的经验表明,在我们的(软件)产品开发文化中,记忆基础知识的价值被严重低估了。

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

    两者兼有!我以前以为它只适用于长期目标,但当我临时接手一些从未接触过的技术项目时(比如 PowerShell),我通过快速阅读一本基础书籍并从中制作闪卡,取得了不错的效果。听起来这比直接上手要慢,但出乎意料的是,这实际上是一种非常快速掌握新技术、达到入门水平的方法。

    项目结束后,我会取消这些闪卡的复习计划,让自己再次遗忘。

    一次闪卡复习应该持续多久?

    看你的情况而定。我设置的是每次最多15张闪卡或5分钟,以先到者为准。通常只需2–3分钟,我一般会连续做几轮。关键在于,我每次只承诺完成15张闪卡或五分钟——无论积压多少内容,这个量都是可控的。

    如果我漏掉了复习,导致积压了大量闪卡,该怎么办?

    继续像没有积压那样正常复习。间隔重复中最重要的是制作优质的闪卡,其次是主动回忆。这两点都不会因积压的数量而受影响。当然,有积压意味着你无法按最优节奏复习,但这并不严重。软件仍会优先呈现最重要、最紧急的闪卡,这就足够了。

    看到积压了1700多张闪卡确实令人沮丧,但正如任何值得养成的习惯一样,关键不在于每天严格坚持,而在于一旦中断后能 diligently 恢复练习。

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

    制作更好的闪卡。

    好吧,这可能不是你的问题。但在绝大多数情况下确实是,所以你很可能在如何制作优质闪卡方面遗漏了某些要点。

    当你制作的闪卡覆盖了对自己真正重要的主题时,整个过程应该是顺畅且富有成就感的;最多几个月后,你就会在生活中感受到实际的好处。感受到收益所需的时间取决于你通过闪卡学习的内容类型。如果你主要用它来记忆那些不常用但关键时刻很重要的知识,那么可能需要更长时间才能意识到它的效果。

    我应该把哪些内容做成闪卡?

    Gwern 从经济学角度分析过这个问题,并估算出5分钟这个阈值:如果你一辈子因需要查找某事或不知道它而浪费的时间超过五分钟,就值得将其记住。

    我也读到过另一种观点,认为这不仅关乎节省时间,还涉及时间成本的重新安排:

    问问自己:在可能不方便的时候(比如 busy work day 中途)不得不去查找它的代价,是否大于在计划内的空闲时间(比如吃晚饭时或通勤路上)花时间记忆它的代价?

    从这个角度看,即使你查找某事所花的时间少于五分钟,只要通常需要在 inconvenient times 查找,就 still 值得做成闪卡。

    如果感觉我是在 memorizing the cards 而不是理解概念,该怎么办?

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

    有些人似乎认为,闪卡一旦写好就一成不变了。其实不然——请放心地把你的闪卡集当作你知识图谱的活体集合。随时更新它们,想改就改。拆分、合并、删除、重写,只要能让它们更适合你就行。

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

    用处多着呢!以下是我闪卡集中的一些例子,但实际应用远不止这些。

  • 软件开发 典型的 POSIX shell 脚本错误 领域驱动设计(Domain-driven design)的概念与思想 常用的 Haskell 库及其最重要的组成部分 这之前写的是 .NET 库,但后来我换工作到了一家 Haskell 公司,于是就把很多 .NET 库的卡片移出了复习计划。如果以后有机会再去 .NET 环境工作,我会把它们重新加回来。 TCP 网络相关的细节 软件开发的科学研究结果
  • 硬件与软件 开发环境中那些功能强大但很少用到、需要时却很有用的功能 Netcat 的一些非常有助于故障排查但同样很少用到的调用方式 HP-12C 金融计算器的现金流约定 你所驾驶汽车中各种指示灯、警告和符号的含义
  • 数学 如何用标准库完成那些通常依赖第三方库才能实现的操作 如何从几种常见分布中生成随机数 线性代数中的恒等式 概率论中的极限法则 以10为底的对数
  • 人际互动 北约使用的音标字母及其本地变体 谈判技巧 从环境或互动中观察并提取细节的方法 传记中有启发性的细节 科学哲学术语
  • 组织 排队论中的思想及其应用场景 各类创新产品的历史 精益生产中应对流程波动的技术 决策协议,如正式共识和罗伯特议事规则(Robert’s Rules) 自由职业咨询的建议
  • 费米营养素,即数量级参考点,可用于组合提升其他估算的准确性。
  • 其中一些内容初看可能不太合理,比如我们为什么要关心创新产品的历史?但我喜欢与有经验的人共事的一点是,他们常常能说:“对,这就像那次 X 的情况”,然后讲述一段过往经历。我也想成为这样的人,只可惜我太年轻,没什么自己的故事可讲。但我或许可以学着讲述别人的故事,并以此提升自己的专业能力。

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