check-understanding · diff
v1.0.0 to v1.0.0
91 added, 82 removed. Audit A to A.
---
name: check-understanding
version: 1.0.0
- description: AI Engineering from Scratch 的阶段测验。可通过 "quiz me"、"test phase"、"check my understanding"、"do I know phase 3" 或 `/check-understanding <phase>` 触发。
+ description: Phase quiz for AI Engineering from Scratch. Trigger with "quiz me", "test phase", "check my understanding", "do I know phase 3", or `/check-understanding <phase>`.
---
- # 检查理解程度
+ # Check Understanding
- 测试你对 AI Engineering from Scratch 课程中已完成阶段的掌握情况。
+ Test your knowledge of a completed phase from the AI Engineering from Scratch course.
- ## 激活方式
+ ## Activation
- 当用户说出类似以下内容时,此 skill 会被激活:
- - `/check-understanding 3` 或 `/check-understanding deep-learning`
+ This skill activates when the user says things like:
+ - `/check-understanding 3` or `/check-understanding deep-learning`
- "quiz me on phase 2"
- "test phase 1"
- "check my understanding of transformers"
- "do I know phase 3"
- "am I ready for the next phase"
- ## 输入
+ ## Input
- 接受阶段编号(0-19)或阶段名称作为参数。如果未提供参数,请列出全部 20 个阶段,并询问用户想测试哪个阶段。
+ Accepts a phase number (0-19) or a phase name as argument. If no argument is provided, ask the user which phase they want to be tested on by listing all 20 phases.
- ## 阶段映射
+ ## Phase Map
- 将参数映射到 `phases/` 下正确的阶段目录:
+ Map the argument to the correct phase directory under `phases/`:
| Input | Directory | Phase Name |
|-------|-----------|------------|
- | 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` | Deep Learning 核心 |
+ | 0, setup, tooling | `00-setup-and-tooling` | Setup & Tooling |
+ | 1, math, math-foundations | `01-math-foundations` | Math Foundations |
+ | 2, ml, ml-fundamentals | `02-ml-fundamentals` | ML Fundamentals |
+ | 3, deep-learning, dl | `03-deep-learning-core` | Deep Learning Core |
| 4, cv, computer-vision, vision | `04-computer-vision` | Computer Vision |
- | 5, nlp | `05-nlp-foundations-to-advanced` | NLP -- 从基础到进阶 |
- | 6, speech, audio | `06-speech-and-audio` | 语音与音频 |
- | 7, transformers | `07-transformers-deep-dive` | Transformers 深入解析 |
+ | 5, nlp | `05-nlp-foundations-to-advanced` | NLP -- Foundations to Advanced |
+ | 6, speech, audio | `06-speech-and-audio` | Speech & Audio |
+ | 7, transformers | `07-transformers-deep-dive` | Transformers Deep Dive |
| 8, generative, gen-ai, genai | `08-generative-ai` | Generative AI |
| 9, rl, reinforcement-learning | `09-reinforcement-learning` | Reinforcement Learning |
- | 10, llms, llm, llms-from-scratch | `10-llms-from-scratch` | 从零构建 LLMs |
+ | 10, llms, llm, llms-from-scratch | `10-llms-from-scratch` | LLMs from Scratch |
| 11, llm-engineering, llm-eng | `11-llm-engineering` | LLM Engineering |
| 12, multimodal | `12-multimodal-ai` | Multimodal AI |
- | 13, tools, protocols, mcp | `13-tools-and-protocols` | 工具与协议 |
+ | 13, tools, protocols, mcp | `13-tools-and-protocols` | Tools & Protocols |
| 14, agents, agent-engineering | `14-agent-engineering` | Agent Engineering |
| 15, autonomous | `15-autonomous-systems` | Autonomous Systems |
- | 16, multi-agent, swarms | `16-multi-agent-and-swarms` | Multi-Agent 与 Swarms |
- | 17, infrastructure, production, infra | `17-infrastructure-and-production` | 基础设施与生产 |
- | 18, ethics, safety, alignment | `18-ethics-safety-alignment` | 伦理、安全与 Alignment |
+ | 16, multi-agent, swarms | `16-multi-agent-and-swarms` | Multi-Agent & Swarms |
+ | 17, infrastructure, production, infra | `17-infrastructure-and-production` | Infrastructure & Production |
+ | 18, ethics, safety, alignment | `18-ethics-safety-alignment` | Ethics, Safety & Alignment |
| 19, capstone, projects | `19-capstone-projects` | Capstone Projects |
- ## 流程
+ ## Procedure
- ### Step 1: 解析阶段
+ ### Step 1: Resolve the Phase
- 解析参数。如果参数是数字,验证它是否在 0 到 19(含)之间。如果数字超出范围,告诉用户:"Phase [N] does not exist. Valid phases are 0-19.",并显示完整列表供其选择。如果参数是名称或关键词,请在上方的阶段映射中查找。如果关键词不匹配映射中的任何条目,告诉用户:"Unknown phase '[keyword]'. Pick from the list below:",并展示全部 20 个阶段。如果未提供参数,请让用户从完整列表中选择。
+ Parse the argument. If it is a number, validate it is between 0 and 19 inclusive. If the number is out of range, tell the user: "Phase [N] does not exist. Valid phases are 0-19." and show the full list for them to pick from. If it is a name or keyword, look it up in the Phase Map above. If the keyword does not match any entry in the map, tell the user: "Unknown phase '[keyword]'. Pick from the list below:" and present all 20 phases. If no argument is provided, ask the user to pick from the full list.
- ### Step 2: 读取阶段内容
+ ### Step 2: Read the Phase Content
- 使用 Glob 查找 `phases/<phase-dir>/` 下的所有 lesson 目录。对于每个 lesson,读取 `docs/en.md` 文件。这些文档包含你将用于生成问题的教学材料。
+ If the repo is cloned (a `phases/` directory exists in or above the current directory), find all lesson directories under `phases/<phase-dir>/` and read each lesson's `docs/en.md`. If it is not cloned, get the phase's lesson list from the Contents section of the README (fetch `https://raw.githubusercontent.com/rohitg00/ai-engineering-from-scratch/main/README.md`), then fetch each lesson's `docs/en.md` from the same raw base URL. These documents contain the teaching material you will generate questions from.
- 根据需要读取足够多的 lesson docs,以覆盖该阶段的完整广度。如果某个阶段包含很多 lessons(15+),优先读取有代表性的分布:前几课、中间部分和最后几课。
+ Read as many lesson docs as needed to cover the full breadth of the phase. If a phase has many lessons (15+), prioritize reading a representative spread: first few, middle, and last few.
- ### Step 3: 生成 8 道问题
+ ### Step 3: Generate 8 Questions
- 基于刚刚读取的 lesson 内容,创建恰好 8 道选择题:
+ Create exactly 8 multiple-choice questions drawn from the lesson content you just read:
- **问题 1-4:概念类(What/Why)**
- 这些问题测试对思想、定义和推理的理解。示例:
- - "X 的目的是什么?"
- - "为什么 Z 发生时会出现 Y?"
- - "哪一句最准确描述 A 与 B 的关系?"
- - "X 解决了什么问题?"
+ **Questions 1-4: Conceptual (What/Why)**
+ These test understanding of ideas, definitions, and reasoning. Examples:
+ - "What is the purpose of X?"
+ - "Why does Y happen when Z?"
+ - "Which statement best describes the relationship between A and B?"
+ - "What problem does X solve?"
- **问题 5-8:实践类(How/Build)**
- 这些问题测试应用知识和实现意识。示例:
- - "你会如何实现 X?"
- - "哪种方法能正确解决 Y?"
- - "构建 Z 的正确步骤顺序是什么?"
- - "如果训练期间观察到 X,你应该怎么做?"
+ **Questions 5-8: Practical (How/Build)**
+ These test applied knowledge and implementation awareness. Examples:
+ - "How would you implement X?"
+ - "Which approach correctly solves Y?"
+ - "What is the correct order of steps to build Z?"
+ - "If you observe X during training, what should you do?"
- 每道题必须有 3 或 4 个答案选项,标记为 A、B、C(以及可选的 D)。恰好一个选项是正确的。错误选项应当看起来合理,但对于学过材料的人来说应明显不正确。
+ Each question must have exactly 4 answer options labeled A, B, C, and D. Exactly one option is correct. The wrong options should be plausible but clearly incorrect to someone who studied the material.
- 为每道题标注其来源的具体 lesson(例如:"Lesson 03: Matrix Transformations")。
+ Tag each question with the specific lesson it draws from (e.g., "Lesson 03: Matrix Transformations").
- ### Step 4: 一次呈现一道问题
+ ### Step 4: Present Questions One at a Time
- 使用 AskUserQuestion tool(或等效的交互式提示)逐题单独呈现。格式:
+ Use the AskUserQuestion tool (or equivalent interactive prompt) to present each question individually. Format:
- ```
+ ```text
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
```
- 等待用户回答后再进入下一题。
+ Wait for the user's answer before moving to the next question.
- ### Step 5: 跟踪并计分
+ ### Answer isolation
- 持续记录:
- - 8 题中的正确总数
- - 对于每个错误答案,记录:题号、用户答案、正确答案,以及它来自哪个 lesson
+ Keep the correct option and explanation private until the learner answers the
+ current question. Never use a real answer letter, a likely answer, or the
+ generated answer distribution in a reply-format hint. When a plain-text hint
+ is needed, use exactly: `Reply with one letter: <A|B|C|D>.`
- ### Step 6: 显示结果
+ ### Step 5: Track and Score
- 完成全部 8 道题后,显示分数和等级:
+ Keep a running tally:
+ - Total correct out of 8
+ - For each wrong answer, record: the question number, the user's answer, the correct answer, and which lesson it came from
- **7-8 题正确:Mastered**
- 如果阶段是 19(Capstone Projects):"你已经掌握了最终阶段。恭喜,你已经完成了整套课程。"
- 否则:"你已经很好地掌握了 Phase N,可以进入 Phase N+1:[next phase name]。"
+ ### Step 6: Show Results
- **5-6 题正确:Almost**
- "基础扎实。继续之前,请复习这些具体方面:"
- 然后列出与错题相关的 lessons。
+ After all 8 questions, display the score and grade:
- **3-4 题正确:Developing**
- "你正在建立理解,但还需要回看一些课程:"
- 然后列出每道错题以及需要重读的 lesson。
+ **7-8 correct: Mastered**
+ If the phase is 19 (Capstone Projects): "You have mastered Phase 19, the final phase." Add "Congratulations, you have completed the entire curriculum." only when you can verify the rest of the curriculum is done (a `LEARNING.md` in the current directory whose Path table shows Phases 0-18 as Done or Skip); a single phase quiz does not prove full completion.
+ Otherwise: "You have a strong grasp of Phase N. You are ready to move on to Phase N+1: [next phase name]."
- **0-2 题正确:Start Over**
- "这个 Phase 需要更多时间。请从头重新学习这些课程,并重点关注:"
- 然后列出所有遗漏主题。
+ **5-6 correct: Almost**
+ "Solid foundation. Review these specific areas before moving on:"
+ Then list the lessons tied to the missed questions.
- ### Step 7: 错题解析
+ **3-4 correct: Developing**
+ "You are building understanding but need to revisit some lessons:"
+ Then list each missed question with the lesson to re-read.
- 对于用户答错的每一道题,显示:
+ **0-2 correct: Start Over**
+ "This phase needs more time. Work through the lessons again from the beginning, focusing on:"
+ Then list all missed topics.
- ```
+ ### Step 7: Wrong Answer Breakdown
+
+ For every question the user got wrong, show:
+
+ ```text
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)
```
- ### Step 8: 下一步?
+ ### Step 8: What Next?
- 最后提供三个选择:
+ End by offering three choices:
- 1. **重新参加本次测验** -- 从同一阶段生成一组新的 8 道题
- 2. **尝试另一个阶段** -- 选择另一个阶段进行测试
- 3. **解释一个主题** -- 询问你错过的问题中的任意概念
+ 1. **Retake this quiz** -- generate a fresh set of 8 questions from the same phase
+ 2. **Try another phase** -- pick a different phase to test
+ 3. **Explain a topic** -- ask about any concept from the questions you missed
- 等待用户选择,并据此行动。
+ Wait for the user's choice and act accordingly.
- ## 规则
+ ## Rules
- - 在题库耗尽之前,重测时避免重复问题。题库耗尽后,对后续重测进行重新洗牌或改写问题。
- - 问题必须直接基于 lesson docs,而不是泛泛的通用知识。
- - 在用户回答之前,不要显示正确答案。
- - 问题文本保持简洁。最多一到两句话。
- - 错误选项必须看起来合理。不要使用搞笑答案。
- - 如果某个阶段还没有写好的 lesson docs(未找到 `en.md` 文件),告诉用户:"Phase N does not have lesson content yet. Pick a completed phase to quiz on."
+ - Avoid repeating questions on retakes until the question pool is exhausted. Once exhausted, reshuffle or rephrase questions for subsequent retakes.
+ - Questions must be directly grounded in the lesson docs, not general knowledge.
+ - Do not show the correct answer until after the user responds.
+ - Do not include literal answer letters in examples of how the learner should
+ reply; use `<A|B|C|D>` as the placeholder.
+ - Keep question text concise. One or two sentences max.
+ - Wrong options must be plausible. No joke answers.
+ - If a phase has no lesson docs written yet (no `en.md` files found), tell the user: "Phase N does not have lesson content yet. Pick a completed phase to quiz on."