AI Engineering from Scratch 怎么学:503 节课程、20 个阶段与 Skills 安装指南

介绍 AI Engineering from Scratch 的 20 阶段学习路线、503 节课程、本地运行方法,以及如何在 Codex、Claude Code 和 Cursor 中安装配套 Skills。

rohitg00/ai-engineering-from-scratch 是一套从数学基础一直延伸到 LLM、AI Agent、多 Agent、生产部署与安全的开源课程。它不是只列链接的资源清单,而是把学习内容拆成 20 个阶段、503 节课,每节课尽量留下可以运行或复用的代码、Prompt、Skill、Agent 或 MCP Server。

如果你已经会调用模型 API,但不清楚 tokenizer、attention、agent loop、MCP 和生产部署之间是什么关系,这套课程适合用来补齐知识链。全部内容大约 320 小时,没有必要从第一节按顺序全部学完,先定位自己的起点更有效。

Quick Answer

新手可以从环境、数学和机器学习基础开始;有后端经验的开发者可以从 Transformer、LLM Engineering 或 Tools & Protocols 开始;已经在使用 Codex、Claude Code 的用户,可以直接从 Agent Engineering、Infrastructure 和 Capstone Projects 切入。

最实用的开始方式是先克隆仓库,运行 /find-your-level Skill,根据十道问题生成个人学习路线,再选择一个阶段完成“读原理、写代码、运行测试、保留产物”的闭环。

课程的 20 个阶段怎么分

课程大致可以分成五段:

学习段 阶段 适合解决的问题
基础 Setup、Math、ML、Deep Learning 补齐环境、数学和神经网络基础
模型 Vision、NLP、Speech、Transformer、GenAI 理解不同模态和生成模型
LLM LLM from Scratch、LLM Engineering、Multimodal 从模型原理过渡到工程应用
Agent Tools & Protocols、Agent、Multi-Agent 学习工具调用、MCP、Agent loop 和协作
生产 Infrastructure、Safety、Capstone 部署、监控、安全与完整项目

不要因为课程编号从 0 开始,就认为必须完整学完前面的数学才能看 Agent。更合理的方式是先选当前任务需要的阶段,遇到概念缺口再向前补课。

克隆并运行第一个示例

先确认电脑已经安装 Git 和 Python:

1
2
git --version
python --version

克隆仓库:

1
2
git clone https://github.com/rohitg00/ai-engineering-from-scratch.git
cd ai-engineering-from-scratch

官方 README 给出的第一个示例是线性代数向量代码:

1
python phases/01-math-foundations/01-linear-algebra-intuition/code/vectors.py

如果 Windows 上 python 指向 Microsoft Store 或找不到解释器,可以试试:

1
py phases/01-math-foundations/01-linear-algebra-intuition/code/vectors.py

每节课的目录通常包含:

1
2
3
4
phases/<阶段>/<课程>/
├── code/       # 可运行代码
├── docs/       # 课程说明
└── outputs/    # Prompt、Skill、Agent 或 MCP 产物

学习时不要只读 docs。至少运行一次 code,再检查 outputs 是否能用于自己的工作流。

安装课程自带的 Agent Skills

仓库提供面向 Claude、Cursor、Codex、OpenClaw 和 Hermes 的 Skills,官方安装入口是:

1
python3 scripts/install_skills.py

Windows 如果没有 python3 命令,可以使用:

1
py scripts/install_skills.py

安装前先打开脚本,确认它会把文件复制到哪里:

1
Get-Content .\scripts\install_skills.py | Select-Object -First 120

不要在不检查路径的情况下,以管理员权限运行第三方安装脚本。Skill 通常只是 Markdown 指令和辅助脚本,但辅助脚本仍可能读写文件或执行命令。

/find-your-level 找学习起点

安装 Skills 后,可以在支持斜杠命令的 Agent 中运行:

1
/find-your-level

它会通过十个问题评估基础,再给出建议阶段和时间预估。完成某个阶段后,可以运行:

1
/check-understanding 3

