刚刚,Anki 用户吵翻了:新一代间隔重复算法 FSRS 到底开不开?
刚刚Anki 用户吵翻了新一代间隔重复算法 FSRS 到底开不开【免费下载链接】ankiAnki is a smart spaced repetition flashcard program项目地址: https://gitcode.com/GitHub_Trending/an/ankiAnki 的牌组选项页里有一个开关能让老用户犹豫很久是否启用 FSRS。一边是以复习量更少、遗忘更可控为论据的拥趸另一边是我复习了五年凭什么现在改算法的保守派。争论的焦点从来不是FSRS 好不好而是三件很实际的事它和 SM-2 到底差在哪、切换之后我积累的复习历史会不会被浪费、我该怎么根据自己的数据做决定。这篇文章把这三件事拆开讲。所有结论都基于 Anki 仓库中的真实源码核心调度逻辑全部用 Rust 实现于rslib/src/scheduler/和官方手册docs-site/manual/不引用任何无法验证的听说。FSRS 是什么DSR 三状态模型对易度因子的取代先说清楚老算法在做什么。Anki 至今保留着基于 SuperMemo 2SM-2的完整实现其核心逻辑在 rslib/src/scheduler/states/review.rs 里一目了然卡片毕业进入复习阶段后拿到一个初始易度因子INITIAL_EASE_FACTOR: f32 2.5按按钮线性增减——pub const INITIAL_EASE_FACTOR: f32 2.5; pub const MINIMUM_EASE_FACTOR: f32 1.3; pub const EASE_FACTOR_AGAIN_DELTA: f32 -0.2; pub const EASE_FACTOR_HARD_DELTA: f32 -0.15; pub const EASE_FACTOR_EASY_DELTA: f32 0.15;Good 的下次间隔就是当前间隔 × 易度因子见同文件passing_nonearly_review_intervals。整个模型只有一个自由度ease。它无法回答这张卡到底什么时候会忘只能靠一个缓慢漂移的系数去近似。FSRS 则建立在官方文档 docs-site/faqs/what-spaced-repetition-algorithm.mdx 所述Three Component Model of Memory之上每张卡片维护一组DSR 记忆状态SStability稳定性可提取性从 100% 衰减到 90% 所需的天数DDifficulty难度这张卡本身有多难决定了复习后稳定性增长的快慢RRetrievability可提取性此刻能回忆起来的概率由 S 和距上次复习的时间推得每天变化而 D、S 只在每次作答后更新。在源码里这组状态直接挂在卡片对象上rslib/src/scheduler/answering/review.rs 中每次作答后self.card.memory_state next.memory_state;把新的 S、D 写回卡片。作答按钮的效果也完全改变——不再是加减 ease而是按 what-spaced-repetition-algorithm.mdx 的描述Again 使稳定性骤降、难度骤升Easy 使稳定性大幅上升、难度下降。工程上有两个细节值得注意它们直接解释了迁移成本参数是优化出来的不是设计出来的。Anki 通过 workspace 依赖引入社区维护的fsrscrate见根目录 Cargo.toml[workspace.dependencies.fsrs] version 6.6.2并内置优化器rslib/src/scheduler/fsrs/params.rs 会训练后做健康检查health_check_passed当训练集超过 300 条记录时才返回评估结果。也就是说FSRS 的准来自对你个人 revlog 的机器学习拟合——没有足够复习数据的人FSRS 只有默认参数没有个性化优势。历史记忆状态是算出来的不是搬过来的。开启 FSRS 时rslib/src/scheduler/fsrs/memory_state.rs 的set_memory_state会优先回放完整 revlog 推导初始 S、D如果 revlog 被截断常见于导入的旧卡组或清理过历史的集合则退而用fsrs.memory_state_from_sm2(ease_factor, interval, historical_retention)从 SM-2 的 ease 和间隔反推一个近似起点。这段代码意味着你的五年复习历史没有被扔掉而是被翻译进了 DSR 模型——这也是官方敢于在 23.10 把 FSRS 集成为内置算法的底气见 docs-site/releases/changes/changes/23.10.mdx当时还要求清掉自定义调度里的旧 FSRS 代码。为什么现在吵三个真实的迁移顾虑社区里对 FSRS 的分歧本质上是这三个问题每一个都能在仓库里找到对应的证据顾虑一复习量会不会突然爆炸官方手册 docs-site/manual/deck-options.mdx 明确说开启 FSRS 时Reschedule Cards on Change默认是关闭的——future reviews will use the new scheduling, but there will be no immediate change to your workload并特意警告从 SM-2 首次切换时不建议打开重排期因为它会让大量卡片立刻到期且给每张卡都追加一条 revlog、撑大集合体积。但注意不重排期也意味着你短期内看不到 FSRS 的任何效果——旧间隔还要按旧日期到期。所以开了没感觉和开了爆炸是同一枚硬币的两面这正是论坛里各执一词的根源。顾虑二我的使用习惯会不会被算法惩罚手册写得很直白FSRS 无法适应一种习惯——忘答时按 Hard 而不是 Again。因为 Hard 是及格分按 Hard 会让所有间隔变得unreasonably high。此外官方 FAQ docs-site/faqs/frequently-asked-questions-about-fsrs.mdx 的健康检查一节列举了 FSRS 失效的典型原因复习量太少少于几百条、Hard 误用、忘答不按 Again。也就是说FSRS 对作答纪律的依赖比 SM-2 更强数据不干净的人开 FSRS 反而更糟。顾虑三生态兼容性与客户端版本。手册Before Enabling清单要求Anki 23.10、AnkiMobile 23.10、AnkiWeb、AnkiDroid 2.17 全端支持且曾使用自定义调度版 FSRS 的必须先清空自定义调度同时提醒任何会修改间隔和调度的插件都不建议与 FSRS 同用。对重度插件用户来说这是实打实的迁移摩擦。另外 docs-site/manual/deck-options.mdx 还要求把学习/重学习步骤全部设到 1 天以内否则可能出现 Hard 按钮显示的间隔比 Good 更长这类反直觉现象。还有一个常被忽略但源码里写死的约束FSRS 是全局开关。rslib/src/deckconfig/update.rs 中self.get_config_bool(BoolKey::Fsrs) ! req.fsrs判断后写入的是集合级配置BoolKey::Fsrs而非预设级——你无法日语预设用 FSRS、地理预设用 SM-2。这直接排除了先小范围试点的路线要么全有要么全无。到底开不开按你的复习数据给判断框架把上面的约束收敛成决策树其实只需要回答四个问题。第一问你的复习历史有多长、多干净FSRS 优化器以 revlog 为训练数据。历史短几百条以内、或作答混乱忘答按 Hard的用户得到的只能是一套与默认值差异不大的参数个性化红利为零迁移成本却照付。这类情况建议先保持 SM-2把作答纪律修正一两个月再切。反过来revlog 完整且作答规范的用户memory_state_from_sm2的回退路径都不会触发S、D 全部由真实历史回放得出是收益最大的一批人。第二问你想用哪个旋钮控制复习强度这是两个算法最根本的体验差异。SM-2 里你调的是起始易度、易度增益、间隔乘数这类间接参数FSRS 里只有一个核心旋钮——期望保留率desired retention源码里的默认值就是desired_retention: 0.9见 rslib/src/deckconfig/mod.rs。官方给的压力曲线非常直观手册的措辞是超过 90% 后工作量迅速攀升超过 97% 会压垮人。如果你希望把记住多少变成一个可以直接设定和验证的目标配合Ascending retrievability排序和 rslib/src/stats/graphs/retrievability.rs 中的可提取性统计来验证FSRS 的模型明显更贴合这种诉求。第三问你能接受首次间隔变长吗官方 FAQ 第一条就承认FSRS 的 Good 首次间隔普遍比 SM-2 长SM-2 毕业固定 1 天→6 天的节奏不再成立但对成熟卡片恰恰相反——FSRS 更保守。对新卡占比较高的卡组语言学习常见切换后前两周的体感往往是怎么都不回来对以成熟卡为主的卡组则更可能是复习量下降。两种体验都正常提前知道预期就不会误判。第四问你的多端环境和插件生态允许吗任何一端旧客户端不支持FSRS 数据同步就会出问题依赖改间隔类插件官方点名if an add-on affects intervals and scheduling in some way, it shouldnt be used with FSRS的需要先做减法。综合建议复习量 ≥ 数千条、作答习惯干净、以成熟卡为主、全端已是新版——开且不勾Reschedule Cards on Change按一个月重新优化一次参数的节奏走刚起步或习惯混乱——先不急着开把数据攒干净FSRS 的优势本质上是用数据换精度没有数据就没有优势。SM-2 不会从 Anki 里消失两条路径至今并存于 rslib/src/scheduler/states/review.rs 的ctx.fsrs_next_states分支判断中这个开关的意义不是新取代旧而是让你自己决定愿意用多少迁移成本换多少调度精度。【免费下载链接】ankiAnki is a smart spaced repetition flashcard program项目地址: https://gitcode.com/GitHub_Trending/an/anki创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

