Anchor Cards(以下 Anchor)は、カードを自分では1枚も持たない間隔反復アプリです。覚え直すカードの正本はあなたの GitHub リポジトリにある Markdown ファイルで、アプリはそれを読みに行って出題し、学習ログと弱点メモだけを書き戻します。
アプリの中にカードを作る画面はありません。カードを作る・直すのは、PC や iPad の AI エージェント(Claude や ChatGPT など)か、あなた自身のエディタです。
前提にしている使い方
AI エージェントが教師、あなたは生徒という分担です。
- 覚えたい題材を AI エージェントに伝えると、カードを Markdown で書いて GitHub に置いてくれる
- Anchor がそれを読みに行って出題する
- 復習中に「この説明はおかしい」と気づいたら、その場でカードの ID をコピーして隣の AI エージェントに渡す
- AI エージェントが直して PR を出す。その PR を、アプリの「変更」タブで出題と同じ形のまま読む
- 問題なければマージする。次の同期で手元に降りてくる
この3〜5の往復が Anchor の中心です。アプリはこの輪の中で読む係だけを担当します。
直すために別のアプリへ出ていかないで済むのがこの輪の要点です。AI エージェントを隣に置いたまま、直した結果を Anchor の中で読み、開いたまま待てば次のコミットに追従します(変更(PR))。
Anki との違い
Anki のクローンではありません。設計の違いは3つです。
カードを作る労力を、アプリの外へ出した
暗記アプリが続かない最大の理由は「良いカードを作り込む労力」です。Anchor はそこを AI エージェント前提の設計で消します。アプリに作成・編集の経路を持たせないので、アプリ側からカードが壊れることが構造的に起きません。
同じ定義を何枚にも書き写さない(参照と表示時展開)
同じ定義を10枚のカードに書き写すと、定義が変わるたびに10枚直すことになり、必ずどれかが古いまま残ります。Anchor では本文を定義カード1枚に置き、問題カードからは参照だけを書きます。
**定義** [[stat-sd-def]]
出題のときに参照先の裏面を差し込んで表示します(保存されている Markdown は書き換えません)。展開は1段だけです(循環参照よけ)。詳しくはカードの書式。
**定義** [[stat-sd-def]] の1行だけです。太字の「定義」はラベルとして残り、そのあとに参照先の裏面が差し込まれます。定義を直すときに触るのは、参照先の1枚だけです。カードがアプリから独立している
カードはあなたのリポジトリにある普通の Markdown です。アプリを消しても手元に残り、Git の履歴がそのまま学習の履歴になり、エディタでも GitHub の画面でも AI エージェントからでも読めます。.apkg のようなバイナリ形式は使いません。
用語
| 語 | 意味 |
|---|---|
| vault | カードを置いてある GitHub リポジトリ1つ |
| カード | vault の中の Markdown ファイル1つ(v2 では 1ファイル=1枚) |
| デッキ | カードのまとまり。出題はデッキ単位で始める |
id | カードの不変の名前。学習履歴とカードを結ぶ唯一の鍵 |
| 学習ログ | data/reviews/YYYY-MM-DD.jsonl。採点の記録で、これだけが履歴の正本 |
| 参照 | [[id]] で別のカードの裏面を差し込む書き方 |
| FSRS | 次にいつ出すかを決めるアルゴリズム(スケジューリング) |
やらないこと
- アプリ内でのカード編集・作成(上記のとおり、持たないことが設計)
- アプリ内での AI 推論(アプリはネットワーク越しに推論しません)
- 自前のサーバー(バックエンドはあなたの GitHub だけ)
- Anki 互換(
.apkgの読み書きはしません) - ストリーク・XP・紙吹雪(続けること自体を報酬にすると、量を稼ぐために雑に押す動機ができるため)