这里的 3 表示检查第 3 阶段。它适合发现“代码能运行,但概念没有真正掌握”的情况。

如果当前客户端没有自动识别斜杠命令,可以直接打开对应的 SKILL.md,把任务要求交给 Agent 执行。不同客户端的 Skill 搜索目录并不完全相同,应以客户端当前版本的文档和本地配置为准。

先检查课程完成状态,不要把 Roadmap 当成目录

仓库根目录的 ROADMAP.md 不只是未来计划,还标记每节课是已完成、进行中还是计划中。官方使用三个状态:

1
2
3
✅ Complete
🚧 In Progress
⬚ Planned

准备学习某个阶段前,先搜索状态:

1
rg -n "^## Phase|🚧|⬚" ROADMAP.md

只查看 Agent、MCP 和生产部署附近的阶段:

1
rg -n -A 40 "Phase 13|Phase 14|Phase 17" ROADMAP.md

这样可以避免按照 README 中的宏观路线找到某一节后,才发现代码或讲义还在建设中。ROADMAP.md 给出的总预估约为 314 小时,而 README 使用约 320 小时的概括值;它们都只是课程规划,不是完成课程的硬性时长。

一个课程目录应该怎样验收

每节课强调 Build It / Use It / Ship It,可以把验收拆成三层。

1. Build It:不依赖框架理解最小实现

先运行课程提供的基础实现,确认自己能解释输入、主要数据结构和输出。例如学习 Agent loop 时,不应只记住 ReAct 名称,而要能指出:

  • 对话历史在哪里保存;
  • 模型返回 tool call 后如何分发;
  • 工具结果如何重新加入上下文;
  • 达到最大步数时如何停止;
  • 哪些异常应由 Agent 处理,哪些应直接失败。

2. Use It:用常见库完成同一问题

基础版本跑通后,再比较 PyTorch、scikit-learn 或对应 SDK 的实现。重点不是把代码变短,而是确认框架替你处理了哪些步骤,例如张量设备、梯度、批处理、序列化和重试。

3. Ship It:留下能复用的产物

检查课程的 outputs/

1
2
Get-ChildItem -Recurse .\phases\14-agent-engineering -Directory -Filter outputs
Get-ChildItem -Recurse .\phases\14-agent-engineering -File | Where-Object { $_.FullName -match '\\outputs\\' }

最终产物至少应满足:有明确输入、失败时不会静默成功、不会把密钥写入仓库,并且能在一个新的测试目录中复现。

Windows 环境建议

课程横跨 Python、TypeScript、Rust 和 Julia,不建议一开始安装所有工具链。先为当前阶段创建隔离环境。

Python 课程可以使用:

1
2
3
py -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip

如果 PowerShell 阻止激活脚本,可以只对当前进程调整策略:

1
2
Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSigned
.\.venv\Scripts\Activate.ps1

不要直接使用管理员 PowerShell,也不要为了运行课程全局关闭执行策略。某一节课需要额外依赖时,优先读取该课程目录的 README、依赖文件或代码导入项,再安装对应包。

运行前记录版本,遇到问题时更容易复现:

1
2
3
4
python --version
git --version
node --version
rustc --version

没有学习到相应语言阶段时,某个命令不存在并不代表仓库损坏。

如何从 503 节中挑出一条最短路径

不要只按阶段名称选择,还要从最终产物倒推:

目标 建议先学 暂时可以跳过
调用模型 API 做应用 APIs & Keys、LLM Engineering、Structured Outputs 从头实现视觉模型
做 RAG Embeddings、Chunking、Retrieval、Evaluation GAN、强化学习基础
写 MCP Server Tools & Protocols、API、鉴权、错误处理 完整预训练流程
做 Coding Agent Agent loop、Tool use、Memory、Evaluation 大部分视觉课程
本地部署模型 GPU Setup、Quantization、Inference、Infrastructure 多 Agent Swarm
系统学习模型原理 Math、ML、Deep Learning、Transformer、LLM from Scratch 不建议跳过基础阶段

每条路径先选 8–15 节组成第一轮,不要一次生成覆盖数百节的计划。完成后再用 /check-understanding 找缺口。

