Anki 星标突破 2.8 万:AI 时代,间隔重复为何依然不可替代

GitHub June 2026
⭐ 28458📈 +200
来源:GitHub归档:June 2026
基于 SM-2 间隔重复算法的开源闪卡应用 Anki,GitHub 星标已突破 2.8 万,日均新增 200 星。在 AI 生成学习工具盛行的当下,AINews 深入剖析这款 15 岁“老将”为何仍是医学生、语言学习者和记忆运动员的首选,并展望其未来走向。

Anki 不仅仅是一款闪卡程序,它是目前最成熟的间隔重复软件(SRS)实现,其代码库经过十余年打磨。核心算法 SM-2 由 Piotr Woźniak 原创,根据用户反馈计算最优复习间隔,大幅缩短信息进入长时记忆所需时间。Anki 通过插件实现高度可扩展——AnkiWeb 上有超过 1000 个插件——支持嵌入图片、音频、视频甚至 LaTeX 公式,使其成为通用记忆平台。其主要应用场景涵盖医学考试备考(USMLE、MCAT)、语言学习(尤其是通过 Migaku 和 AJT 插件学习日语和中文)以及法律条文记忆。然而,其原生界面常被形容为“实用主义”风格。

技术深度解析

Anki 的技术根基是 SM-2 间隔重复算法,但项目本身已发生显著进化。原始算法用 Python 实现,采用简单的参数矩阵:难度系数(EF)、间隔和重复次数。当用户将卡片评为“重来”(0)、“困难”(1)、“良好”(2)或“简单”(3)时,算法会调整下一次复习间隔。公式如下:

- 如果评分 < 3:重置到学习阶段
- 如果评分 >= 3:新间隔 = 旧间隔 * EF
- EF = EF + (0.1 - (5 - 评分) * (0.08 + (5 - 评分) * 0.02))

这一算法是确定性的且易于理解,但存在局限:它将所有相同难度的卡片等同对待,无法适应个体用户的记忆模式。社区通过 Free Spaced Repetition Scheduler(FSRS) 解决了这一问题,该调度器在 Anki 23.10 中引入。FSRS 使用三参数逻辑模型(稳定性、难度和可提取性),基于用户自身的复习历史进行训练。该模型可预测任意时刻的回忆概率,调度器据此设置间隔以维持目标保留率(默认 90%)。这是一项重大改进:在相同保留率下,FSRS 相比 SM-2 可减少高达 30% 的复习负担。

架构: Anki 使用 Python 编写(桌面端 Qt6,网页端 JavaScript),数据库采用 SQLite。卡片模型采用模板系统,其中字段(如正面、背面)映射到 HTML/CSS 模板,支持富媒体嵌入。插件系统历史上基于 Python,但 24.0 版本引入了 TypeScript API,支持更快的开发和更好的沙箱隔离。移动端应用(iOS 版 AnkiMobile、Android 版 AnkiDroid)是原生移植,通过 AnkiWeb 同步,AnkiWeb 充当中央中继服务器,使用 PostgreSQL 后端并提供 500 MB 免费存储。

性能基准测试: FSRS 调度器已在大型数据集上与 SM-2 进行对比测试。下表展示了官方 FSRS 基准测试结果,数据来自 Anki 社区的“20k reviews”数据集:

| 调度器 | RMSE(越低越好) | 日均复习数 | 保留率(目标 90%) |
|---|---|---|---|
| SM-2 | 0.124 | 45 | 87.2% |
| FSRS v4 | 0.087 | 32 | 89.8% |
| FSRS v5(Anki 24.0) | 0.079 | 30 | 90.1% |

数据要点: FSRS v5 将每日复习负担减少 33%,同时实现了更接近目标的保留率,证明数据驱动的调度优于启发式的 SM-2。升级到 Anki 24.0 的用户可以在相同记忆质量下体验到更少的复习量。

开源生态系统: 主仓库(ankitects/anki)拥有 28,458 颗星标和 1,200 个分支。最活跃的子项目包括:
- AnkiDroid(ankidroid/Anki-Android):8,000+ 星标,最受欢迎的 Android SRS 应用
- AnkiConnect(FooSoft/anki-connect):2,000+ 星标,支持基于 HTTP 的自动化(例如从浏览器自动导入)
- FSRS4Anki(open-spaced-repetition/fsrs4anki):1,500+ 星标,FSRS 的参考实现

社区正在积极开发基于 Rust 重写的核心引擎(名为“Anki Next”),有望带来更好的性能和内存安全性。

关键参与者与案例研究

Anki 的生态系统是去中心化的,没有单一公司主导开发。项目由 Damien Elmes(又名“dae”)维护,他作为唯一维护者已超过十年。他通过付费的 AnkiMobile 应用(iOS 上售价 24.99 美元)实现商业化,这笔收入支撑他全职投入项目开发。Android 版本(AnkiDroid)是开源且免费的,由志愿者团队维护。

竞品对比: Anki 面临来自传统 SRS 工具和 AI 原生学习平台的双重竞争。下表对比了关键玩家:

