先说结论

我把一套 523 课的 AI 工程开源课程,做成了一个能”闯关”的进度站:

它不是课程的重做版,而是给课程补上进度感和作品感的那一层。全文讲清楚三件事:这套课程是什么、这一层补了什么、以及它为什么刻意不搬运任何课程正文。


这套课程本身,值得认真对待

课程是 AI Engineering from Scratch(作者 Rohit Ghumare,MIT 许可):

项 值
体量 523 课 / 20 个阶段,约 342 小时的学习量
覆盖 数学基础 → 机器学习 → 深度学习 → NLP/语音/视觉 → Transformer → 从零实现 LLM → LLM 应用工程 → 工具与协议 → 智能体 → 多智能体 → 生产基础设施
语言 Python、TypeScript、Rust、Julia
结构 每课固定三件套:code/(可运行实现)+ docs/en.md(讲义)+ outputs/(本课产出的 prompt / skill / agent / MCP server)
许可 MIT

它最大的特点是**”先手写、再用库”**:每个算法都要求你从原始数学推一遍(反向传播、分词器、注意力、Agent 循环),等你用上 PyTorch 的时候,已经知道它在底下做什么了。

这套课程自带一套很硬的方法论,讲义里把它写成了四步循环:

读 → 写 → 跑 → 存证
(read / built / ran / evidence)

问题也恰恰在这里:523 课不是一次能学完的东西,而课程本身没有给你一个”我走到哪了”的全局视图。你学完一关,成就感只存在于当天的终端输出里。


所以我没有做”学习网站”

先把一句话说清楚,因为它决定了整个架构:

上游已经有一个功能完整的学习网站了。 官方站有 523 课的在线渲染、每课课后小测、本地进度记录、交互式图表、术语表、学习路径、认证备考题库,还有 12 种语言的界面。

所以如果我再做一个”学习网站”,那只会是一个功能更少、且要永远追着上游更新的镜像。这不是产品,这是负债。

上游真正空着的是这两件事:

  1. 进度的全局感:官方进度是每课四个勾选框。有勾选,但没有”我打到第几关了””这个阶段离通关还差多少”这种闯关视角。
  2. 证据留不下来:官方那一步叫 evidence,但实际只记录了一个”已勾选”的时间戳——你当时跑了什么命令、退出码是多少、产出了什么文件,都没有地方存。

而作品这件事,恰恰是这套课程反复强调的:”Every lesson ships a reusable artifact.”——每课都交付一个可复用的产物。课程这么说,却没有帮你把这些产物收集起来。

于是这个站的定位就很清楚了:不做课程,做课程的记录层。


这一层具体是什么

一、闯关地图

20 个阶段、523 关全部列出来,每关是一张卡片,四个小格显示四步的完成情况,颜色区分「没开始 / 进行中 / 已通关」。顶部是等级、XP、总进度和徽章数。

二、关卡页:四步打卡 + 小测 + 作品登记

每一关有:

  • 四步打卡:读 / 写 / 跑 / 存证,口径完全照抄课程自己的方法论
  • 一键跳原文:官方讲义页和 GitHub 源码目录,你不用在站内找路
  • 关卡小测:一概念一实践两道选择题,答对立刻给解析
  • 作品登记:命令、退出码、关键输出、产物位置、一句话心得

关卡页还会根据关卡语言自动给出建议运行命令(Python 给 python3 ...,TypeScript 给 npx tsx ...),直接复制就能跑。

三、Boss 关

每个阶段清完之后,解锁该阶段的 Boss 关:12 道综合题,覆盖这一阶段的不同关卡,答对 8 题(三分之二)算通过,通过得一枚阶段徽章。徽章不会因为之后刷低分被撤销。也可以提前挑战,只是会提醒你还有几关没通。

四、作品集

所有登记过的证据会汇成作品集,按阶段聚合,并且可以一键导出:

  • 单文件 HTML:自带样式的独立页面,可以直接发给别人或丢到任何地方
  • Markdown:适合贴进博客、周报
  • JSON:存档,用于跨设备同步

进度存在浏览器本地(localStorage),不上传任何数据;换设备就导出 JSON 再导入。

玩法口径(照抄课程,而不是自创)

动作 XP
读完讲义 10
手敲并跑通代码 25
从仓库根执行本关命令 20
留下证据 30
每题答对 15

每 250 XP 升一级。有题库的关卡,必须至少答对一题才算通关——四步全勾但不能白嫖(这条规则背后有个真实 bug,我在开发记录里写了)。


边界:只取元数据,不搬运正文

这是这个项目最重要的一个决定。

站点用到的课程信息只有:关卡标题、序号、路径、类型(Learn / Build)、语言、学习目标、outputs/ 和 code/ 的文件清单。所有阅读和练习都指向官方原文——站内没有一个字的讲义正文,也没有复制上游的图表、图片和界面文案。

这么做有三层好处:

  1. 版权上干净:MIT 允许复用,但”引用元数据 + 深链原文”和”整站镜像正文”是两件性质完全不同的事。前者是工具,后者是转载。站点页脚、关于区和仓库的 ATTRIBUTION.md 三处都写明上游作者与许可,也不沿用上游的名称和 Logo 做自己的品牌。
  2. 不用追更新:上游仓库每天有多次提交。我只依赖元数据,所以上游改正文,这个站不会失效。
  3. 可一键切割:万一上游改许可或对引用方式有异议,删掉对应的元数据就行,站点不会塌。

站内题库是我自己出的(上游的随堂测验是运行时由 AI 现场生成的,并没有静态题库),出题依据是公开讲义,题目和解析都是转述。


现在能用到什么程度

说清楚当前状态,避免误解:

  • Phase 13(工具与协议,31 关)是深做的:有学习目标、有每关小测(62 题)、有 Boss 关题库(12 题)
  • 其余 19 个阶段是元数据模式:关卡清单、类型、语言齐全,可以用四步打卡通关,但没有小测和 Boss 题库

也就是说,除 Phase 13 之外的阶段,你能用它看进度、打勾、登记作品,但不能答题闯关。要不要把题库铺满 20 个阶段,我打算先看自己实际用一段时间的感受再决定——这种项目最容易犯的错,是一口气把全量内容铺完,结果发现形态不对,全部沉没。


怎么上手

  1. 打开 https://nova02640.github.io/ai-engineering-quest/
  2. 点开 Phase 13,从第一关开始,先点「官方讲义页」把这一课读完
  3. 手敲代码、跑通、回到关卡页把四步勾上、答完小测、登记一条证据

就这样。523 关很长,但至少现在,你能看见自己走到哪了,也能把走过的路拿出来给人看。


声明

这是一个独立个人项目,与上游作者和课程官方没有任何隶属或背书关系。课程内容、课程名称与原始讲义的一切权利归原作者 Rohit Ghumare 所有(MIT 许可)。本站代码同样以 MIT 发布。

如果上游作者认为本站的引用方式有任何不妥,通过仓库 Issue 联系,我会立即下线相关内容。