一周学习工作流示例

下面是一种适合在职开发者的节奏:

1
2
3
4
5
6
周一:读 problem 和 concept,记录不理解的术语
周二:运行 code/ 中的基础实现
周三:修改一个参数,观察测试或输出变化
周四:阅读生产库版本,比较两种实现
周五:整理 outputs/,做成自己的 Prompt 或 Skill
周末:运行 /check-understanding,并补写失败案例

每周只要求交付一个能运行的产物。对于 GPU 训练、数据集下载或云资源步骤,先估算费用和时间,避免启动后才发现无法完成。

怎样把课程 Skill 改成自己的版本

不要直接在克隆仓库内改原始 Skill 后长期使用,否则以后 git pull 容易冲突。复制到自己的 Skills 目录,再调整:

  1. 修改 name,避免与原 Skill 重名;
  2. 收窄触发条件,只覆盖自己真正使用的场景;
  3. 把课程示例路径换成项目实际路径;
  4. 明确允许和禁止的命令;
  5. 增加验证步骤,例如测试、lint 或 git diff --check
  6. 在测试仓库运行后再放入全局目录。

升级课程仓库时,先查看差异:

1
2
3
git fetch origin
git log --oneline HEAD..origin/main
git diff HEAD..origin/main -- scripts .claude

确认安装脚本和 Skills 没有出现意外权限变化,再执行更新。

常见失败及定位顺序

示例代码缺少模块

先确认虚拟环境和当前目录,再查该课程是否有依赖文件:

1
2
3
Get-Location
python -c "import sys; print(sys.executable)"
Get-ChildItem -Recurse -Include requirements*.txt,pyproject.toml,package.json

不要看到 ModuleNotFoundError 就在全局环境连续安装一串包。

测试通过但没有理解代码

尝试删除一个关键步骤、改变输入尺寸或制造错误输入。如果无法预测会在哪里失败,说明目前只是运行了代码,还没有完成课程目标。

Agent Skill 安装后不出现

检查 Skill 目录是否多嵌套了一层、front matter 是否有效、客户端是否需要重启,以及该 Skill 是否只为另一种客户端设计。直接把 SKILL.md 内容作为任务输入,可以帮助区分“Skill 内容有问题”还是“客户端未发现文件”。

三种推荐学习路线

路线一:第一次系统学习 AI

建议从 Setup、Math、ML、Deep Learning 开始,再进入 Transformer 和 LLM。数学阶段不必追求一次全部掌握,重点是能解释矩阵、梯度、概率和损失函数在代码里做什么。

路线二:会写应用,想转向 LLM Engineering

可以从 Transformer、GenAI、LLM Engineering 开始,然后学习 Tools & Protocols、Agent Engineering 和 Infrastructure。每完成一节,尝试把输出改成一个能在自己项目中使用的小工具。

路线三:已经在使用 Codex 或 Claude Code

优先看 Agent loop、工具调用、MCP、记忆、多 Agent、生产部署和安全。不要只复制 Skill;同时检查它解决的问题、触发条件、权限边界和失败后的恢复方式。

常见问题

503 节课程必须全部完成吗?

不需要。503 节说明覆盖范围很大,不代表每个人都应从头学到尾。先完成与你当前工作有关的一条路线,再逐步补齐基础。

可以只下载 PDF 或 EPUB 吗?

可以。官方 Release 提供六卷 PDF 和 EPUB。不过仓库才是持续更新的版本,而且包含代码、测试与 Skills;只看电子书会失去大量实践内容。

运行代码需要 GPU 吗?

基础数学、Python、Agent loop 等内容通常不依赖 GPU。涉及深度学习训练、本地模型或多模态时,才需要根据课程要求准备 CUDA、云 GPU 或较长运行时间。

建议的使用方法

先执行 /find-your-level,选择一条路线,然后每周只完成一个可以验证的目标,例如实现 tokenizer、运行最小 Agent loop,或安装并审计一个 Skill。这样比收藏 503 个链接更容易形成可复用能力。

参考资料