2026年のFSRSとSM-2を比較: より覚えやすい間隔反復アルゴリズムはどちらか
フラッシュカードアプリは、最初の 1 週間くらいは賢く見えます。ところがその後、簡単なカードが何度も戻ってきたり、難しいカードが変な間隔で消えたりして、学習より管理作業をしている気分になってきます。
たいてい問題は、見た目ではありません。
スケジューラです。
長いあいだ、この分野の定番は SM-2 でした。仕組みが単純で、広く知られていて、「間隔反復は効く」と示すには十分だったからです。
私は SM-2 が悪いとは思っていません。
古くなったと感じています。
だから 2026 年に問うべきなのは、「間隔反復は本当に効くのか」ではありません。それはもう明らかです。大事なのは、今使っているフラッシュカードアプリのスケジューラが、いまでも標準として妥当かどうかです。
なぜ SM-2 はここまで長く使われてきたのか
SM-2 が長く残ったのには、きちんと理由があります。
理解しやすく、実装しやすく、名前も十分に知られていたので、多くのフラッシュカード製品が深く考え直さずに採用できました。長いあいだは、それで困らなかったのです。
もちろん、ランダムな復習や固定間隔よりは今でもずっと優れています。
ただし「ランダムよりまし」というのは、本気で学習するための道具としては高い基準ではありません。
カードをいつ出し直すかが学習成果を左右するなら、スケジューラは単なる裏側の実装ではありません。製品の中核そのものです。
FSRS が変えるもの
FSRS も目標は同じです。ただ、より良い記憶モデルでそれを扱います。
ざっくりした ease ベースの考え方に頼るのではなく、次のような要素を追跡します。
- 安定度
- 難しさ
- 復習履歴
- 目標の定着率
そのぶん、各カードに何が起きているのかをスケジューラがより正確に把握できます。
実際の体感としては、たいてい次のような違いになります。
- すでに覚えているカードに時間を取られにくい
- 苦手なカードの間隔調整が自然になる
- 復習キューが理不尽に感じにくくなる
数式を読みたくない学習者でも、ここははっきり分かります。
実際に感じる違い
多くの人は、FSRS と SM-2 の違い を方程式で比較しません。
2 週間ほど使って体感します。
弱いスケジューラだと、簡単なカードが何度も出てきてうっとうしくなります。難しいカードは、戻ってくるタイミングがどこか不自然です。キュー全体が少しずつずれている感じが続き、それだけで毎日の復習が重くなります。
この違和感は、見た目以上に大きな問題です。
フラッシュカードは習慣の道具です。復習の流れが本来より重く感じると、効率が落ちるだけではありません。翌日またアプリを開きたい気持ちそのものが弱くなります。
だからこれは、学習オタク向けの細かい実装の話ではありません。明日も使い続けられるかを左右する話です。
FSRS が強いポイント
本気で学ぶ人にとって、FSRS は本当に大事な部分で強さがあります。
- 復習量を抑えやすい
- 目標の定着率を明示して調整できる
- 思い出しにくさに応じた現実的な間隔調整がしやすい
- すでに覚えているカードの無駄な繰り返しを減らせる
最近 Anki FSRS への関心が高いのも、このためです。略称が新しいからではありません。キューが大きくなるにつれて、悪いタイミングの不自然さが目立ち、FSRS のほうがしっくりくるからです。
それでも SM-2 が残っている理由
SM-2 は説明が簡単です。
小さな試作を作るとき、間隔反復の考え方を教えるとき、あるいは非常に軽量なフラッシュカードツールを作るときには、その単純さに大きな魅力があります。
単純な仕組みの中で残っていること自体は不思議ではありません。
ただ、より良いスケジューラを使える本格的なフラッシュカードアプリで、長期の標準として採用し続ける理由としては弱いと思います。
略称より、地味な実装のほうが大事
比較記事がよく飛ばすのは、ここです。
「FSRS を使っています」と書くだけで、フラッシュカード製品が良くなるわけではありません。
大事なのは、実装が本当に丁寧かどうかです。
Flashcards では、FSRS は単なるマーケティング用のラベルではなく、製品として守るべき契約として扱われています。スケジューラの挙動はバックエンドと iOS アプリでそろえられており、web アプリはスケジューリング用データ契約を共有しつつ、別の独立した FSRS 実装は持ちません。各カードには内部の記憶状態が保存され、learning steps と relearning steps は明示され、desired retention、learning steps、relearning steps、maximum interval、fuzz などのワークスペース設定も扱えます。さらに、スケジューリング時には reviewedAtClient を通じて実際のクライアント側レビュー時刻を使います。
一見すると裏側の細かい話ですが、複数のクライアントで同じカードが同じようにスケジュールされるか、少しずつずれていくかを決めるのは、まさにこうした部分です。
そしてスケジュールがずれ始めると、ユーザーは理由を説明できなくても違和感をすぐ感じます。
学習者が気にすべきこと
フラッシュカードツールを選ぶなら、機能一覧よりも、私は次の地味な問いを重視します。
そのカードは、いつ戻ってくるのか。そして、何百回・何千回と復習したあとでも、そのタイミングに納得できるのか。
そこでこそ、良いフラッシュカード用アルゴリズムの差が出ます。
理論上ではなく、
復習量で、
定着率で、
キューが助けになるのか、罰に感じるのかで差が出ます。
では 2026 年、より良い間隔反復アルゴリズムはどちらか
多くの現実的な学習ワークフローでは、FSRS のほうがより良い間隔反復アルゴリズム です。
SM-2 がこの分野を形作った功績は大きいと思います。ただ、いま新しいアプリを作るにしても、選ぶにしても、標準としてより筋が通っているのは FSRS です。
スケジューラが扱える情報が増え、調整の自由度が上がり、ざっくりした近似ではなく実際の記憶状態に復習タイミングを合わせやすくなるからです。
それこそが、間隔反復の本質です。
スケジューリングの質を単なるチェック項目ではなく、製品の中心的な判断として扱う オープンソースのフラッシュカードアプリ を探しているなら、Flashcards はその方向で作られています。