| 产品 | 定价 | 算法 | AI 功能 | 平台 | GitHub 星标 |
|---|---|---|---|---|---|
| Anki | 免费(桌面端),24.99 美元(iOS) | SM-2 / FSRS | 无原生功能(通过插件实现) | Win/Mac/Linux/iOS/Android | 28,458 |
| RemNote | 免费版,8 美元/月 Premium | 自定义 SRS + SM-2 | 从笔记中 AI 生成闪卡 | Web/iOS/Android | — |
| Memrise | 免费版,14.99 美元/月 Pro | 专有算法 | AI 生成助记符、视频片段 | Web/iOS/Android | — |
| Quizlet | 免费版,7.99 美元/月 Plus | Leitner 系统 | 从文本中 AI 生成闪卡 | Web/iOS/Android | — |
| Mnemosyne | 免费 | SM-2 变体 | 无 | Win/Mac/Linux | 1,200 |

数据要点: Anki 的主要优势在于其零成本的桌面应用和无与伦比的插件生态系统。然而,它缺乏原生 AI 功能,而竞品正在积极整合这些功能。例如,RemNote 使用 GPT-4 从 PDF 生成闪卡,这在 Anki 中需要通过第三方插件“AnkiGPT”(500+ 星标)手动设置才能实现。

案例研究:医学生。 /r/medicalschoolanki 子版块拥有 15 万成员,像“AnKing”(一个包含 3 万+ 卡片的综合 USMLE 牌组)这样的共享牌组已被下载数百万次。

更多来自 GitHub

Valkey-Go客户端:RDMA与自动管道技术重新定义Redis性能Valkey项目诞生于Redis许可证变更后的分支,如今发布了valkey-go——一款为极致性能而生的Go客户端。与通用Redis客户端不同,valkey-go与Valkey服务端特性紧密耦合,提供客户端缓存(CSC)以减少网络往返、自动Valkey 超越 Redis:开源分支如何重塑实时数据基础设施在 Redis 将其许可证从 BSD 变更为 SSPL/RSAL 双重模式引发争议后,开源社区并未等待太久便做出了回应。Valkey 从 Redis 7.2 最后一个完全开源版本分叉而来,并立即被 Linux 基金会接纳,现已崛起为主要替代Claude-Tap 曝光 AI 编程代理:开发者必备的调试利器Claude-tap 是一款托管在 GitHub 上的轻量级 MITM 代理工具,发布后迅速在调试 AI 编程助手的开发者中走红。上线仅数天,便收获了超过 1,588 颗星,日增量达 +186,凸显了市场对代理可观测性的强烈需求。该工具拦截查看来源专题页GitHub 已收录 2531 篇文章

时间归档

June 2026903 篇已发布文章

延伸阅读

FSRS4Anki:用机器学习重写记忆科学的革命性插件一款名为FSRS4Anki的免费开源Anki插件,正用机器学习模型取代沿用数十年的SM-2算法。它能根据每位用户独特的记忆模式动态优化复习间隔,早期用户报告每日复习量减少30%-50%,同时保持甚至提升记忆留存率。Hello Algorithm:36K星标,但真能搞定算法面试吗?开源仓库 geekxh/hello-algorithm 凭借一条从入门到求职的结构化路径,已斩获超过36,000颗星标。但一堆PDF和思维导图,真能让候选人在如今严苛的编程面试中脱颖而出吗?AINews 深入调查。freeCodeCamp 如何以 2000+ 挑战平台重塑可扩展编程教育freeCodeCamp 的学习平台代表了可扩展编程教育的范式转变,提供涵盖全开发栈的 2000 多项交互式挑战。AINews 分析揭示,其开源、社区驱动的模式如何实现前所未有的覆盖范围,同时暴露了可访问性与教育深度之间的根本权衡,这将塑造Valkey-Go客户端:RDMA与自动管道技术重新定义Redis性能Valkey-io/valkey-go,一款专为Valkey内存数据库打造的Go语言客户端,凭借原生RDMA支持与自动请求管道技术,誓言打破延迟纪录。AINews深入探究这一开源项目能否在生产环境中撼动根深蒂固的Redis客户端地位。

常见问题

GitHub 热点“Anki at 28K Stars: Why Spaced Repetition Still Matters in the AI Age”主要讲了什么?

Anki is not just a flashcard program; it is the most mature implementation of spaced repetition software (SRS) available, with a codebase that has been refined over a decade. The c…

这个 GitHub 项目在“Anki FSRS vs SM-2 algorithm comparison”上为什么会引发关注?

Anki's technical foundation rests on the SM-2 spaced repetition algorithm, but the project has evolved significantly. The original algorithm, implemented in Python, uses a simple matrix of parameters: ease factor (EF), i…

从“Best Anki plugins for medical students 2025”看,这个 GitHub 项目的热度表现如何?

当前相关 GitHub 项目总星标约为 28458,近一日增长约为 200,这说明它在开源社区具有较强讨论度和扩散能力。