指南

如何搭建带间隔重复功能的闪卡应用

闪卡应用由卡组、一个会翻转每张卡片的复习界面,以及一个决定今天显示哪些卡片的调度器组成。调度器是区分有用的学习工具与数字版索引卡堆的关键:使用间隔重复时,你熟悉的卡片很少再出现,而你感到吃力的卡片则很快会再次出现。先搭建复习界面和一个简单的调度器,之后再添加导入、图片和音频功能。

闪卡应用需要什么

数据

数据表字段
卡组所有者、名称、描述、公开或私密
卡片所属卡组、正面、背面、可选的图片或音频、标签、创建日期
卡片状态用户、卡片、到期日期、间隔、难度或“易度”、重复次数、遗忘次数
复习记录用户、卡片、时间、评分(重来 / 困难 / 良好 / 简单)、用时

请把卡片状态与卡片本身分开保存。如果卡组是共享的,两个同时学习同一张卡片的人,各自都需要自己的到期日期。同时也要保留每一条复习记录:它是你日后改进调度器、展示学习进度图表或切换算法时所需的历史数据。

页面

  • 卡组列表:显示每个卡组今天到期的卡片数量。
  • 卡片编辑器:快速录入非常重要。正面、背面、保存、下一张。桌面端支持键盘快捷键。
  • 复习界面:显示正面,点击显示背面,然后用四个大按钮进行评分。这个界面占了应用使用量的 90%。
  • 统计:每天复习的卡片数、记忆保持率、未来的学习量。
  • 导入:支持 CSV 或以制表符分隔的文本,这是大多数其他闪卡工具都能导出的格式。

选择调度方法

这里你不需要自己发明任何东西。以下是三种广为人知的方法:

方法工作方式适用场景
Leitner 盒子答对时卡片升入更高的盒子,答错时退回第 1 盒;每个盒子的复习频率逐级降低最容易实现和解释
SM-2每张卡片都有一个间隔和一个“易度”系数,会随你的评分增大或减小经过验证,被广泛借鉴,易于测试
FSRS对你记住每张卡片的可能性建模,并以目标记忆保持率安排复习更精确;Anki 将其作为选项提供

对于第一个版本,选择 Leitner 或 SM-2。把规则连同一个有实例的计算示例写进你的提示词,例如:“新卡片评为‘良好’,则一天后到期;然后是 3 天,之后每次评为‘良好’,间隔大约变为上一次的 2.5 倍。评为‘重来’,则 10 分钟后再次到期,间隔重置。”

无论你选择哪种方法,都请让 AI 将调度器放在一个独立的函数中,并为其编写测试。这样以后更换算法时,就无需改动应用的其他部分。

需要做出的决定

“今天”是谁的今天? “今天到期”应当按照用户所在的时区计算,许多学习应用会将一天的分界设在凌晨 4 点左右,这样深夜的学习会计入同一天。

每日上限。 如果不限制每天的新卡片数量,热情的用户可能一次添加 500 张卡片,一周后就要面对无法完成的复习量。默认设置一个适中的数量,并允许用户自行修改。

卡片类型。 先做基础的正面/背面卡片。“反向”卡片(也要求从背面回忆正面)和挖空卡片(在句子中填空)很受欢迎,但每种都会增加规则。等基础版本稳定后再添加。

共享卡组。 教师与班级共享卡组是很好的功能,但也涉及权限问题:学生可以学习卡组但不能编辑,而教师的修改应当同步给所有人,同时不能重置他们的学习进度。

离线使用。 人们会在火车和飞机上学习。渐进式网页应用可以缓存当天的卡片,但同步两台离线设备上的复习记录确实很难。第一个版本只支持在线使用是合理的选择。我们的原生应用与渐进式网页应用指南解释了各种选项。

一个有效的初始提示词

搭建一个优先适配手机的闪卡网页应用。用户登录后可以创建卡组,并为卡片添加正面和背面(文字,可选图片)。每位用户对每张卡片都有自己的复习状态:到期日期、间隔、易度、重复次数和遗忘次数。使用 SM-2 算法:评分包括重来、困难、良好、简单;“重来”会重置间隔,并在 10 分钟后再次显示该卡片。调度器放在独立且经过测试的函数中。复习界面先显示正面,然后是一个大的“显示答案”按钮,再是四个大的评分按钮。“今天到期”按用户所在的时区计算,一天从凌晨 4 点开始。默认每个卡组每天最多 20 张新卡片。记录每一次复习。显示带到期数量的卡组列表,以及一个简单的统计页面,展示每天的复习数量。添加 CSV 导入功能,列为正面和背面。所有数据保存在数据库中。

