はじめに
暗記カードアプリ「キオクSync」を一人で作っています。
最近、学習画面に「先生」を入れました。
といっても、チャットで何でも答えてくれるAIアシスタントではありません。
決まった場面で、1〜2文だけ口を出す存在です。
たとえば、同じカードを3回続けて間違えたとき。
3回続けて間違えています。覚え方を一つ決めましょう。
これだけです。
この一言を決めるまでに、文言のルールを1ページにまとめました。
今回はその「先生の話し方の原則」と、実際に出来上がった機能の話を書きます。
コードはほとんど出てきません。判断基準の話です。
なぜ「先生」が必要になったか
暗記アプリを運営していると、あるパターンが見えてきます。
同じカードを、何度も、同じように間違える人がいる。
忘却曲線に沿って復習間隔を伸ばすアルゴリズムは、「覚えたら間隔を伸ばす」ことは得意ですが、「覚えられないカード」には打つ手がありません。
翌日また出す、また間違える、また翌日出す。回数を積んでも、覚え方を変えない限り抜けられない。
つまり必要なのは、回数を増やすことではなく、「このカード、覚え方を変えたほうがいいですよ」と横から言う誰かでした。
それを「先生」と呼ぶことにしました。
先に決めたのは「何を言うか」ではなく「何を言わないか」
AIで文言を作れる時代なので、「励ましのメッセージを生成して出す」のは簡単です。
でも、勉強アプリで一番やってはいけないのがそれだと思っています。
「すごい!」「天才!」「きっとできる!」を連発するアプリは、3日で信用を失います。
一方で、「他の人はもっと進んでいます」「前より悪くなっています」は、翌日から開かれなくなります。
なので、先生の文言を書く前に「言わないことリスト」を先に作りました。
言わないこと
- 叱責・皮肉・比較。 「他の人は」「前より悪く」は禁止。連打しても、5日サボっても、責めない。事実だけ伝える。
- 過剰な称賛。 「すごい」「天才」「完璧」は禁止。褒めるなら事実を褒める(「7日続いています」)。
- 根拠のない励まし。 「きっとできます」「大丈夫」は禁止。
- 課金や機能の宣伝。 特に中高生には課金の話を一切しない。
- 「AIが」という主語。 生成した覚え方の案は「覚え方の案です」と言い、出所は小さく「AIによる提案」と書くだけ。
言うこと
- 詰まっている事実(何回、どの選択肢と混同、いつから)
- 本当に覚えたかの確認(「1秒で答えています。自信がなければ『あやしい』を押しましょう」)
- 締切から逆算した今日の量(「試験まで30日、今日は20枚で間に合います」)
- 終わったときの一言(「今日の分は終わりです。お疲れさまでした」)
3つのルール
言わないことリストを裏返すと、ルールは3つに収まりました。
1. 叱らない
主語を省きます。
「あなたは3回間違えました」ではなく「3回続けて間違えています」。
責めているのは人ではなく、カードの状態だと伝わる書き方にします。
初回の不正解では何も言いません。翌日また出ます、と画面が示せば十分です。
先生が出てくるのは「繰り返している」ときだけ。
2. 褒めすぎない
感嘆符は1メッセージに最大1つ。絵文字は使わない。
断定は事実にだけ使い、推測は「〜のようです」「〜かもしれません」で止める。
3. 数字で話す
1メッセージは3文以内、80字以内。
順序は固定で 「事実 → 意味 → 次の一手」。
このカードは5回中4回間違えています。似た選択肢と混同しているようです。違いを1つだけ覚えましょう。
数字は事実の根拠にだけ使い、飾りの数字は入れない。
そして次の一手は必ず1つ。選択肢を並べない。並べた瞬間に、それは先生ではなく設定画面になります。
場面ごとの「型」
ルールを場面に落とすと、こういう表になりました。
新しい文言を書くときは、必ずこの表のどれかに当てはめてから入れます。
| 場面 | 型 | 例 |
|---|---|---|
| 学習開始 | 今日の量と根拠 | 今日は復習12枚です。期限が来たカードだけ選んでいます。 |
| 不正解(初回) | 何も言わない | (出さない) |
| 不正解(繰り返し) | 事実 + 一手 | 3回続けて間違えています。覚え方を一つ決めましょう。 |
| 速すぎる正解 | 確認 | 1秒で答えています。自信がなければ「あやしい」を押しましょう。 |
| 完全定着を間違えた | 事実 + 判断 | 定着済みでしたが間違えました。定着化中に戻します。 |
| 学習終了 | 事実 + ねぎらい | 20枚、正答率85%でした。今日の分は終わりです。 |
| 締切が厳しい | 事実 + 現実的な一手 | 試験まで10日、未習得が120枚です。1日15枚で間に合います。 |
| 何日も来ていない | 責めない再開 | 5日ぶりです。期限切れが30枚あるので、今日は10枚だけにしましょう。 |
| エラー | 謝罪1文 + 次 | 保存できませんでした。通信を確認してもう一度試しましょう。 |
「何も言わない」が型として入っているのがポイントです。
黙っているのも、先生の仕事のうちです。
実装した第1段:「つまずき中」と本人メモ
原則ができたので、最初の介入を1つだけ実装しました。
判定は2つの数字だけ
- 3回続けて間違えたら「つまずき中」
- 2回続けて正解したら解除
「苦手」「要注意」という言葉は使いません。
一時的な状態で、抜けられることが伝わる言葉として「つまずき中」を選びました。
しきい値は定数にしてあります。
class StumbleRule {
/// 連続不正解がこの回数に達したら「つまずき中」
static const int flagAfterWrongStreak = 3;
/// 連続正解がこの回数に達したら解除
static const int clearAfterCorrectStreak = 2;
}
出てくるのは答えを見た瞬間だけ
学習画面で答えが表示されたとき、次のどれかならパネルを出します。
- つまずき中
- 自分で書いた覚え方メモがある
- 直前にこのカードを間違えている
それ以外は出しません。常時表示はしない。
※ 画面は説明用に生成したモックです。実際のアプリ画面とは異なります。
パネルには先生の一言と、「覚え方をメモ」ボタンだけ。
メモは200字まで。「覚え方を一つ決めましょう」と言った以上、決めた覚え方を残す場所が要ります。
次にそのカードで間違えたとき、先生はこう言います。
前に決めた覚え方があります。
新しい助言ではなく、本人が決めたものを指すだけ。これも「次の一手は1つ」の応用です。
出さない場所も決めた
- ホーム画面やデッキ一覧には「つまずき中◯枚」を出さない。煽らない。
- カード一覧には小さなバッジだけ。
- 学習の準備画面に「うち つまずき中 N枚」を、N > 0 のときだけ。
つまずきの数を目立たせると、それ自体がプレッシャーになります。
見るべき人が、見るべき場面で、見えれば十分です。
やってみて分かったこと
文言のレビューが一瞬で終わる
「この文言どうですか」に対して、「型のどれ?」「3文以内?」「次の一手は1つ?」で判定できます。
好みの議論がなくなりました。自分一人の開発でも、これは効きます。
AIに文言を作らせるときの指示書になる
原則の1ページをそのまま渡すと、AIが出してくる文言のブレがほぼ消えました。
「励まして」と頼むと「すごい!」が返ってきますが、「事実→意味→次の一手、80字以内、感嘆符1つまで」と渡すと、ちゃんと先生の声になります。
「何も言わない」を決めるのが一番難しい
作る側は、せっかく作った機能を見せたくなります。
でも初回の不正解で先生が出てきたら、それは先生ではなく通知です。
黙る場面を先に決めておかないと、機能が増えるたびに先生が喋りすぎるようになります。
おわりに
先生の話し方の原則は、今のところ1ページ、A4で1枚分です。
機能を足すたびに、まずこの1枚に当てはまるかを確認しています。
まだ第1段で、セッション内での再出題強化や、覚え方のコツをAIで提案する部分はこれからです。
ただ、どんな機能を足しても「叱らない・褒めすぎない・数字で話す」の外には出ないと決めているので、迷わずに済んでいます。
同じような「アプリの中の人格」を作っている方の参考になれば嬉しいです。
キオクSyncはWebとアプリで無料から使えます。
https://www.kiokusync.com/