微信小程序农产品直销电商系统开发实战解析

微信小程序农产品直销电商系统开发实战解析

做农产品直销小程序这个项目,是去年接手的一个真实需求。客户是老家那边一个果蔬合作社,手里有几十亩大棚和果园,之前一直走批发市场,价格被中间商压得厉害,想做一个能把农产品直接送到消费者手里的小程序。前后折腾了…

2026/10/10 23:53:22 阅读更多 →
东莞网络设备回收企业推荐口碑好的服务商汇总

东莞网络设备回收企业推荐口碑好的服务商汇总

东莞市星超科技有限公司是一家专注于网络设备全品类回收与一体化处置的企业,核心业务面向企业机房、园区、写字楼淘汰的交换机、防火墙、路由器、无线AP、光模块等网络硬件,同时承接机房升级、搬迁、信息化改造产生的闲置、下架、老旧设备,支…

2026/10/10 23:52:22 阅读更多 →
土豆目标检测数据集:YOLO与VOC双格式实战指南

土豆目标检测数据集:YOLO与VOC双格式实战指南

简介:本资源是面向农业AI与目标检测初学者及实践者的土豆目标检测专用数据集,适用于YOLO系列、Faster R-CNN等主流检测模型的训练与验证,可支撑智能分拣、田间监测、品质分级等实际场景建模。压缩包共310个文件,含152张JPEG图像、…