构建步骤

  1. 卡组与卡片。 创建两个卡组和二十张卡片。检查添加一张卡片有多快。
  2. 复习界面。 用手机学习。它应该感觉是即时的;卡片之间哪怕有一点延迟,每天都会被感受到数百次。
  3. 调度器测试。 给 AI 一张评分序列及其预期间隔的表格,检查结果。然后修改设备时钟,或者要求提供测试模式,以模拟接下来几天的情况。
  4. 每日上限与时区。 在深夜复习,并确认第二天的队列是正确的。
  5. 导入。 导入一份包含几百张卡片的真实 CSV,检查特殊字符、卡片内的逗号以及换行。
  6. 统计。 每天的复习数量和未来的到期数量。图表保持简单。
  7. 扩展功能。 图片、语言卡片的音频、反向卡片、共享卡组,每次只加一个。

常见错误

  • 把到期日期存在卡片上。 它必须是每位用户各自的。
  • 丢弃复习历史。 统计以及未来的任何调度器都需要它。
  • 没有新卡片数量限制。 用户一周内就会耗尽精力。
  • 按钮太小。 评分往往是单手完成的;按钮要大,并且彼此间距足够远,以避免误触。
  • 最后一次评分无法撤销。 误触每天都会发生。
  • 用服务器时间判断“今天”。 应使用用户所在的时区。
  • 编辑卡片时重置进度。 修正一个错别字,不应让一张成熟的卡片回到起点。

什么时候现成的产品是更好的选择

如果你只是想学习,成熟的闪卡应用已经存在,其中不少还是免费的,它们在调度、同步、离线使用和共享卡组方面已经打磨了多年。特别是 Anki,拥有庞大的社区卡组库。直接使用它们就好。

当卡片是更大事物的一部分时,就应该自己搭建:例如你出售的课程,闪卡用来巩固每节课的内容;语言学校为学生提供与教学大纲相配的卡组;公司为员工讲解产品知识;或者某个学科的卡片类型是通用工具处理得不好的。这样你就掌握了内容、设计和学生数据。可以将它与测验应用配合用于考试,或者将其集成到在线课程平台中。

使用 Mythex 搭建

Mythex 将这款应用构建为网页应用,你可以在任何手机上打开,并添加到主屏幕。在聊天中描述应用,在预览的手机尺寸画面中检查复习界面,并在需要时要求添加账户和学习进度保存功能——应用需要时,Mythex 会添加专用的数据库,如果卡片包含图片或音频,还会添加文件存储。在 Pro 版本中,Mythex 还可以把它封装为 Android 和 iPhone 应用,并提交到 Google Play 内部测试和 TestFlight。在信任调度函数之前,可以使用“询问”模式让代理解释其逻辑;应用可用时,发布到 mythex.ai 链接即可。

常见问题

什么是间隔重复?

间隔重复会在你可能快要遗忘某张卡片之前再次展示它。你熟悉的卡片会隔越来越长的时间再出现;你答错的卡片则很快会再次出现。与平均复习所有内容相比,它能让学习时间更有效。

我应该使用哪种间隔重复算法?

对于第一个版本,简单的 Leitner 盒子法或 SM-2 已经足够,而且容易测试。FSRS 是一种更新、更精确的调度算法,Anki 将其作为选项提供;当你积累了足够的复习历史数据以进行调优后,值得考虑使用它。

闪卡网页应用可以离线使用吗?

部分可以。渐进式网页应用可以缓存应用本身以及当天的卡片,使复习在无网络时也能进行,并在重新联网后同步。但如果同一份数据在两台离线设备上都做了复习,同步时就需要谨慎的合并规则,因此许多第一版通常仅支持在线使用。

我可以不写代码就搭建闪卡应用吗?

可以。AI 应用构建工具可以根据描述创建卡组、卡片、复习界面和调度逻辑。请给它提供调度规则的实际示例并检查结果,因为这套逻辑决定了应用能否真正帮助人们学习。

Mythex · Pricing · 用 AI 构建任何东西 · 网站和应用模板 · Mythex 对比 · AI 应用构建术语表 · 免费的 AI 应用构建工具 · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 繁體中文(香港) 繁體中文(台灣)