check-understanding について
check-understandingは、AI Engineering from Scratchコースの学習者向けクイズスキルです。フェーズやトピックに対応する教材から8問の選択問題を作成し、採点とレッスン別の復習案内を行います。
主な機能
- 01コースのフェーズ0〜19を選択
- 02教材に基づく8問を作成
- 03概念問題と実践問題を出題
- 04一問ずつ提示
- 05採点して復習トピックを特定
活用シーン
- 01コースのフェーズ完了後に理解度を確認
- 02次のフェーズへ進む準備を確認
- 03誤答に関連するレッスンを復習
- 04新しい問題でフェーズのクイズを再受験
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ rohitg00/ ai-engineering-from-scratch --skill check-understandingインストール後、Claude Code で/check-understandingを入力して読み込まれたか確認します。
詳細
理解度チェック
AI Engineering from Scratch コースの完了したフェーズに関する知識をテストします。
起動条件
ユーザーが次のように発言した場合、このスキルを起動します。
/check-understanding 3や/check-understanding deep-learning- 「フェーズ2についてクイズを出して」
- 「フェーズ1をテストして」
- 「transformersについて理解度をチェックして」
- 「フェーズ3は理解できている?」
- 「次のフェーズに進む準備はできている?」
入力
引数としてフェーズ番号(0~19)またはフェーズ名を受け取ります。引数が指定されていない場合は、20個すべてのフェーズを一覧表示して、テストするフェーズをユーザーに尋ねます。
フェーズ一覧
引数を phases/ 配下の対応するフェーズディレクトリにマッピングします。
| 入力 | ディレクトリ | フェーズ名 |
|---|---|---|
| 0, setup, tooling | 00-setup-and-tooling | セットアップとツール |
| 1, math, math-foundations | 01-math-foundations | 数学の基礎 |
| 2, ml, ml-fundamentals | 02-ml-fundamentals | ML の基礎 |
| 3, deep-learning, dl | 03-deep-learning-core | ディープラーニングの中核 |
| 4, cv, computer-vision, vision | 04-computer-vision | コンピュータービジョン |
| 5, nlp | 05-nlp-foundations-to-advanced | NLP ― 基礎から応用まで |
| 6, speech, audio | 06-speech-and-audio | 音声とオーディオ |
| 7, transformers | 07-transformers-deep-dive | Transformers の詳細 |
| 8, generative, gen-ai, genai | 08-generative-ai | 生成 AI |
| 9, rl, reinforcement-learning | 09-reinforcement-learning | 強化学習 |
| 10, llms, llm, llms-from-scratch | 10-llms-from-scratch | LLM をゼロから構築 |
| 11, llm-engineering, llm-eng | 11-llm-engineering | LLM エンジニアリング |
| 12, multimodal | 12-multimodal-ai | マルチモーダル AI |
| 13, tools, protocols, mcp | 13-tools-and-protocols | ツールとプロトコル |
| 14, agents, agent-engineering | 14-agent-engineering | エージェントエンジニアリング |
| 15, autonomous | 15-autonomous-systems | 自律システム |
| 16, multi-agent, swarms | 16-multi-agent-and-swarms | マルチエージェントとスウォーム |
| 17, infrastructure, production, infra | 17-infrastructure-and-production | インフラストラクチャと本番運用 |
| 18, ethics, safety, alignment | 18-ethics-safety-alignment | 倫理、安全性、アラインメント |
| 19, capstone, projects | 19-capstone-projects | 総合プロジェクト |
手順
ステップ 1:フェーズを特定する
引数を解析します。数値の場合は、0~19の範囲内であることを検証します。範囲外の数値の場合は、ユーザーに「フェーズ [N] は存在しません。有効なフェーズは 0~19 です。」と伝え、選択できるよう全リストを表示します。名前またはキーワードの場合は、上記のフェーズ一覧で照合します。キーワードが一覧のどの項目にも一致しない場合は、「フェーズ「[keyword]」は不明です。以下のリストから選んでください:」と伝え、20個すべてのフェーズを表示します。引数が指定されていない場合は、全リストから選ぶようユーザーに尋ねます。
ステップ 2:フェーズの内容を読む
リポジトリがクローン済み(現在のディレクトリ内またはその上位に phases/ ディレクトリがある)の場合は、phases/<phase-dir>/ 配下のすべてのレッスンディレクトリを探し、各レッスンの docs/en.md を読みます。クローンされていない場合は、README の目次セクションからフェーズのレッスン一覧を取得し(https://raw.githubusercontent.com/rohitg00/ai-engineering-from-scratch/main/README.md を取得)、同じ raw ベース URL から各レッスンの docs/en.md を取得します。これらのドキュメントには、問題の作成に使う教材が含まれています。
フェーズ全体を幅広く網羅できるよう、必要な数のレッスンドキュメントを読みます。フェーズのレッスン数が多い場合(15以上)は、代表的な範囲を優先して読みます。最初の数件、中盤、最後の数件を対象にします。
ステップ 3:8 問を作成する
今読んだレッスンの内容から、選択式の質問をちょうど 8 問作成します。
質問 1~4:概念(何を/なぜ) 考え方、定義、推論の理解度を確認します。例:
- 「X の目的は何ですか?」
- 「Z のときに Y が起こるのはなぜですか?」
- 「A と B の関係を最も適切に表している記述はどれですか?」
- 「X はどのような問題を解決しますか?」
質問 5~8:実践(方法/構築) 知識の応用力と実装に関する理解度を確認します。例:
- 「X をどのように実装しますか?」
- 「Y を正しく解決する方法はどれですか?」
- 「Z を構築する正しい手順はどれですか?」
- 「トレーニング中に X が見られた場合、どうすべきですか?」
各質問には、その質問の出典となる特定のレッスンを記載します(例:「Lesson 03: Matrix Transformations」)。
ステップ 4:質問を 1 問ずつ提示する
AskUserQuestion ツール(または同等の対話型プロンプト)を使って、質問を 1 問ずつ提示します。形式:
Question 1/8 (Conceptual) -- from Lesson 03: Matrix Transformations
What is the geometric interpretation of an eigenvalue?
A) The angle of rotation applied by the matrix
B) The factor by which the eigenvector is scaled during transformation
C) The determinant of the transformation matrix
D) The rank of the matrix after transformation
次の質問に進む前に、ユーザーの回答を待ちます。
回答の分離
学習者が現在の質問に回答するまで、正解の選択肢と解説は非公開にします。回答形式のヒントに、実際の正解の文字、正解らしい文字、または生成した回答の配分を使ってはいけません。プレーンテキストのヒントが必要な場合は、必ず次の文をそのまま使います:Reply with one letter: <A|B|C|D>.
ステップ 5:記録と採点
正解数を記録します:
- 8 問中の正解数
- 不正解ごとに、質問番号、ユーザーの回答、正解、出典のレッスンを記録
ステップ 6:結果を表示する
8 問すべてに回答した後、スコアと評価を表示します:
7~8 問正解:習得済み
フェーズが 19(Capstone Projects)の場合:「フェーズ 19(最終フェーズ)を習得しました。」と表示します。「おめでとうございます。カリキュラム全体を修了しました。」を追加するのは、カリキュラムの残りも修了したと確認できる場合に限ります(現在のディレクトリにある LEARNING.md の Path テーブルで、フェーズ 0~18 が Done または Skip と示されている場合)。1 つのフェーズのクイズだけでは、全体の修了を証明できません。
それ以外の場合:「フェーズ N の内容をしっかり理解しています。フェーズ N+1:[次のフェーズ名] に進む準備ができています。」
5~6 問正解:あと一歩 「しっかりとした基礎ができています。次に進む前に、以下の分野を復習してください:」 続けて、間違えた質問に関連するレッスンを列挙します。
3~4 問正解:理解を深めている段階 「理解が進んでいますが、次のレッスンを復習する必要があります:」 続けて、間違えた質問ごとに、再読するレッスンを記載します。
0~2 問正解:最初からやり直し 「このフェーズの学習には、さらに時間が必要です。最初からレッスンをやり直し、以下の内容に重点を置いてください:」 続けて、間違えたトピックをすべて列挙します。
ステップ 7:不正解の詳細
間違えた質問ごとに、次を表示します:
Question N: [question text, abbreviated]
Your answer: B
Correct answer: C -- [the correct option text]
Why: [1-2 sentence explanation of why C is correct]
Review: Lesson NN -- [lesson name] (phases/<phase-dir>/NN-<lesson-slug>/docs/en.md)
ステップ 8:次に進む内容
最後に、次の 3 つの選択肢を提示します:
- このクイズを再受験する -- 同じフェーズから、新しい質問を 8 問作成します
- 別のフェーズに挑戦する -- 別のフェーズを選んでテストします
- トピックを解説する -- 間違えた質問に関する概念について質問します
ユーザーの選択を待ち、その内容に応じて対応します。
ルール
- 再受験では、質問プールを使い切るまで同じ質問を繰り返さないでください。使い切った後は、以降の再受験では質問をシャッフルするか、言い換えてください。
- 質問は一般知識ではなく、レッスンのドキュメントに直接基づいている必要があります。
- ユーザーが回答するまでは、正解を表示しないでください。
- 学習者の回答例には、回答の文字をそのまま含めないでください。代わりに
<A|B|C|D>をプレースホルダーとして使います。 - 質問文は簡潔にします。1~2 文以内にしてください。
- 誤答の選択肢は、もっともらしいものにしてください。冗談のような選択肢は避けます。
- フェーズにレッスンのドキュメントがまだない場合(
en.mdファイルが見つからない場合)は、ユーザーに「フェーズ N にはまだレッスンの内容がありません。クイズを受けるには、完了済みのフェーズを選んでください。」と伝えます。