2026/10/10 23:52:22 阅读更多 →

最新新闻

基于CNN的图像风格迁移毕设实战:VGG19原理、PyTorch源码与调参避坑指南

基于CNN的图像风格迁移毕设实战:VGG19原理、PyTorch源码与调参避坑指南

简介:这是一份面向计算机、人工智能、通信工程等专业学生与教师的毕业设计级项目源码,基于CNN卷积神经网络实现图像与视频风格迁移,适合课程设计、毕设答辩或项目初期立项演示,也便于具备一定Python基础的学习者在此基础上二次开发…

2026/10/11 1:25:27 阅读更多 →
深度学习台风路径预测:CNN+LSTM模型实战与工程避坑指南

深度学习台风路径预测:CNN+LSTM模型实战与工程避坑指南

简介:面向深度学习与气象交叉领域的开发者与科研人员,这份资源聚焦“基于深度学习的台风路径预测”完整项目,覆盖卷积神经网络、长短期记忆网络、自编码器等模型在历史气压、风速、海洋温度数据上的训练与调优,系统梳理数据预处理…

2026/10/11 1:25:27 阅读更多 →
基于Python的PCA人脸识别:从原理到调参的完整实践指南

基于Python的PCA人脸识别:从原理到调参的完整实践指南

简介:面向大学生课程设计与机器学习初学者的PCA人脸识别算法资源包,基于Python完整实现了从数据预处理、协方差矩阵计算、特征值分解到特征脸构建与识别的全过程。包内共21个文件,包含4个Python源码模块、16张运行效果或步骤示意图&#xff0…

2026/10/11 1:25:27 阅读更多 →
可复用Python GAN工程包:绕过90%初学者崩溃现场

可复用Python GAN工程包:绕过90%初学者崩溃现场

简介:本资源是一份面向深度学习初学者与实践者的生成对抗网络(GAN)入门级Python实现项目,聚焦GAN核心原理的代码化呈现与可视化验证,帮助读者理解判别器与生成器的协同博弈机制。压缩包共11个文件,含5张训练…

2026/10/11 1:25:27 阅读更多 →
Wand-Enhancer:免费解锁 Wand(WeMod)Pro 功能的本地补丁指南

Wand-Enhancer:免费解锁 Wand(WeMod)Pro 功能的本地补丁指南

Wand-Enhancer:免费解锁 Wand(WeMod)Pro 功能的本地补丁指南 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/GitHub_Trending/we/Wand-Enhancer Wa…

2026/10/11 1:25:27 阅读更多 →
PCIe 4.0时代U.2连接器组装检测设备选型与工艺控制指南

PCIe 4.0时代U.2连接器组装检测设备选型与工艺控制指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 1:24:27 阅读更多 →

日新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 5:23:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 10:38:42 阅读更多 →