STEP 1
次に確かめる知識を選ぶ
現行実装は、まだ直接評価していない知識、応用側のレイヤー、接続数の多い知識の順で優先度を付けます。最上位の候補を起点に、前提・応用として接続された知識を集め、最大5ノードを一回の出題対象にします。
現在の選択規則は優先順位ベースです。IRTや情報利得を使った選択は、現行コードにはまだ実装されていません。
STEP 2
一問の中に複数の段階を作る
ローカルOllama上のGemmaが、穴埋め・コード補完・記述式のいずれかを生成します。A・B・Cのように問題を分け、各パートを一つの知識ノードへ対応させます。過去の問題との重複を避け、学習者の立場、経験、目的に応じて語彙と難易度を調整します。
STEP 3
回答を理解度・確かさ・根拠へ変換する
回答の正誤だけでなく、途中式や説明をGemmaが読みます。各対象ノードについて理解度0〜1、確かさ0〜1、判断に使った回答中の根拠をJSONで返し、対象ノードが欠けていないかプログラムで検証します。
STEP 4
知識のつながりへ弱めながら伝える
直接評価が0.7以上なら前提方向へ「分かっている可能性」を伝え、0.3以下なら応用方向へ「追加確認が必要」という影響を伝えます。影響はエッジの重み、評価の確かさ、距離減衰0.6を掛け、遠い知識ほど小さくします。既存値がある場合は以前40%・新しい値60%で統合します。
STOP RULE
5問または不確かな知識がなくなれば終了
理解度が0.3〜0.7の知識と未評価の知識を「追加確認が必要」とします。それらがなくなった場合、または5問に到達した場合に診断を終了し、理解済み、要復習、未確定、推奨開始地点をまとめます。