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:
|
|
克隆仓库:
|
|
官方 README 给出的第一个示例是线性代数向量代码:
|
|
如果 Windows 上 python 指向 Microsoft Store 或找不到解释器,可以试试:
|
|
每节课的目录通常包含:
|
|
学习时不要只读 docs。至少运行一次 code,再检查 outputs 是否能用于自己的工作流。
安装课程自带的 Agent Skills
仓库提供面向 Claude、Cursor、Codex、OpenClaw 和 Hermes 的 Skills,官方安装入口是:
|
|
Windows 如果没有 python3 命令,可以使用:
|
|
安装前先打开脚本,确认它会把文件复制到哪里:
|
|
不要在不检查路径的情况下,以管理员权限运行第三方安装脚本。Skill 通常只是 Markdown 指令和辅助脚本,但辅助脚本仍可能读写文件或执行命令。
用 /find-your-level 找学习起点
安装 Skills 后,可以在支持斜杠命令的 Agent 中运行:
|
|
它会通过十个问题评估基础,再给出建议阶段和时间预估。完成某个阶段后,可以运行:
|
|
这里的 3 表示检查第 3 阶段。它适合发现“代码能运行,但概念没有真正掌握”的情况。
如果当前客户端没有自动识别斜杠命令,可以直接打开对应的 SKILL.md,把任务要求交给 Agent 执行。不同客户端的 Skill 搜索目录并不完全相同,应以客户端当前版本的文档和本地配置为准。
先检查课程完成状态,不要把 Roadmap 当成目录
仓库根目录的 ROADMAP.md 不只是未来计划,还标记每节课是已完成、进行中还是计划中。官方使用三个状态:
|
|
准备学习某个阶段前,先搜索状态:
|
|
只查看 Agent、MCP 和生产部署附近的阶段:
|
|
这样可以避免按照 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/:
|
|
最终产物至少应满足:有明确输入、失败时不会静默成功、不会把密钥写入仓库,并且能在一个新的测试目录中复现。
Windows 环境建议
课程横跨 Python、TypeScript、Rust 和 Julia,不建议一开始安装所有工具链。先为当前阶段创建隔离环境。
Python 课程可以使用:
|
|
如果 PowerShell 阻止激活脚本,可以只对当前进程调整策略:
|
|
不要直接使用管理员 PowerShell,也不要为了运行课程全局关闭执行策略。某一节课需要额外依赖时,优先读取该课程目录的 README、依赖文件或代码导入项,再安装对应包。
运行前记录版本,遇到问题时更容易复现:
|
|
没有学习到相应语言阶段时,某个命令不存在并不代表仓库损坏。
如何从 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 找缺口。
一周学习工作流示例
下面是一种适合在职开发者的节奏:
|
|
每周只要求交付一个能运行的产物。对于 GPU 训练、数据集下载或云资源步骤,先估算费用和时间,避免启动后才发现无法完成。
怎样把课程 Skill 改成自己的版本
不要直接在克隆仓库内改原始 Skill 后长期使用,否则以后 git pull 容易冲突。复制到自己的 Skills 目录,再调整:
- 修改
name,避免与原 Skill 重名; - 收窄触发条件,只覆盖自己真正使用的场景;
- 把课程示例路径换成项目实际路径;
- 明确允许和禁止的命令;
- 增加验证步骤,例如测试、lint 或
git diff --check; - 在测试仓库运行后再放入全局目录。
升级课程仓库时,先查看差异:
|
|
确认安装脚本和 Skills 没有出现意外权限变化,再执行更新。
常见失败及定位顺序
示例代码缺少模块
先确认虚拟环境和当前目录,再查该课程是否有依赖文件:
|
|
不要看到 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 个链接更容易形成可复用能力。