# anki经验万字合集|比较anki supermemo|解决anki碎片化、间隔过长、卡片积压

By [泡沫12345](https://paragraph.com/@12345-5) · 2024-09-03

---

anki经验万字合集|比较anki supermemo|解决anki碎片化、间隔过长、卡片积压 - 十五的文章 - 知乎 [https://zhuanlan.zhihu.com/p/270135184](https://zhuanlan.zhihu.com/p/270135184)

第30次更新，添加了目录

文章内容较多，是我用anki学习考研数学的实战心得，超10000字，主要回答了以下7个问题，附带anki插件推荐和anki参数设置。

1.  anki复习过于简单的知识时，容易看似记住却难以迁移运用，该怎么办？
    
2.  anki碎片化的复习方式，难以形成系统化的知识体系，该怎么办？
    
3.  anki用牌组分类卡片，存在明显不利于聚合卡片的缺点，该怎么办？
    
4.  anki的复习受SM2算法影响，前期大量卡片积压，影响复习的心理压力，该怎么办？
    
5.  anki的复习受SM2算法影响，后期卡片间隔无限增长，显然不利于巩固知识，不利于长期复习，该怎么办？
    
6.  该不该选择supermemo？
    
7.  该不该选择anki？
    

**anki的核心问题**
-------------

1.  **怎样用好anki?**
    

使用anki关键在于利用好他的**回顾算法**、**插件特性**，最重要的是养成**正确的刷卡习惯**。

### **正确的刷卡习惯是啥？**

先说说**错误的刷卡习惯**:

利用机械记忆刷卡，看到卡片有个印象，以为自己懂了就过了。

如果你刷卡刷那么快，还不如把这些卡移出去，做一个表格[一目十行](https://zhida.zhihu.com/search?q=%E4%B8%80%E7%9B%AE%E5%8D%81%E8%A1%8C&zhida_source=entity&is_preview=1)懂的打钩，不懂的继续循环，岂不美哉。

像记单词这种简单知识，做一个表格自己打钩就够了。

我个人觉得，机械记忆刷卡，既没学到东西，也没巩固记忆，留着只能增添一些虚假的成就感而已。

机械记忆非常浅层，哪怕是背住了单词，也难以迁移运用，因为是机械的，原子化的，而迁移知识是需要融会贯通的，形成体系的，并且在解决问题的时候，我们脑中会根据已有知识网络形成搜索路线，原子化的机械记忆是无法加入这些搜索路线的，因为他们缺乏有效的联系，从而无法被我们以搜索知识体系的形式提取出来，这种记忆是无效的。

错误的刷卡习惯会让你把anki当做任务去应付，这容易导致你急功近利，其实并没有真正掌握知识， 却以为自己刷完就是掌握了。**这里我希望你宁可暂停复习，也不要应付地去刷卡片，要对自己的每一张卡片负责。**

群友曾提供过一个案例，有一位英语学习者在anki上刷了两万张单词卡片，刷得他十分地疲倦，甚至刷到他放弃使用anki，但他背的那些单词也没有完全被内化吸收，显然在复习中他出现了某种差错，没有得到预想的结果，这就是机械刷卡导致的无效记忆。

**真正掌握技能需要刻意练习**

在《刻意练习》这本书里，就提到了 刻意练习 的四个基本的，有目的性的特征

有目的的练习具有定义明确的特定目标。

有目的的练习是专注的。

有目的的练习包含反馈。

有目的的练习需要走出舒适区。

所以快速刷卡不加反馈，并不是一种良好的刻意练习行为，相反他容易将你导入一个自以为学会了的舒适区。

**真正掌握技能需要主动回忆**

主动回忆的概念总是伴随着[间隔重复](https://zhida.zhihu.com/search?q=%E9%97%B4%E9%9A%94%E9%87%8D%E5%A4%8D&zhida_source=entity&is_preview=1)而出现，但人们对这个概念的理解好像没有对间隔重复的理解那么准确或深刻，常常是以间隔重复+被动回忆来操作anki。

**主动回忆**和**被动回忆**的差别：

**主动回忆具有创造性** 你看过卡片的问题一侧后，能根据问题侧的提示，从无到有地 **创造** 出回忆材料，你能感受到自己的大脑在主动思考，运作，将涉及的概念组合拼接，将材料重新从回忆中提取加工和复原重构，而不是简单的重现。

**主动回忆需要结构化的材料** ，对于单个单词的机械记忆你是没法主动回忆的，但是如果你背一句例句，那就有结构化的材料了，因为为了表达一句例句，他至少分语法，词汇，语义三块，语法有语法结构，词汇有拼写阶段，语义需要你自己调度组织。

这里我们有一点点背离间隔重复的原则，即间隔重复认为卡片内容应尽可能简单，而我却强调卡片的内容必须要有结构感才容易唤起主动回忆，简单化和结构化通常是矛盾的，这里的分寸的拿捏标准，我认为是在3~5个动词内能讲清楚的知识，都是允许写在一张卡上的。

**主动回忆的过程是痛苦的** ，我相信真正理解主动回忆的人并不多，在缺乏**刻意练习** 的情况下，我们是没法保证自己的每一次回忆都是主动的，因为主动回忆执行起来天生就很困难，我们的大脑总是想着偷懒，走捷径。

你一定也有这种体会，心中有两个小人在战斗，这张卡片到底要花多大的力气去记忆？记个大概还是全部细节都记住？这些想法看似在判断，其实是大脑在面对困难时不由自主地迟疑，迟疑的原因是大脑想懒惰，而提高刷卡速度则是懒惰的一个很好的借口。

**被动回忆是印象化的** 被动回忆仅仅根据问题的提示搜索出一个印象，并没有对印象加工输出，学习者像机器一样单纯输入输出。

如果在间隔重复学习中不采用主动回忆方法，那么取得的效果可能会有欺骗性，或难以迁移运用，比如单词，你可能会背，但不会用，还可能在陌生文本中认不出，而运用主动回忆进行记忆提取，就能在回忆时就做到运用这个知识，从而增加知识迁移的可能性。

与 **主动回忆** 类似的概念还有 **费曼学习法** ，前面我讲的东西你若不理解，你按照费曼学习法来刷卡片也可以，他们都强调自己的主动性。

**所以正确的刷卡习惯就是**

反过来，认认真真对待每一张卡片，手写或者思考卡片的答题过程，

按照**zettelkasten**或**卢曼笔记**的核心观点，我们应该**把笔记当做你在笔谈的一个知己**，让卡片持续地生长。

同样，按照《刻意练习》的观点，刻意练习除了有目的性之外，你每次练习还得加以记录和总结，这样能创造新的不同的[心理表征](https://zhida.zhihu.com/search?q=%E5%BF%83%E7%90%86%E8%A1%A8%E5%BE%81&zhida_source=entity&is_preview=1)与问题对应，大量的对应的心理表征会自发形成结构，从而深化你对这个问题的概念和印象。

所以最好每次回顾时，都能更新卡片描述，写下本次学习的体会和反馈，也可以附上一些相关的知识点，增加联系，可以更有效地帮助提取记忆。

当然也可以自己另用一套[笔记软件](https://zhida.zhihu.com/search?q=%E7%AC%94%E8%AE%B0%E8%BD%AF%E4%BB%B6&zhida_source=entity&is_preview=1)专门对应每个卡片ID写追加反馈，比如用roamresearch或dynalist，幕布，wolai都行。这样回顾anki卡片的时候，去外部笔记软件中搜索对应的卡片ID看看上次的做题记录，有一种**思维接续**的感觉，能知道自己上一次做题想到了什么地步，需要改进哪里再继续做题。

当然如果你实在没什么好补充的，可以不写，也可以定期写如每周写一次，甚至还能只在有感而发时去补充，总之不必强迫自己形式主义，否则就南辕北辙了，请结合实际情况灵活看待我的内容。

截图

直接将复习笔记记在卡片中，好处是记录方便，坏处是编辑麻烦，要么只能截图。

使用外部软件记录复习笔记，好处是编辑灵活，坏处是频繁切换界面有割裂感和不适感。

![](https://storage.googleapis.com/papyrus_images/61a1ec86c2a9db9e615d653f9805217e468ca61911641bdd0af24135a2d0a80a.png)

### **安排回顾算法的原则**

**记忆对应原则**：回顾要根据[记忆分类](https://zhida.zhihu.com/search?q=%E8%AE%B0%E5%BF%86%E5%88%86%E7%B1%BB&zhida_source=entity&is_preview=1)，长期的，中期的，短期的，对应分别建立不同的牌组。

根据人的记忆类型不同和材料的记忆难度和紧急程度不同，映射到不同的回顾周期，长期记忆——（简单不紧急，月为单位），短期记忆——（中等紧急，周为单位），工作记忆——（难且紧急，日为单位）

适合工作记忆的材料有：复杂且难以把握的数学证明题、一个月内马上考试就要用的复习资料、英语作文、零基础新学一门外语的材料等，这些材料的特点是：复杂， 较陌生，难以把握，需要你反复练习快速吸收。

适合短期记忆的材料有：生词较多的英语文章、已经初步掌握的数学定理证明等，这些材料的特点是：可以把握这些材料的大致轮廓，但对细节处却不甚了解或模棱两可。

适合长期记忆的材料有：研究的文献材料、熟悉的英语材料、一些需要记住的简单数据等，这些材料的特点是：比较简单，结构明了，容易把握，我们只是需要对他有一点印象。

以上只是我个人的看法，不同的人用起来会有所差别， 不必拘泥。

**动态调整原则**

在**超负荷的大脑**一书中，提到过记忆的过程

> [记忆材料](https://zhida.zhihu.com/search?q=%E8%AE%B0%E5%BF%86%E6%9D%90%E6%96%99&zhida_source=entity&is_preview=1)首先进入工作记忆区，经过再加工和联系，转为长时记忆。人的工作记忆容量是有限且记忆时长是短暂的，但是记忆的提取速度是最快的。所以在这段时间里，我们应该提高记忆的频次，频繁地制造刺激和联系，使得他能对你的记忆材料进行压缩编码，制造不同层级的心理表征，逐渐固化为长时记忆。

所以我们利用anki进行记忆的时候，也应遵循这一规则。

对于相对陌生，比较吃力的内容，我们应该增加回顾的次数，缩短间隔，但是如果已经相对熟悉，说明这些材料已经被固化到了长时记忆，我们应该延长回顾间隔，通常情况下上述过程anki的回顾算法会自动帮你实现。

而我之前又提到过，我们对不同卡片的印象深刻程度是不一样的，可能有些细枝末节的卡片，我们就不想记得那么牢。

所以不必拘泥于统一的回顾算法，每张卡片的回顾算法需要经常调整调换（你应该对你的卡片如数家珍），调换的标准是你感到太吃力或轻松，就得调换，这就是所谓卡片的动态调整。

### **相关的插件推荐：（部分插件已经过时， 我没有时间时刻关注他们，请自行甄别或寻找替代）**

**hjp-bilink**

这是我个人维护的插件，可以手工对不同的卡片做双向绑定，有人总说anki碎片化，把卡片联系在一起，一次复习多张相关卡片，不就能解决碎片化吗？

[https://ankiweb.net/shared/info/1420819673](https://ankiweb.net/shared/info/1420819673)

[https://zhuanlan.zhihu.com/p/399785745](https://zhuanlan.zhihu.com/p/399785745)

**Override next review interval for Easy answer button**

能够改写自定义easy/简单时长，解决算法不灵活的痛点， 你想啥时候回顾就啥时候回顾。

截图 | 链接：

[https://ankiweb.net/shared/info/1499032797](https://ankiweb.net/shared/info/1499032797)

![](https://storage.googleapis.com/papyrus_images/1bd179fed1b0fb6fac8bca7a6bafae66a903dd9a4763356cdf87d8a7dec92c90.png)

**BetterSearch**

提供方便搜索的插件，原生的搜索栏只有一行，很不好操作。

截图 | 链接

[https://ankiweb.net/shared/info/1052724801](https://ankiweb.net/shared/info/1052724801)

![](https://storage.googleapis.com/papyrus_images/5193be2ca9dfb977d0cdceddb7c8f9257a2c40470a5cd8e9fa64f56cee5dc8ed.png)

**Additional Card Fields (Fork for 2.1)**

可以在卡片中显示卡片的元信息,比如tag, deck,上次什么时候回顾等等，有时候非常便捷。

截图 | 链接

[https://ankiweb.net/shared/info/744725736](https://ankiweb.net/shared/info/744725736)

![](https://storage.googleapis.com/papyrus_images/ead05f0cd8a949c21e7f82d1640f254fa1c88f69befad9ea6ddebe700fed10f8.png)

**review-heatmap**

[热力图](https://zhida.zhihu.com/search?q=%E7%83%AD%E5%8A%9B%E5%9B%BE&zhida_source=entity&is_preview=1)，可以较为直观地看到自己的工作量。

截图 | 链接

[https://github.com/glutanimate/review-heatmap](https://github.com/glutanimate/review-heatmap)

### **知识碎片化怎么办？**

**用层级标签和**牌**组系统对抗碎片化**

复习的碎片化，是由anki安排复习卡片的不确定性导致的。

当你将很多科目的卡片放在一起时，随着时间复习，久而久之科目A的卡片可能会突然出现在科目B卡片的复习队列中间，这种突然的插入导致你的复习容易缺乏体系感。因为anki安排复习不会管你是什么科目，他只会根据到期时间安排复习队列。

怎么解决这个问题，关键在于建立起不同卡片的联系，将我提到的那几个插件全部装起来，能极大地方便联系anki中的卡片。

比如我维护的插件`hjp-bilink`，是在卡片内部添加链接以建立联系的方式，适合单独的个别卡片之间做挂钩的操作，使得你在复习这张卡片的同时也能顺带看了那张卡片的内容。

又比如带有层级标签功能的插件`advanced browser`，他让你可以简便地将相同的知识点打上一样的标签，方便聚合，然后建立新的牌组复习，这也是一种系统化的方案。

也在于你要意识到**你是卡片的主人**，你可以随时选择复习哪些卡片，随时建立新的牌组继续复习，把无关的卡片排除。

层级标签和牌组系统是对抗碎片化、减少卡片积压的重要手段。

**不推荐把**牌**组当做文件夹来归类卡片,**

牌组中卡片的唯一性，会限制卡片的聚合

比如我如果把一本书的目录做成了牌组A，而另一本书也做成了牌组B

如果我想同时浏览两个牌组的同一类知识点，比较在这[两本书](https://zhida.zhihu.com/search?q=%E4%B8%A4%E6%9C%AC%E4%B9%A6&zhida_source=entity&is_preview=1)中的不同，那我得来回切换两个牌组才能看到

但如果我用层级标签当做文件夹，那就不会有这样的问题，

层级标签首先和嵌套牌组一样，可以和书本的目录对应，从而起到按书本分类知识的作用，

其次我只要在他们俩之间再多加一个相同知识点的标签，我就能瞬间切换到按知识点分类知识

截图(同时选出两本书的同一类知识点，并纳入一个牌组进行复习)

![](https://storage.googleapis.com/papyrus_images/af9daa9c22629419d536deee4f215ffc4b1bb52b8235aef16140dff9bed7231f.png)

这是牌组所不能替代的功能。

截图

![](https://storage.googleapis.com/papyrus_images/c30b559392081c90b145ee0f22926d6bd129edb29de124d064c6598b631f9ce1.png)

**正确的制卡习惯**

制作一张卡片，放在一个总卡堆，打好标签，每张卡片的标签**至少打两个**，1摘录的书籍名字章节（ 知识来源），2知识点的名称（知识定位）。标签打得越多越好，虽然打标签是一个辛苦的工作，很多人懒得去打，但来源和定位是两个最起码的标签，请务必打上。

但注意，不管是牌组还是标签，分类都不要过细，

比如下面群友的一个分类方法，就是过细的，

![](https://storage.googleapis.com/papyrus_images/c7cb9332662c0d23a5b8ef76f73af8fb266a7c3159fa755c85794e43babc74e6.png)

分类过细会让你分类压力很大，不必如此夸张。

一个分类下的卡片数量在十几张到二十几张是比较合理的。

牌组的作用是什么？

牌组的作用是安排复习，他可以看做是带着回顾算法的独占标签，

其实你可以将全部卡片都导入一个总牌组，然后从中挑选你想复习的卡片，组成新的牌组,并且给他设置回顾算法，有些卡片记忆难度小，归为一组，有的卡片记忆难度大，归为另一组，针对牌组的不同功能目的，设置不同的回顾算法。

比如我的牌组安排是这样的

dailynote：

在dailynote组中的卡片，都是你做的笔记或摘录，在dailynote组中，我们可以：

1 汇总 ：将日常学习笔记汇总其中。

2 回顾 ：一般以周为单位，回顾上周的笔记

3 合并 ：如有需要则合并卡片，比如当你发现或想起上周一张笔记和本周的一张笔记有联系，你就可以合并他们，合并的方式有：加链接（插件），内容合并（新并旧或旧并新），直接在旧的上编辑，都可以。

4 搜索 ：有些笔记你平时并不需要记住他们，但要用的时候你想快速找到他们，比如某些软件的快捷键，指令，某些学习资源的链接，等等，这时候你做好合适搜索的标签就行，不必回顾（回顾也无所谓，反正点一下easy很快）。

这是我新想出来的一个用法，他好用不好用还是有待商榷的，但这个方法确实是一种all in one 的思路， 因为从系统性讲，你只需要anki一个软件就能构成笔记系统的主体了，而不需要在多个软件之间跳来跳去。总的说来，适合一些纯文字的想法记录，摘录。

总牌组：放置大部分卡片，刚导入的，制作的卡片，都放在这里，在deck层面，就不要做过多的分类了，分类靠层级标签实现。

废弃组：把一些不想复习的，彻底掌握的放到这里。

短期组：需要尽快回顾浏览，对应工作记忆级别的内容。

中期组：用来放中期记忆的,比如几个月回顾一次的。

长期组：用来放长期记忆的卡片,半年回顾的。

手机组：用来放手机里复习的，因为手机只有基础功能，所以适合另起一组。

当然这个安排也不必拘泥,有时候随时可以建立一个复习牌组。

我们实际上可以同时复习短中长期三个组的卡片，只要将这三组牌组放置于一个共同的上级牌组之下，然后我们复习那个共同的牌组，实际上就能学习到不同循环周期的牌组了。当然，如果你的回顾算法设计合理，难易的卡片都适用，这些组也是可以统一成一个牌组。

最近我又想到一种使用这个体系的方法，比如将通常要复习的主要卡片安排到中期组，当你觉得记忆材料比较困难或比较紧急，再将其移到短期组，如果比较简单或不太紧急，就将其移到长期组。

如果你在周期较长的组中遇到被遗忘的卡片，可以使用again走失误的步伐，也可以直接将其移动到周期较短的组，两种操作都有各自的好处。

截图

![](https://storage.googleapis.com/papyrus_images/dbbbd7ed30f1c9f931e14aa1cd77cb8982c5773566a53c558c56e0f84e30950b.png)

小结

标签有很多维度可聚合， 聚合得到的结果创建牌组，根据不同的记忆强度创建不同的牌组。

参考官方文档的**搜索语法**

[https://docs.ankiweb.net/#/searching?id=tags-decks-cards-and-notes](https://docs.ankiweb.net/#/searching?id=tags-decks-cards-and-notes)

### **卡片积压不想复习怎么办?**

刚开始使用anki学习的几天里，由于新卡片阶段可选的按钮只有`again`，`good`，`easy`三个，而一般人都会点`good`比较多，最多也就点个`easy`，所以导致到了初次点`good`的那天，卡片会疯狂堆积，造成复习的心理压力过重，

解决办法有很多，我们先具体举两个操作原则，

**1简单卡片、核心卡片优先原则：**

这个思路来自supermemo作者写的文章。

优先复习简单卡片，简单卡片是你回忆思路清晰，用时比较少的卡片，优先复习他们是因为简单卡片容易增长间隔，是减少卡片积压的心理压力的好办法。

简单卡片通常都是你学习的\*\*[最近发展区](https://zhida.zhihu.com/search?q=%E6%9C%80%E8%BF%91%E5%8F%91%E5%B1%95%E5%8C%BA&zhida_source=entity&is_preview=1)\*\*的卡片，而困难卡片很有可能就是你离掌握这张卡片还有一点距离，才学起来困难一些，所以先学习简单的，积累记忆的效率会高一点。

优先复习核心卡片，核心卡片是你知识体系中比较重要的，影响其他卡片的卡片，把他们复习巩固好了，能提高你复习别的卡片的速度和效率。

**2分组复习原则：**

这个原则比较简单，就是不要一股脑对着成百上千张卡片复习，会有很大的心理压力，最好是准备好一个预备牌组，用来存放你目前暂时不复习的卡片，再准备一个当前牌组，专门复习你目前最需要复习的卡片。

我们可以有更多的其他分组思路，总之需要把大量卡片有序地归类处理，毕竟一天也复习不了那么多卡片，没必要看着吓自己。比如你要是觉得待复习数字飘在那很不舒服，就移到一个提示复习为0，新卡为0的废堆牌组。当你想复习的时候移出来放到当前的循环，他会接上自己的复习进度的。

两个原则结合起来，可以看下面这张图

![](https://storage.googleapis.com/papyrus_images/c769e6b3f1f4a7e6d2bce1710f11f729d2245e912ea305c298915ae3a57c6d98.png)

总之记住，**你是卡片的主人**，你觉得不爽了就可以改变它。

然后再举例三个利用anki机制的思路：

1限制每天复习的卡片总量

不论是新卡片还是复习卡片，都有每天卡片的上限限制，我们可以通过这个来减少每天卡片复习的总量，是比较简单的方法。

2减少学习中的卡片总量，增加复习中的卡片总量。

主要的办法是减少新卡片的学习`步伐`长度，进而加快`毕业`的速度。比如你可以设置一个一日内的学习间隔：`30 180 720` 基本上走完这个间隔之前，你会掌握这张卡片的基本知识，一旦觉得自己掌握了那就`毕业`。

`毕业`后卡片进入复习中状态，这时候能安排的间隔选择就增多了一个，从而通过将不同的卡片安排到不同的间隔日期，达到缓解卡片积压的效果。

3anki自带的2.1记忆算法

自带的2.1记忆算法，在学习中阶段也增加了一个按钮，这样你的选择又多了一个，分配这些卡片到不同的日期回顾，就可以起到一定的缓解积压效果。

另外，人的记忆容量是有限的，你不可能同时记住所有的卡片，你只需要把自己的记忆集中在当前最需要学习的内容上，无关的内容可以移动到不常复习的牌组中，不用理会，不用强迫自己学会每一张卡片，学会需要的卡片就好。

刷卡的相对数值也是有限的，比如我每个小时刷10张卡（数学题）已经是极限，超过这个限度，我难以保证自己还能认真读完每一张卡并作出具体回答。

而有些人说自己一天刷好几百张卡，那我想知道你真的把每一张卡都过了一遍吗？有没有存在不假思索刷过卡片的情况？这能保证学习的效果吗？请不要为了赶时间而刷卡，刷不完就刷不完，没什么大不了的，我们需要保证的首先是质量而不是数量。

(20210314171459新增)

为了解决卡片积压，我又新想到了一种方案：合并卡片。

合并掉那些简单的熟练的卡片，减少复习的次数，如果觉得合并工作比较辛苦，那你还可以用我的anki插件，把这些熟练的n卡片链接在一起，把其中的n-1张停止复习，只复习其中1张，剩下的卡片都能通过链接关系得到，这样也能实现合并的效果。

(20210823001643新增)

合并卡片的理论基础: 奥苏泊尔提出过\*\*同化学说,\*\*来解释遗忘的意义.

在奥苏泊尔看来, 遗忘并非没有意义, 他是帮助你将新知识同化吸收为自己知识的一个桥梁, 遗忘的是初级知识,掌握的是核心知识.

举个例子, 学游泳的时候, 我们会分解动作进行逐个练习, 当你真正学会游泳的时候, 你就会忘记当初分解动作练习的细节, 忘记这些细节, 是为了让你将注意集中在核心,让你从更高层次去看待这些分解动作, 即游泳技能本身上, 要是这时候还去反复练习分解动作, 很有可能会是有害的.

其实去看anki的很多卡片,不也是同样的道理吗? 我们要求制卡遵循最简知识原则, 但是如果反复记这些简单知识, 很有可能会对我们的综合知识记忆造成反作用.

因此对于简单知识的卡片, 我认为熟悉他们后, 就能尝试采取合并卡片的操作, 将这些简单知识融合成一个综合的知识, 如果能做好这个工作, 不仅减少了记忆负荷, 而且还减少了.

### **卡片间隔过久怎么办？**

anki的SM2算法天生就有间隔以指数性趋向无穷的缺陷，当你不加节制地点击`easy`，他总能达到间隔一年以上的水平。虽然一张卡片可以被你刷到下次回顾时间在一年后，但这也无法保证你这段空档时间里就不会忘记他，也难以保证这样的回顾计算是科学的，从而直接造成了你的遗忘，这就是间隔过久的问题。

anki本身有四种方法来限制这种无限增长。

以下四种机制都在参数介绍的文章里有提到，如果不明白可以去看看。

1利用`失误`机制：走完失误步伐有一个新间隔系数，新间隔可以设置小于100%的系数

2利用`最大间隔`机制：设置增长上限

3利用`间隔修饰符`机制：给整体间隔增长乘以系数

4利用`困难间隔`（旧版也翻译成`强制间隔`）机制：这个打开SM2.1算法才能出现，也是修改间隔系数的。

也可以利用**插件**实现日期的修改，这类插件有挺多的，不过我在前文里推荐的**Override next review interval for Easy answer button**（插件代码：1499032797）个人认为比较方便易用。

另外我个人也有长期的计划，打算针对anki的缺陷提供一些插件支持。

### **怎样用anki学数学？**

我个人跨专业考了数学专业研究生，用的是anki来学习数学分析和高等代数，成绩排名中等，我认为如果没有用anki，以我初学高代数分的水平，我的成绩应该是过不了线的，因此我觉得anki对我学习数学帮助很大。

下面来和大家谈谈我是如何使用anki学习数学的。

**数学知识和其他知识有什么不同？**

数学知识的特点是程序性记忆量远远大于[陈述性记忆](https://zhida.zhihu.com/search?q=%E9%99%88%E8%BF%B0%E6%80%A7%E8%AE%B0%E5%BF%86&zhida_source=entity&is_preview=1)，程序性记忆需要理解来记忆，通常记住（理解）了就不容易忘，需要通过大量实践来巩固，背程序步骤是行不通的。

如果你用背书的方式背数学题和定理，那你肯定是学不会，因为陈述性记忆不能帮助你理解和运用。

数学知识的另一个特点是系统性非常强，定理定义命题总是环环相扣，如果你前面的没学懂，就学后面的，就很难理解了。

**那用anki是不是学不了数学了？**

不是的，anki虽然是一种[记忆术](https://zhida.zhihu.com/search?q=%E8%AE%B0%E5%BF%86%E6%9C%AF&zhida_source=entity&is_preview=1)，但他也可以是一种理解术，完全看你如何用anki，不要被工具最初的定义所局限，伟哥刚开始还用来治疗心脏病呢。

**我是如何用anki学数学的？**

根据数学知识的特点，我注重理解知识而非记忆知识，所以记忆不是我的主要目的，因此会设置一个较长的间隔，新知识是隔几天才复习一次，老知识更是隔上一两个月甚至更久才复习一次。

为了理解知识，我会对卡片上的知识不断加工，因为证明自己理解了的最好方法就是输出自己的理解，费曼学习法是讲给别人听，我则是讲给自己听。

复习时，我会先检查之前输出的理解的正确性，合理性，推敲能注意到的每个细节是否有逻辑漏洞。

再写下这次复习的理解，以供下一次检查。

所以，我复习的目的不是为了回忆，而是为了评审自己过去的理解，增添新的理解，重构知识的逻辑等等。

同时，由于数学系统性非常强，所以我也很注重发现卡片之间的联系，比如如果定理A在很多题目上得到了应用，我就会关联他们，通过我的插件。

也会写一张总结卡片，来解释定理A是如何应用在这些卡片上的，或者画些导图，来理解不同知识点之间的关系。

久而久之，我能积累下一些额外的理解卡片，他们都是我对一些课本知识的私人理解，也是学习中最珍贵的获得。

我复习的时候将课本根据定理,命题,定义,习题,例题裁剪成一张张卡片,保存在anki中直接学习,相当于是预习+复习于一体, 一切学习工作都在anki里完成,做题,记笔记,都在anki中.

我每次回答完都要把答案写在卡片里,下次复习到了就翻出之前的答案看看, 我不一定写完整的回答过程,有时候是一些和卡片本身相关的思考, 有时候是画个[思维导图](https://zhida.zhihu.com/search?q=%E6%80%9D%E7%BB%B4%E5%AF%BC%E5%9B%BE&zhida_source=entity&is_preview=1), 有时候总结问题.

一直对着卡片去拓展思维, 会思维枯竭, 具体表现就是想不出新的补充了, 只要想不出新的补充, 那这次复习的价值就不大了, 需要把卡片隔更久去复习, 如果要频繁复习, 那最好要避免思维枯竭.

为了防止思维枯竭, 也就是复习的时候想不出什么新的东西了, 我还会准备一些元问题, 强迫自己去回答, 比如说, 这道题的应用有什么, 反例有什么, 还能去掉条件吗, 定理的意义是什么, 这类种种和卡片本身有关的问题被称作元问题, 他能拓宽我思考的界限, 毕竟重复看一个东西久了, 大脑真的会懒于思考.

[惰性思维](https://zhida.zhihu.com/search?q=%E6%83%B0%E6%80%A7%E6%80%9D%E7%BB%B4&zhida_source=entity&is_preview=1)会损害我们掌握知识, 惰性思维是不自主的, 不能控制的, 一道题看多了你肯定会不由自主把它的答案背下来, 背下来对掌握解题思路的帮助不大, 甚至有害, 我们应该尽量模拟自己是第一次遇到这道题的场景进行思维活动.

为了防止大脑的懒惰, 最有效的方法是输入新的题目, 这也是不可或缺的, 我们用anki的目的在于吃透做过的每一道题, 避免迷失于题海中, 并非借此代替题海战术, 想要学好数学, 大量做题不可避免.

### **回顾算法的参数设置：**

**提示：**

理解回顾算法的参数，是用好anki非常重要的一个环节，因为他自带的算法并不通用于任何人的[记忆模型](https://zhida.zhihu.com/search?q=%E8%AE%B0%E5%BF%86%E6%A8%A1%E5%9E%8B&zhida_source=entity&is_preview=1)，大家要根据自己的需求，具体问题具体分析，调整其中的一部分参数，所以你一定要理解这些参数的作用再去调整他们。

但是介绍回顾算法将会花去很大的篇幅，而且本身具有一定的阅读门槛，不是简单看看能学会的，势必亲自动手操作才能有所体会，但是这样就打断了大家的阅读体验，因此为了大部分人阅读的流畅体验，我将其移出本文，附上参数设置的独立地址供大家参阅：[https://zhuanlan.zhihu.com/p/336484374](https://zhuanlan.zhihu.com/p/336484374)

**其他的闲言碎语**
-----------

### **anki和supermemo如何选择？**

前言：

在阅读 @叶峻峣 翻译搬运的supermemo作者的一部分核心观点，以及自己几次简短的对SM的尝试后，我给出如下评价：

### **supermemo的优点**

**SM18算法比SM2算法优秀得多**

我个人认为，SM18算法绝对比anki的SM2算法优秀，毋庸置疑。

因为SM2算法至少有一个缺点，那就是会引起间隔的无限增长。短期使用anki不会感觉到有什么异常，长期使用就一定会有记不住知识的感觉。

SM2只能说是在几十年前比单纯的[遗忘曲线](https://zhida.zhihu.com/search?q=%E9%81%97%E5%BF%98%E6%9B%B2%E7%BA%BF&zhida_source=entity&is_preview=1)好那么一点点，和最先进的SM18算法绝对是比不过的，更何况很多商业的间隔重复学习软件都放弃了SM2算法，转用机器学习预测间隔，比如[多邻国](https://zhida.zhihu.com/search?q=%E5%A4%9A%E9%82%BB%E5%9B%BD&zhida_source=entity&is_preview=1)，quizlet等。

而SM18算法能根据卡片的难度，调整复习的[优先级队列](https://zhida.zhihu.com/search?q=%E4%BC%98%E5%85%88%E7%BA%A7%E9%98%9F%E5%88%97&zhida_source=entity&is_preview=1)，让你优先学习到比较简单的知识，提高复习效率；能根据你本应复习的时间和实际复习的时间的差值，动态调整下次的间隔时间，因为你的推迟复习势必造成遗忘率的改变，这个必须动态调整。

这些原生anki都做不到，总的来说，anki在短期使用时记忆效果还不错，长期使用的记忆效果和效率都远远不如supermemo。

以上只是我在日常使用中发现的SM2的不足和SM18的优越性，我相信还有更大的差距隐藏在其中。

**方便实现增量阅读的各种功能。**

supermemo的另一大卖点是增量阅读。

增量阅读是一个将文章切碎了一点一点读一点一点转化的精读手段，配合SM18的回顾算法，能做到在非常细的尺度上对文章的高效记忆和学习，适合读一些比较难懂的书或文章。

针对增量阅读的学习特点，supermemo有很多针对性开发出来的功能，比如导入书籍文章，并可以对其挖空，或制作成问答卡片，有很多方便整理的工具。

这个原生anki也没有，有些插件目前在做这一套增量阅读的工具，但还没有插件能在anki上实现SM18算法，因此做出来的增量阅读效果会差很多。

**supermemo的缺点**

**操作与交互**

supermemo虽然功能强大，但是操作也极为复杂，对新手极为不友好，如果从anki入门的间隔重复学习，那你短时间内supermemo的基础操作都很难搞懂，可能需要花几个月去适应他。

我认为这不是因为我们太笨，而是开发者太傲慢，没有站在用户体验的角度去优化他的软件，他选择了让用户自己承担作者因为傲慢而堆砌的按钮。

supermemo的交互极为落后，看起来就像是十几年前的软件，比如他提供的网页导入功能只能在IE浏览器上用。

显然现在使用IE不是主流，而作者过于孤傲，懒得去适配Chrome等主流浏览器，则再次说明他没有优化用户体验的思维。

**封闭**

supermemo的插件严重匮乏，是一个闭源软件，没有插件生态就很难保持活力，这也是supermemo不如anki火爆的原因之一。

supermemo只有windows端，不支持mac，linux，Android，iOS端。

supermemo也不允许你进行算法的参数调整，他认为自己的算法是最优秀的，无需调整。

一切都透露着封闭的味道，还是那句话，作者过于傲慢，不认为别人的想法能超越他。

**SM18的有效性质疑**

reddit/anki上曾有人抱怨，他用了几个月的supermemo，没有记住任何东西，

[https://www.reddit.com/r/Anki/comments/eq2fzh/making\_anki\_more\_like\_supermemo/](https://www.reddit.com/r/Anki/comments/eq2fzh/making_anki_more_like_supermemo/)

也有人曾实验，花两个月背日语单词，来对比anki、supermemo、quizlet的记忆效率、每天用时、卡片间隔时间。结果发现，supermemo的记忆效果并没有明显好于anki。

![记忆保留率](https://storage.googleapis.com/papyrus_images/a7f456ef0ebdd92cf72fee1f4827b64715283d5a3c33e95a165130a91046f0ea.png)

记忆保留率

![每日回顾所用时间](https://storage.googleapis.com/papyrus_images/53bfb93261ea12bd6327a6639c9e98fcc893dc2a203413a77bf34342124b7474.png)

每日回顾所用时间

特别是他提到:

> Unfortunately, my posttest results showed that SuperMemo is not giving me similar long-term recall to Anki, and is nowhere close to 90%. I’m quite disappointed at this. It’s possible that the algorithm takes more data and time to adjust to an individual’s memory, but I am now quite skeptical of any claims that SM-18 is significantly superior to SM-2.

也就是说他**质疑SM18显著好于SM2**，这个广为人知的陈述。

这表明SM18算法虽然点子多，功能性上比SM2强，但他的记忆效果上并不对任何人都有效。

**anki和supermemo的总评**

简单易用又富有拓展性，是一个东西能流行起来的很重要的因素。

虽然supermemo的作者有很多优秀的想法，他的SM18算法一骑绝尘，但他的软件如果不针对用户体验做优化升级，那他永远会是小众产品。

虽然SM18算法是不公开的，我们若不用supermemo，可能永远都体验不到他的神奇之处，但这世界上并不只有SM18一种优秀的间隔重复算法。

正如之前所提到的多邻国、quizlet甚至是流利说，他们早期都使用过SM2算法，后来全都改为机器学习来预测间隔时间，

在supermemo作者写介绍间隔重复历史的文章里，他自己也承认这些软件在用机器学习做预测后，所达到的效果也是相当不错的，虽然他承认这个东西有一定效果，但还是傲娇地说SM18更科学，因为他们的出发点都是填鸭式教学

sm作者承认quizlet是竞争对手的信息来源

[https://www.supermemo.com/en/blog/the-true-history-of-spaced-repetition](https://www.supermemo.com/en/blog/the-true-history-of-spaced-repetition)

机器学习能有效预测遗忘曲线的信息参考

[https://medium.com/sana-labs/increasing-learning-outcomes-through-spaced-repetition-b9f1782c6c16](https://medium.com/sana-labs/increasing-learning-outcomes-through-spaced-repetition-b9f1782c6c16)

还有brainscape 采用他们自己独立设计的基于信念的间隔重复（confidence-based repetition 或 CBR），有大量的论文基础，而sm作者是不参与学术圈讨论的，所以可以把CBR看作是学术界的集体智慧，从而也有一定的可靠性。

因此虽然sm2效率比较低，我们要找更好的算法，但前面也介绍了，supermemo并非高效间隔重复的唯一解，替代品也有，而我出于使用方便，不愿为supermemo作者的傲慢买单，我选择改进anki。

先进的软件有很多，不是说你算法多么精妙，你就可以忽视用户体验写出难用的软件，用户体验是整体的，单一个算法没有配套的交互设计是不够的，不然搞什么UI。

mathematica复杂精妙到不知道哪里去了，入门用起来还是非常轻松，mathematica装起来有几个G，功能庞大，但是我若只想算算定积分，那也能几个符号就实现，背后有大量的参数设置功能按钮，但不会全部暴露给你，界面简洁无比。

但凡妄想只要有一个算法比较好，就可以天下无敌的人，需要好好反思自己是不是陷入了控制论思维，想想[赛博朋克](https://zhida.zhihu.com/search?q=%E8%B5%9B%E5%8D%9A%E6%9C%8B%E5%85%8B&zhida_source=entity&is_preview=1)的结果吧，简单粗暴的算法控制人类的行为，造成了事与愿违的结果。

所以总结一下，我们应该学习sm作者的理念，将其运用到自己的工作学习中，但用他的软件还请慎重。

### **为什么选择anki？**

有人问我为什么不选择quizlet，他有机器学习辅助预测不是比anki强吗？

我没有深入了解过quizlet，但是前面提过，用机器学习来预测间隔是有论文支持的，有很多人做这方面的研究，而且现在学习电子化程度加深，机器学习有了海量的大数据来分析预测遗忘曲线，假以时日肯定能达到甚至超越sm作者本人设计的算法的。

但问题不仅在于记忆算法，quizlet和其他商业软件有一样的毛病，就是私人定制化程度过低，你只能按照他给你的模板设计你的问答卡片，或用他提供的知识卡片学习，一般他们会针对大众学习这类知识的一些痛点推出针对性服务，所以你可以去试试quizlet，如果效果不错，那你就用，感觉不好，你就回来用anki。

商业软件追求低成本高收益，所以基本不会出现anki这么高定制化的可能，但是一旦他们发现一条固定学习方式的商机，他们立刻就能运作起来，把这条路走到最优秀。比如语言的学习，流利说的英语学习模式固定下来比anki要强很多倍，不仅仅是记忆算法强，流利说在整体上对人学习英语的帮助远远大于anki。

而我们使用一个软件就是要看他的整体，所以学习英语我不会太推荐anki，虽然Anki可以通过打插件之类的操作，来接近流利说的水准，可那你为什么不直接用现成的成熟产品呢？**anki就像一个产品原型**[**孵化器**](https://zhida.zhihu.com/search?q=%E5%AD%B5%E5%8C%96%E5%99%A8&zhida_source=entity&is_preview=1)**，已经有数不清的学习软件脱胎自anki。**

而anki之所以能火这么久，未来还将继续火下去，不是因为他的SM2算法有多么先进，我看了很多插件作者的过往开发经历，都有过开发类似SuperMemo算法的插件项目，这说明他们都知道anki算法存在问题，想过改变anki而未能如愿，可他们依旧热爱anki，贡献了五百多个插件，为什么？

因为anki定制化程度很高，我们甚至能修改底层代码来实现对任意知识的学习，这种自由精神是商业软件不敢触碰的底线，[问渠那得清如许](https://zhida.zhihu.com/search?q=%E9%97%AE%E6%B8%A0%E9%82%A3%E5%BE%97%E6%B8%85%E5%A6%82%E8%AE%B8&zhida_source=entity&is_preview=1)，为有源头活水来，火热的插件圈子造就了一批忠实的anki用户，他们遇到任何困难，首先想的是能否找到可以解决困难的插件，而不是换个软件，从而有了二次挽留用户的可能，这才是anki经久不衰的根源。

所以，如果你的学习需求不是定制化的，没有现成成熟的商业解决方案，那么高度定制化的anki依旧是有着最多可能性的最佳选择。

下面的内容将来会删除重写，现在可不必看。

**推荐搭配anki的工具（待更新）**
--------------------

公式编辑：mathpix （可兼顾图床）

搜索类

everything

anytxt

笔记类

大纲笔记

roamresearch

dynalist

幕布

块笔记

notion

wolai

markdown笔记

obsidian

思源

zettlr

typora

综合笔记

devonthink

---

*Originally published on [泡沫12345](https://paragraph.com/@12345-5/anki-anki-supermemo-anki)*
