間隔反復に対応した暗記カードアプリの作り方
暗記カードアプリは、デッキとカードのまとまり、各カードを表裏で切り替える復習画面、そして今日どのカードを見せるかを決めるスケジューラーでできています。スケジューラーこそが、役立つ勉強ツールと、デジタル化された単なるカードの山を分けるものです。間隔反復では、覚えているカードはめったに戻ってこず、苦手なカードはすぐに戻ってきます。まずは復習画面と簡単なスケジューラーを作り、インポート、画像、音声は後で追加してください。
暗記カードアプリに必要なもの
データ
| テーブル | 項目 |
|---|---|
| デッキ | 所有者、名前、説明、公開か非公開か |
| カード | デッキ、表、裏、任意の画像や音声、タグ、作成日 |
| カードの状態 | ユーザー、カード、次回の復習日、間隔、易しさまたは難易度、繰り返し回数、忘れた回数 |
| 復習の記録 | ユーザー、カード、時刻、評価(もう一度、難しい、良い、簡単)、かかった時間 |
カードの状態は、カードそのものとは分けて保存してください。デッキを共有する場合、同じカードを勉強している二人は、それぞれ自分の次回の復習日を持つ必要があります。また、すべての復習の記録も残してください。それは、スケジューラーを改善したり、進捗のグラフを表示したり、後でアルゴリズムを切り替えたりするために必要になる履歴です。
画面
- デッキの一覧 — それぞれのデッキで今日復習すべき枚数を表示。
- カードの編集画面 — 素早い入力が大切です。表、裏、保存、次へ。パソコンではキーボードのショートカットを用意します。
- 復習画面 — 表を見せ、タップすると裏が表示され、大きな四つのボタンのどれかで評価します。このアプリの利用の90%は、この画面で行われます。
- 統計 — 一日に復習したカード数、定着率、今後の作業量。
- インポート — CSVまたはタブ区切りのテキストから。ほとんどの他の暗記カードツールがエクスポートできる形式です。
スケジュールの方法を選ぶ
ここで何かを発明する必要はありません。よく知られた三つの方法があります。
| 方法 | 仕組み | 向いている用途 |
|---|---|---|
| レイトナーの箱 | 正解するとカードは上の箱に移り、間違えると一番目の箱に戻る。箱が上がるほど復習の頻度は下がる | 最も作りやすく、説明しやすい |
| SM-2 | 各カードは間隔と「易しさ」を持ち、評価によって増減する | 実績があり、広く模倣されていて、テストしやすい |
| FSRS | 各カードを覚えている確率をモデル化し、目標の定着率に合わせてスケジュールする | より正確で、Ankiが選択肢として提供している |
最初のバージョンでは、レイトナーかSM-2を選んでください。具体例を含めてルールをプロンプトに書きます。たとえば「新しいカードを『良い』と評価したら、次は1日後、その次は3日後、その後は『良い』と評価されるたびに、前回の間隔のおよそ2.5倍。『もう一度』と評価したら、10分後に再表示し、間隔はリセットされる」といった具合です。
どの方法を選ぶにせよ、スケジューラーを一つの独立した関数にし、テストを付けるようAIに頼んでください。そうすれば、アプリの他の部分を触らずに、後で入れ替えられます。
決めるべきこと
誰にとっての「今日」か。 「今日の復習」は、利用者のタイムゾーンに従うべきです。多くの勉強アプリでは、午前4時に一日が切り替わるようにして、夜遅くの勉強が同じ日に数えられるようにしています。
一日の上限。 新しいカードの一日の上限がないと、熱心な利用者が500枚を追加し、一週間後に手に負えない復習の山に直面します。控えめな既定値を設定し、利用者が変更できるようにしてください。
カードの種類。 まずは基本の表と裏から始めてください。「リバース」カード(裏から表も問う)や穴埋めのカード(文の空欄を埋める)は人気がありますが、それぞれにルールが増えます。基本が動いてから追加してください。
デッキの共有。 教師がクラスとデッキを共有する機能は素晴らしいものですが、権限の問題でもあります。生徒は勉強できても編集はできず、教師の編集はリセットせずに全員に届く必要があります。
オフライン。 人は電車や飛行機の中で勉強します。プログレッシブウェブアプリは、今日のカードをキャッシュできますが、二台のオフライン端末からの復習を同期するのは、本当に難しいことです。最初のバージョンでは、オンライン専用で問題ありません。選択肢については、ネイティブアプリとプログレッシブウェブアプリの違いで解説しています。
うまくいく最初のプロンプト
スマートフォンを優先した、暗記カードのウェブアプリを作ってください。利用者はログインし、デッキを作り、表と裏(テキスト、任意で画像)を持つカードを追加できます。カードごとに、利用者ごとの復習の状態を持たせます:次回の復習日、間隔、易しさ、繰り返し回数、忘れた回数。アルゴリズムはSM-2を使ってください。評価は「もう一度、難しい、良い、簡単」で、「もう一度」では間隔がリセットされ、そのカードは10分後に再表示されます。スケジューラーは独立した、テスト付きの関数にしてください。復習画面は、表を見せ、大きな「答えを表示」ボタンを押すと、大きな四つの評価ボタンが出るようにしてください。「今日の復習」は利用者のタイムゾーンを使い、一日は午前4時に始まるものとします。新しいカードは既定でデッキごとに一日20枚までに制限します。すべての復習を記録してください。デッキの一覧には今日の復習枚数を、簡単な統計ページには一日あたりの復習数を表示してください。表と裏の列を持つCSVのインポートを追加してください。データはすべてデータベースに保存してください。
構築の手順
- デッキとカード。 デッキを二つ、カードを二十枚作ります。カードを追加する速さを確認してください。
- 復習画面。 スマートフォンで勉強してみてください。即座に反応しなければなりません。カードの間の遅れは、一日に何百回も感じられてしまいます。
- スケジューラーのテスト。 評価の順序と、期待される間隔の表をAIに与え、結果を確認します。その後、端末の時計を変えるか、数日先までを模擬するテストモードを頼んでください。
- 一日の上限とタイムゾーン。 夜遅くに復習して、翌日のキューが正しいか確認します。
- インポート。 数百枚の本物のCSVを取り込み、特殊文字、カードの中のカンマ、改行を確認します。
- 統計。 一日の復習数と、今後の復習予定数。グラフはシンプルに保ちます。
- 追加機能。 画像、語学カードの音声、リバースカード、共有デッキを一つずつ。
よくある失敗
- 復習日をカードに保存する。 復習日は利用者ごとでなければなりません。
- 復習の履歴を捨てる。 統計や、将来のスケジューラーに必要になります。
- 新しいカードの上限がない。 利用者は一週間で燃え尽きてしまいます。
- ボタンが小さい。 評価は片手で行われるので、ボタンは大きくし、誤タップしないよう十分に離してください。
- 直前の評価を取り消せない。 誤タップは毎日起こります。
- 「今日」をサーバーの時刻で決める。 利用者のタイムゾーンを使ってください。
- カードを編集したら進捗がリセットされる。 誤字を直しただけで、習熟したカードが最初に戻ってはいけません。
既製の製品が適している場合
ただ勉強したいだけなら、成熟した暗記カードアプリがすでにあり、その中には無料のものもあります。スケジューリング、同期、オフライン利用、共有デッキについて、長年の改良が重ねられています。特にAnkiには、コミュニティが作った膨大なデッキのライブラリがあります。それらを使ってください。
自作が向くのは、カードが何か大きなものの一部である場合です。たとえば、各レッスンを補強するために暗記カードを付けて販売する講座、教材に合わせたデッキを生徒に提供する語学学校、製品知識を社員に教える企業、または一般的なツールでは扱いにくいカードの種類を持つ科目などです。コンテンツ、デザイン、学習者のデータを自分で持てます。テストにはクイズアプリと組み合わせるか、オンライン講座プラットフォームに組み込んでください。
Mythexで作る
Mythexは、どのスマートフォンでも開けて、ホーム画面に追加できるウェブアプリとしてこれを作ります。チャットでアプリを説明し、プレビューのスマートフォンサイズの枠で復習画面を確認し、アカウントと進捗の保存を頼んでください。アプリに必要になると、Mythexは専用のデータベースを追加します。カードに画像や音声がある場合は、ファイルストレージも使えます。Proプランでは、Mythexはアプリを AndroidとiPhoneのアプリとしてラップすることもでき、Google Playの内部テストとTestFlightに送られます。エージェントにスケジューリングの関数を説明させてから信頼するには、質問モードを使ってください。動いたら、mythex.aiのリンクで公開します。
よくある質問
間隔反復とは何ですか?
間隔反復は、忘れてしまいそうなタイミングの直前にカードを再表示する方法です。よく覚えているカードは次第に長い間隔を空けて戻ってきて、間違えたカードはすぐに戻ってきます。すべてを均等に復習するより、勉強時間を効率よく使えます。
どの間隔反復のアルゴリズムを使うべきですか?
最初のバージョンなら、シンプルなレイトナーの箱方式やSM-2で十分であり、テストしやすいです。FSRSは、より新しく精度の高いスケジューラーで、Ankiでも選択肢として提供されています。復習の履歴がたまってから、チューニングのために検討する価値があります。
暗記カードのウェブアプリはオフラインで動きますか?
一部は可能です。プログレッシブウェブアプリは、アプリ本体と、その日のカードをキャッシュしておけるので、接続がなくても復習でき、再接続したら同期できます。二台の端末でオフライン中に行った復習を同期するには、慎重なマージのルールが必要なので、最初のバージョンはオンライン専用にすることも多いです。
コードを書かずに暗記カードアプリを作れますか?
はい。AIアプリビルダーは、説明からデッキ、カード、復習画面、スケジュールの仕組みを作れます。スケジュールのルールを、具体例とともに伝えて、その結果を確認してください。そのロジックが、アプリが学習に役立つかどうかを決めます。