检查理解程度
测试学习者对 AI Engineering from Scratch 已完成阶段的掌握情况。
触发方式
当用户说出类似下面的话时启用此 skill:
/check-understanding 3 或 /check-understanding deep-learning
- “测验一下我对第 2 阶段的掌握情况”
- “测试第 1 阶段”
- “检查我对 transformer 的理解”
- “我掌握第 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 |
机器学习基础 |
| 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 |
Transformer 深入剖析 |
| 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 |
Agent 工程 |
| 15, autonomous |
15-autonomous-systems |
自主系统 |
| 16, multi-agent, swarms |
16-multi-agent-and-swarms |
多 Agent 与群体 |
| 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/zh.md。如果未克隆,从 README 的 Contents 部分获取该阶段课程列表(获取 https://raw.githubusercontent.com/fancyboi999/ai-engineering-from-scratch-zh/main/README.md),再从同一 raw base URL 获取每课的 docs/zh.md。这些文档就是出题依据。
读取足够多的课程文档,以覆盖该阶段的完整广度。阶段课程很多(15+)时,优先读取具有代表性的分布:开头几课、中段几课和最后几课。
第 3 步:生成 8 道题
基于刚读取的课程内容,恰好生成 8 道选择题:
第 1-4 题:概念题(是什么/为什么)
这些题测试想法、定义和推理的理解。例如:
- “X 的目的是什么?”
- “Z 存在时为什么会发生 Y?”
- “哪项陈述最准确地描述了 A 与 B 的关系?”
- “X 解决了什么问题?”
第 5-8 题:实践题(怎么做/构建)
这些题测试应用知识和实现意识。例如:
- “你会如何实现 X?”
- “哪种方法能正确解决 Y?”
- “构建 Z 的正确步骤顺序是什么?”
- “若训练中观察到 X,应当怎么做?”
每题必须恰有 4 个选项,标记为 A、B、C、D,且只有一个正确选项。错误选项应当可信,但对认真学过材料的人应当明显不对。
给每道题标记其来源课程(例如“第 03 课:矩阵变换”)。
第 4 步:逐题展示
使用 AskUserQuestion 工具(或等效交互式提示)一次展示一道题。格式:
第 1/8 题(概念题)——来自第 03 课:矩阵变换
特征值的几何解释是什么?
A) 矩阵施加的旋转角度
B) 特征向量在变换中被缩放的倍数
C) 变换矩阵的行列式
D) 变换后矩阵的秩
等待用户作答后,才进入下一题。
答案隔离
在学习者回答当前题目之前,正确选项和解释必须保持私密。回复格式提示中绝不使用真实答案字母、可能答案或生成的答案分布。若需要纯文本提示,必须严格使用:请只回复一个字母:<A|B|C|D>。
第 5 步:记录与评分
持续记录:
- 8 题中的正确总数
- 每道错题:题号、用户答案、正确答案及来源课程
第 6 步:展示结果
所有 8 题完成后,展示得分和评级:
答对 7-8 题:已掌握
若为第 19 阶段(综合项目):你已掌握第 19 阶段,也是最后一个阶段。只有能够确认整个课程其余部分均已完成时(当前目录中的 LEARNING.md 路径表显示阶段 0-18 都是 Done 或 Skip),才能再加上 恭喜,你已完成全部课程。单次阶段测验不能证明整个课程已完成。
否则:你对第 N 阶段掌握扎实,可以进入第 N+1 阶段:[下一阶段名称]。
答对 5-6 题:接近掌握
基础扎实。继续前请复习以下具体内容:
随后列出错题关联的课程。
答对 3-4 题:正在形成理解
你的理解正在建立,但还需回顾以下课程:
随后列出每道错题及需重读的课程。
答对 0-2 题:重新开始
这个阶段还需要更多时间。请从头重新学习课程,重点关注:
随后列出所有未掌握的主题。
第 7 步:错题拆解
对用户答错的每一题,展示:
第 N 题:[题目文本,缩写]
你的答案:B
正确答案:C —— [正确选项文本]
原因:[用 1-2 句解释 C 为什么正确]
复习:第 NN 课 —— [课程名称] (phases/<phase-dir>/NN-<lesson-slug>/docs/zh.md)
第 8 步:下一步做什么?
最后提供三个选择:
- 重做本测验 —— 从同一阶段生成一组新的 8 道题
- 测试另一阶段 —— 选择其他阶段测试
- 解释一个主题 —— 询问任意错题涉及的概念
等待用户选择后再执行。
规则
- 重考时,在题库耗尽前避免重复题目。题库耗尽后,才可为后续重考重排或改写题目。
- 题目必须直接基于课程文档,不能基于通用知识。
- 用户回答之前,不展示正确答案。
- 学习者回答格式示例中不得出现真实答案字母;使用
<A|B|C|D> 作为占位符。
- 题目文本保持简洁,最多一两句话。
- 错误选项必须可信,不要设置玩笑答案。
- 若一个阶段尚无课程文档(找不到
en.md 文件),告诉用户:第 N 阶段尚未提供课程内容。请选择已完成的阶段进行测验。
1---2name: check-understanding3description: AI Engineering from Scratch 的阶段测验。用于“给我测验一下”、“测试阶段”、“检查我的理解”、“我掌握第 3 阶段了吗”,也支持 "quiz me", "test phase", "check my understanding", "do I know phase 3" 或 `/check-understanding <phase>`。4---56# 检查理解程度78测试学习者对 AI Engineering from Scratch 已完成阶段的掌握情况。910## 触发方式1112当用户说出类似下面的话时启用此 skill:1314- `/check-understanding 3` 或 `/check-understanding deep-learning`15- “测验一下我对第 2 阶段的掌握情况”16- “测试第 1 阶段”17- “检查我对 transformer 的理解”18- “我掌握第 3 阶段了吗”19- “我准备好进入下一阶段了吗”2021## 输入2223接受阶段编号(0-19)或阶段名称作为参数。如果没有参数,列出全部 20 个阶段,并询问用户希望测试哪一阶段。2425## 阶段映射2627将参数映射到 `phases/` 下正确的阶段目录:2829| 输入 | 目录 | 阶段名称 |30|-------|-----------|------------|31| 0, setup, tooling | `00-setup-and-tooling` | 环境设置与工具 |32| 1, math, math-foundations | `01-math-foundations` | 数学基础 |33| 2, ml, ml-fundamentals | `02-ml-fundamentals` | 机器学习基础 |34| 3, deep-learning, dl | `03-deep-learning-core` | 深度学习核心 |35| 4, cv, computer-vision, vision | `04-computer-vision` | 计算机视觉 |36| 5, nlp | `05-nlp-foundations-to-advanced` | NLP:从基础到进阶 |37| 6, speech, audio | `06-speech-and-audio` | 语音与音频 |38| 7, transformers | `07-transformers-deep-dive` | Transformer 深入剖析 |39| 8, generative, gen-ai, genai | `08-generative-ai` | 生成式 AI |40| 9, rl, reinforcement-learning | `09-reinforcement-learning` | 强化学习 |41| 10, llms, llm, llms-from-scratch | `10-llms-from-scratch` | 从零构建 LLM |42| 11, llm-engineering, llm-eng | `11-llm-engineering` | LLM 工程 |43| 12, multimodal | `12-multimodal-ai` | 多模态 AI |44| 13, tools, protocols, mcp | `13-tools-and-protocols` | 工具与协议 |45| 14, agents, agent-engineering | `14-agent-engineering` | Agent 工程 |46| 15, autonomous | `15-autonomous-systems` | 自主系统 |47| 16, multi-agent, swarms | `16-multi-agent-and-swarms` | 多 Agent 与群体 |48| 17, infrastructure, production, infra | `17-infrastructure-and-production` | 基础设施与生产环境 |49| 18, ethics, safety, alignment | `18-ethics-safety-alignment` | 伦理、安全与对齐 |50| 19, capstone, projects | `19-capstone-projects` | 综合项目 |5152## 流程5354### 第 1 步:解析阶段5556解析参数。若为数字,验证它是否在 0 到 19(含)之间。数字超出范围时,告诉用户:`阶段 [N] 不存在。有效阶段为 0-19。`然后展示完整列表供其选择。若为名称或关键词,在上方阶段映射中查找。关键词不匹配任何条目时,告诉用户:`未知阶段“[keyword]”。请从下面列表中选择:`,并展示全部 20 个阶段。未提供参数时,要求用户从完整列表中选择。5758### 第 2 步:读取阶段内容5960如果仓库已克隆(当前目录或其父目录存在 `phases/`),找出 `phases/<phase-dir>/` 下全部课程目录并读取每课的 `docs/zh.md`。如果未克隆,从 README 的 Contents 部分获取该阶段课程列表(获取 `https://raw.githubusercontent.com/fancyboi999/ai-engineering-from-scratch-zh/main/README.md`),再从同一 raw base URL 获取每课的 `docs/zh.md`。这些文档就是出题依据。6162读取足够多的课程文档,以覆盖该阶段的完整广度。阶段课程很多(15+)时,优先读取具有代表性的分布:开头几课、中段几课和最后几课。6364### 第 3 步:生成 8 道题6566基于刚读取的课程内容,恰好生成 8 道选择题:6768**第 1-4 题:概念题(是什么/为什么)**69这些题测试想法、定义和推理的理解。例如:70- “X 的目的是什么?”71- “Z 存在时为什么会发生 Y?”72- “哪项陈述最准确地描述了 A 与 B 的关系?”73- “X 解决了什么问题?”7475**第 5-8 题:实践题(怎么做/构建)**76这些题测试应用知识和实现意识。例如:77- “你会如何实现 X?”78- “哪种方法能正确解决 Y?”79- “构建 Z 的正确步骤顺序是什么?”80- “若训练中观察到 X,应当怎么做?”8182每题必须恰有 4 个选项,标记为 A、B、C、D,且只有一个正确选项。错误选项应当可信,但对认真学过材料的人应当明显不对。8384给每道题标记其来源课程(例如“第 03 课:矩阵变换”)。8586### 第 4 步:逐题展示8788使用 AskUserQuestion 工具(或等效交互式提示)一次展示一道题。格式:8990```text91第 1/8 题(概念题)——来自第 03 课:矩阵变换9293特征值的几何解释是什么?9495A) 矩阵施加的旋转角度96B) 特征向量在变换中被缩放的倍数97C) 变换矩阵的行列式98D) 变换后矩阵的秩99```100101等待用户作答后,才进入下一题。102103### 答案隔离104105在学习者回答当前题目之前,正确选项和解释必须保持私密。回复格式提示中绝不使用真实答案字母、可能答案或生成的答案分布。若需要纯文本提示,必须严格使用:`请只回复一个字母:<A|B|C|D>。`106107### 第 5 步:记录与评分108109持续记录:110- 8 题中的正确总数111- 每道错题:题号、用户答案、正确答案及来源课程112113### 第 6 步:展示结果114115所有 8 题完成后,展示得分和评级:116117**答对 7-8 题:已掌握**118若为第 19 阶段(综合项目):`你已掌握第 19 阶段,也是最后一个阶段。`只有能够确认整个课程其余部分均已完成时(当前目录中的 `LEARNING.md` 路径表显示阶段 0-18 都是 Done 或 Skip),才能再加上 `恭喜,你已完成全部课程。`单次阶段测验不能证明整个课程已完成。119否则:`你对第 N 阶段掌握扎实,可以进入第 N+1 阶段:[下一阶段名称]。`120121**答对 5-6 题:接近掌握**122`基础扎实。继续前请复习以下具体内容:`123随后列出错题关联的课程。124125**答对 3-4 题:正在形成理解**126`你的理解正在建立,但还需回顾以下课程:`127随后列出每道错题及需重读的课程。128129**答对 0-2 题:重新开始**130`这个阶段还需要更多时间。请从头重新学习课程,重点关注:`131随后列出所有未掌握的主题。132133### 第 7 步:错题拆解134135对用户答错的每一题,展示:136137```text138第 N 题:[题目文本,缩写]139你的答案:B140正确答案:C —— [正确选项文本]141原因:[用 1-2 句解释 C 为什么正确]142复习:第 NN 课 —— [课程名称] (phases/<phase-dir>/NN-<lesson-slug>/docs/zh.md)143```144145### 第 8 步:下一步做什么?146147最后提供三个选择:1481491. **重做本测验** —— 从同一阶段生成一组新的 8 道题1502. **测试另一阶段** —— 选择其他阶段测试1513. **解释一个主题** —— 询问任意错题涉及的概念152153等待用户选择后再执行。154155## 规则156157- 重考时,在题库耗尽前避免重复题目。题库耗尽后,才可为后续重考重排或改写题目。158- 题目必须直接基于课程文档,不能基于通用知识。159- 用户回答之前,不展示正确答案。160- 学习者回答格式示例中不得出现真实答案字母;使用 `<A|B|C|D>` 作为占位符。161- 题目文本保持简洁,最多一两句话。162- 错误选项必须可信,不要设置玩笑答案。163- 若一个阶段尚无课程文档(找不到 `en.md` 文件),告诉用户:`第 N 阶段尚未提供课程内容。请选择已完成的阶段进行测验。`