Anki 新卡片顺序:选取、排序与队列检查

在 Anki 里,新卡片位置为 10 的卡片,有时会在位置为 60 的卡片之后出现。从父牌组开始学习,如果选取方式是按牌组(Deck),排序方式是按选取顺序(Order gathered),Anki 可能会先从排在前面的子牌组选完卡片,再处理位置为 10 的卡片所在的子牌组。在浏览窗口里按创建时间排序也不会改变学习队列。

Anki 分两步安排新卡片。选取决定在当天的限额内哪些卡片能进队列,排序决定入选的卡片按什么顺序出现。排查时,先看看是入选的卡片和预期不符,还是卡片选对了,出现的顺序却不一样。

本文适用于桌面版 Anki 的普通牌组。下面的六张卡片是根据现行手册和已发布的 Anki 26.09.3 推算的例子,于 2026 年 10 月 6 日核对。这是纸面推演,未在软件中实测。

一名男子把第四张黑胶唱片举在唱片架的空格上方,旁边摆着三张唱片,身后还有两箱没选中的唱片

按你想要的顺序设置

打开你打算点击学习的牌组的选项(Options),找到显示顺序(Display Order)。从父牌组开始学习时,父牌组的显示顺序设置适用于整次学习,也包括来自子牌组的卡片。

想要的效果 新卡片选取顺序(New Card Gather Order) 新卡片排序顺序(New Card Sort Order)
在所选牌组及其所有子牌组中,统一按新卡片位置从小到大出卡 按位置升序(Ascending position) 按选取顺序
先按子牌组名称的字母顺序,再按各子牌组内的卡片位置出卡 按牌组 按选取顺序
保留同一批入选卡片,只打乱出现顺序 你选定的选取方式 随机(Random)

这些搭配依据 Anki 英文手册对两项设置的定义。按位置升序看的是保存下来的新卡片位置。插入顺序和手动调整都可能改变这些位置,因此位置顺序未必和创建时间一致。详见手册中的新卡片选取顺序和新卡片排序顺序。

修改前,先确认这个牌组用的是哪个预设,还有哪些牌组共用它。显示顺序是预设的一部分。如果只想改这一个牌组,先为它单独设置预设。每日限额可以通过**此牌组(This deck)或仅今天(Today only)**覆盖,显示顺序仍由牌组所用的预设决定。具体操作见为单个牌组设置独立预设(英文)。

算算哪四张卡片能入选

假设有一个普通父牌组 OrderLab,下面有两个子牌组,总共只有这六张卡片。每张卡片都由一条独立的**基础(Basic)**笔记生成,每条笔记只生成一张卡片。所以六张卡片的类型编号都相同,也没有同胞卡片,也就是由同一条笔记生成的其他卡片。

卡片 牌组 保存的新卡片位置
A OrderLab::01 First 20
B OrderLab::01 First 40
C OrderLab::01 First 60
D OrderLab::02 Second 10
E OrderLab::02 Second 30
F OrderLab::02 Second 50

假设六张都是新卡片,既没有被搁置或暂停,也不在筛选牌组中。开始时没有其他卡片,也没有等着再次出现的学习卡片或待复习卡片。今天还没学过任何卡片。OrderLab 没有上级牌组,适用的复习限额也足以容纳全部六张新卡片。

选择 OrderLab 开始学习。它实际生效的新卡片限额是 4 张,First 是 3 张,Second 是 2 张,没有临时覆盖设置。两种情况都用按选取顺序排序,并以同一个未经改动的集合为起点。两次都在纸上推算,中间不作答。

采用按牌组选取时:

  1. Anki 按名称的字母顺序先处理 01 First,再处理 02 Second。
  2. Anki 按位置选入 A、B、C。First 已经占了三个名额,父牌组只剩一个名额。
  3. Anki 从 Second 选入 D,达到父牌组的四张上限。

新卡片预计按 A → B → C → D 的顺序首次出现。E 和 F 都没被选入。

采用按位置升序选取时,两个子牌组合在一起的候选顺序是 D → A → E → B → F → C。前四张符合所有限额,Second 两张,First 两张,总共四张。选取到这里就结束了。

预计顺序是 D → A → E → B。C 和 F 没被选入。Anki 每选入一张卡片,都会计入相应牌组及其父牌组的限额。见发布版本的选取代码。

Second 最多能提供两张,实际能选入几张还要看父牌组剩多少名额。按牌组选取时,First 已经用掉四个名额中的三个,Second 只能提供一张。按位置升序时,两边恰好各选入两张,这取决于这组卡片的位置。换一组卡片,两边的张数可能不同。

让六张都入选,单独比较顺序

再做一次纸面比较,把父牌组的限额设为 6,First 设为 3,Second 设为 3,让六张卡片都有名额。排序仍用按选取顺序。

选取方式 限额(父牌组 / First / Second) 预计首次出现的顺序
按牌组 6 / 3 / 3 A → B → C → D → E → F
按位置升序 6 / 3 / 3 D → A → E → B → F → C

两种方式都选入六张卡片,差别只在出现的顺序。如果只把父牌组的限额提高到六张,Second 仍限两张,就只会选入五张,F 仍然进不了队列。这里的限额只用于推演,并不建议增加每天学习的新卡片数量。

排序补不回没入选的卡片

恢复原来的 4 / 3 / 2 限额,只把新卡片排序顺序改为随机(Random)。

选取方式 参与随机排序的卡片 排序无法加入的卡片
按牌组 A, B, C, D E, F
按位置升序 D, A, E, B C, F

随机排序只打乱每组卡片的出现顺序,入选的是哪几张并不会变。单凭这张表,无法推算出某一次随机排序的结果。见 Anki 发布版本的排序代码。

