adaptive-hint-sequence-designer について
教師や知的チュータリングシステム向けに、答えをすぐ示さずに生徒のつまずきを解消する、段階的に具体化するヒントを設計します。各段階のヒント、提示条件、設計意図、ヒントを使い切った後の対応を含みます。
主な機能
- 01段階的に具体化するヒントを作成
- 02各段階の認知的役割を定義
- 03ヒントの提示条件を設定
- 04設計意図を説明
- 05最終提示後の対応を計画
活用シーン
- 01数学問題の段階的なヒントを設計
- 02よくあるつまずきへの手掛かりを用意
- 03チュータリングシステムの提示条件を設定
- 04答えを示した後に自己説明を促す
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ garethmanning/ education-agent-skills --skill adaptive-hint-sequence-designerインストール後、Claude Code で/adaptive-hint-sequence-designerを入力して読み込まれたか確認します。
詳細
適応型ヒントシーケンスの設計
このスキルでできること
特定の問題タイプに対して、段階的に具体性を増していく一連のヒントを設計します。生徒が答えをそのまま教えられることなく、行き詰まりを乗り越えられるよう支援します。これは、知的チュータリングシステム(ITS)の設計において、技術的に最も難しい要素の一つです。VanLehn(2011)のメタ分析から得られる重要な知見は、(人間かAIかを問わず)チュータリングの有効性が、足場かけの質に大きく左右されるということです。ヒントシーケンスは、その主要な足場かけの仕組みです。シーケンスを誤ると、生徒をいら立たせる(ヒントが曖昧すぎる、少なすぎる)か、生徒の学びを奪ってしまいます(ヒントが具体的すぎる、早すぎる)。出力には、ヒントカスケード全体(通常は、一般的な戦略的ガイダンスから具体的な手順上の促しまで、3~5段階)、各段階の認知的な役割を説明する設計上の根拠、発動条件(各ヒントを提示するタイミング)、そしてヒントを使い切ったときの対応方針が含まれます。効果的なヒントシーケンスの設計では、生徒の誤りを予測し、ヒントの具体性を調整し、学びにつながる認知的な作業を省かずに生徒の行き詰まりを解消するための情報を各段階で適切に提供する必要があります。このため、AIはここで特に有用です。
エビデンスの基盤
VanLehn(2011)は、チュータリングの有効性に関する最も包括的なメタ分析を行い、人間によるチュータリング、知的チュータリングシステム、その他のアプローチを比較しました。その結果、ITSの効果量は平均0.76で、人間によるチュータリング(0.79)に非常に近く、「チュータリングなし」の条件を大きく上回ることが分かりました。重要なのは、ITSの有効性がステップレベルのやり取りの質に左右されることです。問題解決の各段階でフィードバックやヒントを提示するシステム(内側のループ)は、最終的な答えだけを評価するシステム(外側のループ)よりも、はるかに高い効果を示しました。Aleven & Koedinger(2002)は、Carnegie Learning Cognitive Tutorにおけるヒントを求める行動を調査し、生徒はしばしば最適でない方法でヒントを利用していることを明らかにしました。問題に取り組む前にヒントを求めすぎる場合もあれば、非生産的に苦闘しながらヒントを求めるのが遅すぎる場合もありました。生徒にメタ認知的なヒント戦略(「まず取り組み、次にヒントを求め、そのヒントを自分なりに説明する」)を教えることで、学習成果が大幅に向上することも示されました。Razzaq & Heffernan(2010)は、先回りして提示するヒント(自動的に提示)と、求められたときに提示するヒントを比較し、最適な方法は生徒の習熟度によって異なることを明らかにしました。成績の低い生徒には先回りして提示するヒントがより効果的でしたが、成績の高い生徒には、助けを求める前に苦労することを認める方が効果的でした。Shute(2008)は形成的フィードバックに関する研究をレビューし、効果的なフィードバックは具体的で、適切なタイミングで提供され、実行に移せるものであると指摘しました。これらの原則は、ヒントの設計にも直接当てはまります。Wood、Bruner & Ross(1976)は、足場かけの概念を確立しました。これは、学習者が一人ではできないことを達成できるよう一時的な支援を提供し、能力の向上に合わせてその支援を徐々に取り除いていくことです。
入力スキーマ
教師が指定する必要がある項目:
- 問題の種類: 生徒が解く問題。例:「1 つの未知数を含む一次方程式を解く — 例:3x + 7 = 22」/「説得力のある段落のトピックセンテンスを書く」/「化学反応式の係数を合わせる」/「ソート済みのリストを返すはずなのに None を返す Python 関数をデバッグする」
- よくあるつまずき: 生徒がつまずく箇所。例:「生徒は方程式の両辺に同じ操作をすることを忘れる」/「生徒は曖昧すぎるトピックセンテンスや、主張ではなく事実を述べたトピックセンテンスを書く」/「生徒は体系的にではなく、ランダムに原子の係数を合わせる」/「Python の sort() が None を返すことを生徒が理解しておらず、ソート済みのリストが返ると期待する」
任意(利用可能な場合、コンテキストエンジンが挿入):
- 生徒のレベル: 学年と習熟度
- 教科: カリキュラム上の教科
- 提示状況: AI システム、教師、または教材
- ヒントのレベル数: 設計するレベル数
- 最後のヒントの方針: シーケンスの最後で何をするか
プロンプト
You are an expert in hint sequence design for intelligent tutoring systems, with deep knowledge of VanLehn's (2011) meta-analysis of ITS effectiveness, Aleven & Koedinger's (2002) research on hint-seeking behaviour, Razzaq & Heffernan's (2010) work on proactive vs. reactive hints, Shute's (2008) formative feedback principles, and Wood, Bruner & Ross's (1976) scaffolding framework. You understand that hint design is the hardest part of ITS design: too little help produces frustration and abandonment; too much help produces answer-copying without learning. The optimal hint sequence progressively reduces the cognitive work required while preserving as much productive struggle as possible.
CRITICAL PRINCIPLES:
- **Progressive specificity.** The first hint should be the MOST GENERAL — pointing the student toward the right strategy or concept without revealing the specific step. Each subsequent hint should be more specific, narrowing the cognitive search space while still requiring the student to do some thinking. The final hint (the "bottom-out hint") may reveal the specific step but should still require the student to execute it and understand why.
- **Each hint should do ONE thing.** A hint that says "Remember to isolate the variable by subtracting 7 from both sides and then dividing by 3" is not a hint — it's the answer in disguise. Each hint level should address ONE aspect of the sticking point.
- **Hints should address the CAUSE of the error, not just the symptom.** If a student gets 3x + 7 = 22 wrong, the hint should not just say "Try again" (too vague) or "x = 5" (the answer). It should address the likely CAUSE: "What operation will move the 7 to the other side?" — targeting the specific conceptual gap.
- **Trigger conditions matter as much as hint content.** When a hint fires is as important as what it says. Too early: the student doesn't get the chance to struggle productively. Too late: the student has given up. Design triggers based on observable behaviour: time elapsed, number of incorrect attempts, specific error patterns, or student request.
- **The bottom-out strategy must still produce learning.** When all hints are exhausted, the system cannot just shrug and move on. The bottom-out should provide the answer WITH a self-explanation prompt: "The answer is X because Y. In your own words, explain why Y leads to X." This converts the bottom-out from answer-giving to learning.
Your task is to design a hint sequence for:
**Problem type:** {{problem_type}}
**Common sticking points:** {{common_sticking_points}}
The following optional context may or may not be provided. Use whatever is available; ignore any fields marked "not provided."
**Student level:** {{student_level}} — if not provided, design for a general secondary school context.
**Subject area:** {{subject_area}} — if not provided, infer from the problem type.
**Delivery context:** {{delivery_context}} — if not provided, design for an AI tutoring system that can also be used by teachers.
**Number of hint levels:** {{number_of_hint_levels}} — if not provided, design 4 levels (strategic → conceptual → procedural → bottom-out).
**Final hint policy:** {{final_hint_policy}} — if not provided, design a bottom-out hint with self-explanation prompt.
Return your output in this exact format:
## Adaptive Hint Sequence: [Problem Type]
**Problem type:** [What students are solving]
**Common sticking points:** [Where they get stuck]
**Hint levels:** [How many levels, from general to specific]
### Hint Architecture
[Overview of the hint strategy — what each level does and why the sequence is ordered this way]
### Hint Sequence
For each level:
**Level [N]: [Hint type — Strategic / Conceptual / Procedural / Bottom-out]**
- **Hint text:** [Exactly what the student sees or hears]
- **Cognitive function:** [What this hint does — what cognitive work it performs for the student and what it preserves for them to do]
- **Trigger condition:** [When this hint fires — time, errors, request, behaviour]
- **Expected student response:** [What a student who benefits from this hint will do next]
- **If this hint doesn't help:** [What happens — escalate to next level]
### Bottom-Out Strategy
[What happens when all hints are exhausted — the specific design for revealing the answer while still producing learning]
### Trigger Conditions Summary
| Trigger Type | Condition | Hint Level Activated |
|---|---|---|
| [Type] | [Specific condition] | [Which level] |
### Adaptation Notes
[How the sequence adapts to different student profiles — stronger students may skip early levels; weaker students may need the full cascade]
**Self-check before returning output:** Verify that (a) hints are progressively more specific, (b) each hint does ONE thing, (c) hints address the cause of the error not just the symptom, (d) trigger conditions are specified, (e) the bottom-out still produces learning, and (f) the sequence preserves productive struggle.
出力例
シナリオ: 問題の種類:「1 つの未知数を含む一次方程式を解く — 特に、x を孤立させる必要がある ax + b = c の形の方程式。例:3x + 7 = 22」/よくあるつまずき:「両辺に同じ操作をするのを忘れる(左辺から 7 を引くが、右辺からは引かない)。逆演算の概念を理解していない(引くべきところで足す、またはその逆)。操作の順序を間違える(7 を引く前に 3 で割る)。」/提示状況:「AI チュータリングシステム — ヒントが起動すると画面に表示される」/生徒のレベル:「8 年生、代数の第 1 学期」
適応型ヒントシーケンス:一次方程式を解く(ax + b = c)
問題の種類: 1 つの未知数を含む一次方程式を解く — 3x + 7 = 22 のような方程式で x を孤立させる よくあるつまずき: 両辺に同じ操作をしない、逆演算の混同、操作の順序の誤り ヒントのレベル: 4(戦略的 → 概念的 → 手順的 → 最終段階)
ヒントの構成
シーケンスは、戦略的(アプローチの方向性を示す)から始まり、概念的(関連する原則を思い出させる)、手順的(具体的な手順を示す)、最終段階(自己説明を促しながら手順を明かす)へと進みます。各レベルで、生徒には認知的な作業がいくらか残されます。
- レベル 1(戦略的):「目標はこちら」— 生徒がアプローチを考える必要があります
- レベル 2(概念的):「原則はこちら」— 生徒が具体的な操作を考える必要があります
- レベル 3(手順的):「手順はこちら」— 生徒が実行して確認する必要があります
- レベル 4(最終段階):「この手順の答えはこちら」— 生徒がその理由を説明する必要があります
ヒントシーケンス
レベル 1:戦略的 —「目標は何ですか?」
- ヒント文:「目標は、方程式の片辺で x だけにすることです。今は x に余分な数がいくつか付いています。それらを取り除くには、まず何ができるでしょうか?」
- 認知的な役割: どの具体的な操作をするか、どの数を先に扱うかは示さずに、全体的な方針(x を孤立させる)を生徒に思い出させます。生徒は、どの数を取り除くか、どの操作を使うかを自分で特定する必要があります。
- 発動条件: 生徒が 60 秒間進展していない、途中式を示さずに x の値として誤った値を入力した、またはヒントを求めた場合。
- 期待される生徒の反応: 生徒は +7 または 3 を「取り除く」必要があると認識し、操作を試みます。操作が間違っていても、戦略的な示し方によって目標に注意を向け直します。
- このヒントで解決しない場合: もう一度誤った答えを試した後、または進展がないまま 45 秒が経過した後、レベル 2 に進みます。 Level 2:概念的 — 「どちらの数が先?その逆は?」
- ヒントのテキスト:「式を見てみましょう:3x + 7 = 22。xには3が掛けられ、さらに7が足されています。まずは足し算を処理しましょう。7を足すことの逆は何ですか?」
- **認知機能:**このヒントは2つのことを行います。生徒に順序(掛け算より先に足し算を処理する。BIDMAS/PEMDASとは逆です)を伝え、逆演算の概念を活性化します。それでも生徒は、「7を足すことの逆は7を引くこと」と考え、それを両辺に適用する必要があります。
- **発動条件:**生徒がレベル1の後で誤った演算を試みた場合(例:先に3で割る)、または「引く」と正しく判断したものの、両辺に適用していない場合。
- **期待される生徒の回答:**生徒が3x + 7 - 7 = 22 - 7と書き、これを簡単にして3x = 15にします。一方の辺からしか引かない場合は、レベル3で対応します。
- **このヒントで解決しない場合:**もう一度間違えるか30秒経過したら、レベル3に進みます。
Level 3:手順的 — 「両辺に同じことをする」
- ヒントのテキスト:「式の両辺から7を引きます。左辺は3x + 7 - 7 = 3xになります。右辺はどうなりますか?22 - 7 = ?」
- **認知機能:**このヒントでは、具体的な演算(7を引く)を示し、両辺に同じことをする原則を強調します。生徒は引き続き、22 - 7 = 15を計算し、次の手順(3で割る)を考える必要があります。ヒントは最初の手順を解決しますが、2番目の手順は生徒に任せます。
- **発動条件:**生徒が一方の辺からしか引いていない場合、またはレベル2の後も正しい演算を判断できない場合。
- **期待される生徒の回答:**生徒が3x = 15と書き、次に両辺を3で割ってxを求め、x = 5にたどり着きます。
- **このヒントで解決しない場合:**このヒントの後も生徒が問題を解けない場合(22 - 7を計算できない、または次に3で割ることが分からない)、最終提示に進みます。
Level 4:最終提示 — 「手順はこちらです。理由を説明しましょう」
- ヒントのテキスト:「解答全体はこちらです:3x + 7 = 22 → 両辺から7を引く → 3x = 15 → 両辺を3で割る → x = 5。では、3で割る前に7を引いた理由を、自分の言葉で説明してください。先に3で割っていたら、どうなっていたでしょうか?」
- **認知機能:**答えをすべて示しますが、自己説明を促すことで学びを維持します。「なぜこの順序なのか」と尋ねることで、システムは答えを書き写すだけでなく、数学的な論理に取り組むよう生徒に促します。反実仮想の質問(「先に割っていたらどうなっていたか」)によって、演算の順序に対するより深い理解を育みます。
- **発動条件:**これまでのヒントをすべて使っても、生徒が問題を解けない場合。
- **期待される生徒の回答:**生徒が文章または選択肢で、次のように説明します:「7を先に引くのは、そのほうが簡単だから/7はxに掛けられているのではなく、足されているから/先に3で割ると、7も割ることになり、分数ができてしまうから」。いずれかの説明で理解が示されています。
最終提示の方針
最終提示のヒントでは解答全体を示しますが、生徒が次の問題に進むには、自己説明が必要です。システムは次の2つの質問を提示します。
- 解答を説明する:「3で割る前に7を引いたのはなぜですか?」(自由記述または選択式)
- 類題を予測する:「式が5x + 12 = 37だった場合、最初に何をしますか?」(原則を新しい問題に応用できるかを確認)
生徒の自己説明が正しければ、次の問題(同様の式で、直後に応用できるかを確認)に進みます。自己説明が誤っている場合(「7が22より小さいから」など)は、簡潔に訂正を説明してから次に進みます。最終提示は失敗の状態ではなく、学びの機会です。自己説明によって、答えを示すことが理解の構築につながります。
トリガー条件のまとめ
| トリガーの種類 | 条件 | 有効になるヒントレベル |
|---|---|---|
| 時間ベース | 60 秒間進捗がない | レベル 1 |
| エラーベース | 途中式を示さず最終解答が誤っている | レベル 1 |
| エラーベース | 誤った演算(例:引く前に割る) | レベル 2 |
| エラーベース | 正しい演算を片側にしか適用していない | レベル 3 |
| リクエストベース | 生徒が「ヒント」ボタンをクリックする | 順番に次のレベル |
| 手詰まり | これまでのヒントをすべて提示しても、まだ行き詰まっている | レベル 4(最終ヒント) |
適応に関する注意
より力のある生徒の場合: 生徒が同種の方程式を 3 問以上正しく解けているなら、レベル 1 はスキップしてください(その生徒は方略を理解しています)。誤りを犯した場合はレベル 2 から始めます。その生徒のつまずきは、方略的というよりも概念的または手続き的なものである可能性が高いからです。
より力の弱い生徒の場合: 直前の 2 問で最終ヒントを必要とした生徒なら、ヒントから例題付きの解説に切り替えることを検討してください。その生徒は、ヒントが前提としている基礎知識を欠いている可能性があります。ヒントは問題解決を足場かけするものであり、基礎概念を教えるものではありません。
ヒント乱用者への対応(Aleven & Koedinger, 2002): 生徒が問題に取り組まずにヒントを次々と素早くクリックする場合は、最初のヒントの前に「まず自分で試す」よう促すプロンプトを挿入します:「ヒントを求める前に、まず問題に取り組んでみましょう。最初のステップについて、あなたの最善の推測は何ですか?」これはメタ認知の欠如に対処するものです。つまり、その生徒は考えることではなく、ヒントから答えを引き出すことを学んでしまっているのです。
既知の制限
-
ヒントの系列は、生徒がヒントから恩恵を受けるための基礎知識を持っていることを前提としています。 「7 を足すことの反対は何ですか?」というヒントは、生徒が逆演算を理解していることを前提としています。もし理解していなければ、この系列のどのヒントも役に立ちません。その生徒には、前提となる概念について直接指導する必要があります。ヒントの系列は問題解決を足場かけするものであり、知識獲得を足場かけするものではありません。基礎知識を欠く生徒には、別の介入が必要です。
-
最適なヒントのトリガーは、依然として未解決の研究課題です。 Razzaq & Heffernan(2010)は、能動的なヒントは力の弱い生徒に役立ち、反応的なヒントは力のある生徒に役立つことを見出しましたが、この分野は決定的なトリガーモデルに収束していません。上記のトリガー条件は妥当な既定値であり、経験的に最適化されたしきい値ではありません。実際の ITS では、これらは実際の生徒集団を用いた A/B テストを通じて調整する必要があります。
-
ヒントの質は、誤りの正確な診断に依存します。 上記のヒントの系列は、特定の誤りパターン(演算の順序の誤り、片側だけの演算、逆演算の混同)を前提としています。生徒の実際の誤りが異なる場合(例:22 - 7 の計算ミス)、ヒントは的を外します。効果的なヒントシステムには、単なる直線的なカスケードではなく、誤りに応じた分岐が必要です。これは設計が大幅に複雑になります。