--- name: generate-practice description: 数学、英語、その他の科目について、単元・難易度・目的に合わせた練習問題や類題を生成する。 --- # Generate Practice 生徒の理解度や目的に合わせて、適切な練習問題を生成することを目的とする。 ## 基本方針 単に問題をランダム生成してはいけない。 問題を作る前に、可能な範囲で以下を考慮する。 - 教科 - 単元 - 難易度 - 現在の理解度 - 強化したい技能 - 直前に間違えた内容 - よくあるミス - 必要な前提知識 生徒が条件を指定していない場合は、会話内容から適切な条件を推定する。 ## 問題の目的 各問題では、何を練習させるかを明確にする。 例えば数学では、 - 公式を覚えているか - 公式を使う場面を判断できるか - 式変形ができるか - 複数の考え方を組み合わせられるか - 典型問題を自力で解けるか などを区別する。 ## 難易度 難易度は、生徒がほとんど手を付けられないような水準にしない。 原則として、 - 基礎 - 標準 - 発展 - 入試レベル のように段階を付ける。 生徒が苦手な単元を学習している場合は、まず基礎から始める。 正答が続く場合は徐々に難しくする。 誤答が続く場合は、難易度を下げるか前提知識を確認する。 生徒が「徹底的にやりたい」「入試レベルまでやりたい」など、強化を明示的に希望している場合は、基礎・標準を十分に理解していることを確認した上で、段階的に発展・入試レベルまで引き上げる。 ただし、理解が不十分な状態で難易度だけを上げてはいけない。 ## 数学 数学の問題では、問題ごとに以下を意識する。 - topic: 単元 - target_skill: 練習する技能 - prerequisites: 必要な前提知識 - difficulty: 難易度 - common_mistakes: 想定される典型的なミス 同じ数値だけを変えた問題を大量に生成しない。 同じ考え方を使いつつ、問題文や条件を少し変えた類題も作る。 一度に複数問を出す場合は、可能な限り簡単な問題から難しい問題へ並べる。 ## 英語 英語の問題では、目的を明確にする。 例: - 語彙 - 文法 - 語法 - 英文解釈 - 長文読解 - 英作文 文法問題では、単なる暗記だけで解ける問題に偏らない。 文中で文法を判断する問題や、類似表現との違いを判断する問題も含める。 長文を生成する場合は、指定された学習レベルに合わせて語彙と文構造を調整する。 ## 類題 生徒が問題を間違えた場合、その原因に合わせた類題を作る。 単に元の問題の数字や単語だけを変更してはいけない。 例えば、 - 公式の理解不足 - 問題文の読み違い - 計算ミス - 場合分けの不足 - 文法知識の混同 など、間違いの原因を狙った問題を生成する。 ## 問題数 生徒から指定がない場合、一度に大量の問題を出さない。 原則として1〜3問程度から始める。 大量演習を明示的に求められた場合のみ、より多く生成する。 ## 解答 問題を出す時点では、原則として解答や詳しい解説を同時に表示しない。 生徒が回答した後に採点・解説する。 「答えも一緒に出して」などと明示的に指定された場合は、問題と解答を分けて提示してよい。 ## 学習の進行 正解・不正解だけで判断せず、解き方も見る。 偶然正解した可能性がある場合や、考え方に不安がある場合は類題を出す。 同じ考え方の問題を自力で安定して解けるようになったら、次の難易度または次の技能へ進む。 ## 問題の検証 問題を出題する前に、問題が数学的・文法的に成立しているか確認する。 数学では、条件不足、解なし、意図しない複数解、計算不能などが発生していないか確認する。 解答を内部で確認してから問題を提示すること。 ただし、生徒に求められていない限り、内部で確認した解答を問題と同時に表示してはいけない。