**先按卡片类型,再按选取顺序(Card type, then order gathered)**也只处理已经选入的卡片。例子里的六张基础卡片类型编号都相同,因此这个设置会保留入选卡片的选取顺序。

再看一个只比较排序的例子。假设四张卡片来自使用多个模板的笔记,已经按 W(类型 2)、X(类型 1)、Y(类型 2)、Z(类型 1) 的顺序选入。按卡片类型排序后,结果是 X → Z → W → Y。类型 1 排在前面,同一类型内仍按选取顺序排列。这个例子从选取结束后算起,因此无法用它判断在你的搁置设置下,哪些同胞卡片能入选。

卡片类型编号对应卡片模板在所属笔记类型中的位置。一个编号对应的是“识别”还是“产出”,要看模板怎么设计。想知道按类型排序能否让所有正向题先出现,先看看各类型的实际题面。

改位置前,先在浏览窗口里核对

打开浏览(Browse),切换到**卡片(Cards)**模式,搜索你的牌组及其子牌组。这个例子用下面的搜索语句。

deck:OrderLab is:new

通过列标题菜单显示问题(Question)、卡片(Card)、牌组(Deck)、到期(Due)和创建时间(Created)。对新卡片来说,到期列显示队列位置,创建时间列显示对应笔记的创建时间。**排序字段(Sort Field)**显示笔记中指定用于排序的字段值。按某一列排序只会改变表格里的显示顺序,卡片保存的位置和学习时的选取设置都不受影响。详见 Anki 英文手册的浏览窗口列说明。

is:new 的结果可能包含已暂停或已搁置的新卡片,它们在到期列中的值会加上括号。下面这条搜索语句会排除这两类卡片,以及当前在筛选牌组里的卡片。

deck:OrderLab is:new -is:suspended -is:buried -deck:filtered

如果牌组名里有空格,就把名字放在引号里,例如 deck:"My Deck"。更多写法见 Anki 英文手册的按卡片状态搜索和按牌组搜索。

搜索结果仍无法预测今天的队列,因为限额和同胞卡片的自动搁置都可能减少实际入选的卡片。相关状态见搁置与暂停有什么区别(英文)。

如果当前位置已经符合你想要的顺序,就保留它们。确实要改时,先记下旧位置,只选中一小批要调整的新卡片,再用卡片 → 重新定位(Cards → Reposition)。确认前先检查对话框里的选项。**顺移现有卡片的位置(Shift position of existing cards)**也可能改动未选中且位置编号更大的卡片。如果不顺移,新位置可能和现有位置重叠。遇到位置相同的卡片,只看位置无法判断谁先出现。详见 Anki 英文手册的重新定位说明。

调整选取或排序设置时,可以保留学习和复习记录。排查集中在新卡片位置和显示顺序即可。

确认点了哪个牌组,再看今天还剩多少名额

回到最初的例子。直接选择 OrderLab::02 Second 开始学习时,候选卡片只有 D、E 和 F。这个子牌组限两张,采用按位置升序选取和按选取顺序排序,预计会看到 D → E。即使上级牌组的限额也适用,父牌组尚未使用的四个名额也足以容纳这两张卡片。如果改为选择父牌组,采用按牌组选取,限额为 4 / 3 / 2,预计顺序就是 A → B → C → D。

从 OrderLab 开始学习时,这次学习的显示顺序由 OrderLab 的设置决定,单改 Second 的显示顺序不会影响这次学习。你点开的牌组决定显示顺序和总限额,适用的子牌组限额也同时生效。直接学习子牌组时,**从顶层应用限额(Limits start from top)**决定是否还要遵守上级牌组的限额。详见 Anki 英文手册的子牌组规则和上级牌组限额设置。

复习限额也要查。默认情况下,复习限额也会限制新卡片。开启新卡片不受复习限额限制(New cards ignore review limit)可以改变这一行为。这个开关和从顶层应用限额都对整个集合生效。先记下两个开关的状态,再判断今天的新卡片限额能用多少。见发布版本的每日限额设置界面。

在浏览窗口里用**预览(Preview)**就能查看题面,无需作答。下次正常学习时,可以用下面这张表核对。

记录什么 用来确认什么
点开学习的牌组,以及它的预设、选取方式和排序方式 这次学习用的是哪套显示顺序?
预计会出现的卡片及其保存的位置 偏差出在选取还是出现顺序?
新卡片和复习限额、针对该牌组或仅今天的覆盖设置,以及今天已经完成的学习 今天还剩多少名额?
上级牌组的限额,以及对整个集合生效的两个限额开关 还有哪些限额适用?
被搁置、被暂停或当前在筛选牌组中的卡片,以及同胞卡片 哪些看似符合条件的卡片可能无法入选?
新卡片实际首次出现的顺序,和学习阶段的重复出卡分开记 新卡片的出现顺序和推算一致吗?

回答一张新卡片后,它可能在学习阶段再次出现,穿插在其他卡片之间。**新卡片与复习卡片的顺序(New/Review Order)**决定新卡片是在复习卡片之前、之后,还是穿插其中。新卡片的选取和排序仍由各自的设置决定。Anki 会先排好新卡片,再把不同类别的卡片合进队列。见发布版本的队列构建代码。

如果预计入选的卡片和首次出现的顺序都与实际一致,就可以结束排查。如果还有出入,记下卡片位置、相关设置、所选牌组、Anki 版本和实际出现顺序,继续排查时也把相关附加组件考虑进去。如果你的目的是针对某个主题额外练习一轮,可以参考用筛选牌组额外练习的步骤(英文)。

继续阅读