实现模型内部机制、检索流水线和 agent 运行时。测试它们,分析失败,并保留代码与评估结果。
开始学习 · 选择路径 · 试试实验 · 动手做项目 · 浏览课程目录
免费、开源,采用 MIT 许可。你可以在网站上学习,使用 coding agent,或在本地运行代码。
542 节课,20 个阶段。Python、TypeScript、Rust、Julia。
本项目是 Rohit Ghumare 及社区创建的 AI Engineering from Scratch 的简体中文衍生版 ,由 fancy 维护。课程内容与结构跟随上游,中文翻译遵循 TRANSLATION.md 。
特别鸣谢
IPWO 拥有 9000 万+ 活跃住宅 IP 资源,覆盖 195+ 个国家和地区。
提供动态住宅代理、静态住宅代理及不限量住宅代理。
适用于网页抓取、数据采集、浏览器自动化、跨境业务等场景。
我们订阅使用 Claude / Claude Code 时采用住宅 IP,长期使用稳定。
支持免费测试 ,9 折优惠码: 0203
学习路径
比较职业路径 · 前置要求与学习时间
梯度下降
二十个起点沿着二次损失函数的梯度下降。图中展示每次更新后各点的位置及平均损失。
在课程中调整学习率 · 用代码比较 GD、momentum 和 Adam
项目
三个项目均提供分阶段 starter、参考实现和本地评分器。完成环境配置 后,在仓库根目录运行命令。实现对应阶段前,starter 会测试失败。
01 · 检索评估实验室 · Python · 排序指标与回归检查
候选版提高了平均 NDCG,但某个查询最相关证据的排名反而降低。构建逐查询比较,报告回归,并让它能够阻止发布检查通过。
使用 Python 3.10+。先复习 RAG 与模型评估 。依次实现排序验证、precision 与 recall、排名敏感指标和系统比较。
python3 scripts/project_test.py retrieval-evaluation-lab \
--init learning-artifacts/retrieval-evaluation-lab
python3 scripts/project_test.py retrieval-evaluation-lab \
--stage 1 --path learning-artifacts/retrieval-evaluation-lab --strict
python3 scripts/project_test.py retrieval-evaluation-lab \
--all --path learning-artifacts/retrieval-evaluation-lab --strict
保留产物: 可复现的比较,包含逐查询差值与用于评分的相关性判断。指标描述的是这些判断,并不能证明回答正确。
开始项目 · 查看参考实现 · 使用自己的输入
02 · Agent 轨迹调试器 · TypeScript · 轨迹解析与计时
所给轨迹的总耗时仍为 100 ms,但 token 总用量增加了 200,且有一个 span 开始失败。分离重叠子任务与父任务执行时间,再生成可检查的报告,揭示变化。
评分器需要 Node.js 22.18+ 和 Python 3。依次实现 JSONL 解析、父级验证、区间运算和可检查的时间线。
python3 scripts/project_test.py agent-trace-debugger \
--init learning-artifacts/agent-trace-debugger
python3 scripts/project_test.py agent-trace-debugger \
--stage 1 --path learning-artifacts/agent-trace-debugger --strict
python3 scripts/project_test.py agent-trace-debugger \
--all --path learning-artifacts/agent-trace-debugger --strict
保留产物: 输入轨迹、HTML 时间线与 JSON 回归报告。保留每个 span 独占的 token 数,避免把父级与子级用量重复计数。
开始项目 · 查看参考实现 · 交互式探索计时
03 · 工具调用防火墙 · Rust · 角色检查与批准回执
写入内容在审查后改变,或批准被重放。验证调用信封,检查调用方角色与路径,再消耗一次与精确请求和内容绑定的批准。
使用 Rust 与 Python 3.10+。先复习工具 schema 设计 和安全边界 。调用应用提供身份,模型只是提出操作。
python3 scripts/project_test.py tool-call-firewall \
--init learning-artifacts/tool-call-firewall
python3 scripts/project_test.py tool-call-firewall \
--stage 1 --path learning-artifacts/tool-call-firewall --strict
python3 scripts/project_test.py tool-call-firewall \
--all --path learning-artifacts/tool-call-firewall --strict
保留产物: 展示请求操作和策略决策的审计回执。批准只在一次调用中单次使用;本项目不提供持久授权,也不是操作系统沙箱。
开始项目 · 查看参考实现 · 探索批准边界
浏览全部项目 · 职业实践指南
选择学习方式
在网站上学习
在 aieng-zh.cn 打开任意已完成的课程,或在下方课程目录 中展开一个阶段。无需配置环境,也无需克隆仓库。
使用 AI 导师
如果已经安装 Node.js、npx 和支持 skill 的 coding agent,你的 coding agent 就可以成为导师。安装和阅读导师技能不需要克隆仓库。专项路径中可运行的实验需要 python3;Agent Skills 的宿主实验还需要选定宿主,以及可写入的用户或项目技能目录。
npx skills add fancyboi999/ai-engineering-from-scratch-zh
安装器询问时,选择宿主和安装范围。在 Codex 中使用 start-learning,在 Claude Code 中使用 /start-learning,或让其他宿主按名称使用该技能。
导师配置与宿主命令
先检查本地要求:
node --version
npx --version
python3 --version
skills 会写入安装时选定的宿主和范围,例如 .claude/skills/、.cursor/skills/、.codex/skills/ 或其他受支持的技能目录。检查所选宿主能否发现这个确切位置。
调用语法由宿主决定,不属于可移植的 SKILL.md 格式:
宿主
开始全课程
开始模型上下文协议(MCP)
开始 Agent Skills
运行阶段测验
Codex
start-learning,或从 /skills 选择
learn-mcp,或从 /skills 选择
learn-agent-skills,或从 /skills 选择
check-understanding 13,或从 /skills 选择
Claude Code
/start-learning
/learn-mcp
/learn-agent-skills
/check-understanding 13
其他兼容宿主
使用 start-learning 开始课程。
使用 learn-mcp 开始模型上下文协议(MCP)路径。
使用 learn-agent-skills 开始 Agent Skills 工程路径。
使用 check-understanding 测验阶段 13。
十道题的定级测验会将你已有的知识映射到起始阶段,并把个性化学习计划保存到 LEARNING.md。随后,learn 技能每次会话教一节课:概念、数学、代码、测验。它直接从本仓库读取课程;course-guide 技能可以将你卡住的问题定位到具体课程。在 Codex 中使用 learn 和 course-guide,在 Claude Code 中使用 /learn 和 /course-guide,在其他兼容宿主中按名称调用即可。
只想学模型上下文协议(MCP)?使用宿主对应的 MCP 调用方式。它会生成 MCP-LEARNING.md,沿 17 节课的路线学习无状态请求、传输、双向交互、安全、可靠性、注册表治理和一致性证据。确切顺序和检查点见 MCP 路径清单 。
只想学 Agent Skills?使用宿主对应的调用方式。它会生成 AGENT-SKILLS-LEARNING.md,按五节课学习契约、发现、调用、沙箱边界、发布评估与真实宿主的可移植性。网站入口见 Agent Skills 路径 。
安装器会列出可配置的宿主并询问安装位置。如果暂时没有 Node.js、npx、python3、受支持的宿主或可写入范围,可以先使用网站,或直接阅读 docs/zh.md。这样可以学习概念;真实宿主的发现、调用、脚本和卸载验证,需要等环境预检通过后再完成。课程可在 aieng-zh.cn 阅读。
学习技能
在本地运行代码
git clone https://github.com/fancyboi999/ai-engineering-from-scratch-zh.git
cd ai-engineering-from-scratch-zh
python3 phases/00-setup-and-tooling/01-dev-environment/code/verify.py --route beginner
python3 phases/01-math-foundations/01-linear-algebra-intuition/code/vectors.py
环境预检会区分当前必需项与后续才需要的工具。每项必需检查失败时,都会给出检测到的原因和修正命令。vectors.py 不需要第三方依赖,最后会展示矩阵与向量相乘如何成为神经网络层内部的运算。把这段终端输出保存为你的第一份证据。
用同样的方法学习每一课
每节课的学习方法
阅读 docs/zh.md,用自己的话解释核心概念。
输入并构建 关键代码,亲手实现它。
运行 课程命令。工作目录是包含 README.md 和 phases/ 的仓库根目录。
保留证据 :命令、工作目录、退出码、有意义的输出,以及你修改或生成的产物。
继续下一步 之前,先解释清楚输出,并能在不靠猜测的情况下作出一个小修改。
除非课程明确要求切换目录,否则页面中的命令路径均相对于仓库根目录。课程提供多种语言时,运行你正在学习的语言实现。
选择学习路径
开始前不需要先扫完 542 节课。选一个目标即可。每个链接都对应 GitHub 或网站上的同一套课程,两处使用相同的课程代码。
拿不准自己适合从哪开始?使用 start-learning 定位导师 ,或查看网站前置要求指南 。
在 AI 工程学习路径 中比较四大核心领域与六大职业发展路线。
MCP、Agent Skills 与逆向工程专项路径
前置要求与学习时间
前置要求
能编写代码,语言不限,会 Python 更方便。
希望理解 AI 的实际工作机制。
从哪里开始
你的背景
从哪开始
上游路线估算
编程和 AI 都是新手
阶段 0 — 配置与工具链
约 306 小时
会 Python,刚接触 ML
阶段 1 — 数学基础
约 270 小时
懂 ML,刚接触深度学习
阶段 3 — 深度学习核心
约 200 小时
懂深度学习,想学 LLM 和 agent
阶段 10 — 从零实现 LLM
约 100 小时
资深工程师,只想学 agent 工程
阶段 14 — Agent 工程
约 60 小时
只想构建生产级 MCP 系统
MCP 路径
约 23 小时 15 分
只想构建生产级 Agent Skills
Agent Skills 工程路径
约 9.5 小时
只想学逆向工程
逆向工程路径
约 32.5 小时
路线估算沿用上游,不代表各课正文预计时长的总和。逐课时长见 ROADMAP.md ,专项路径的必修范围和时长以 learning-paths/*.json 为准。
课程的结构
二十个阶段层层叠起来。数学是地基,agent 和生产部署是屋顶。下层的东西你已经会了,就尽管
往前跳;但别跳过去之后,又回头纳闷上层为什么塌了。
%%{init: {'theme':'base','themeVariables':{'primaryColor':'#fafaf5','primaryTextColor':'#1a1a1a','primaryBorderColor':'#3553ff','lineColor':'#3553ff'}}}%%
flowchart TB
P0["阶段 0 · 配置与工具链"] --> P1["阶段 1 · 数学基础"]
P1 --> P2["阶段 2 · 机器学习基础"]
P2 --> P3["阶段 3 · 深度学习核心"]
P3 --> P4["阶段 4 · 计算机视觉"]
P3 --> P5["阶段 5 · NLP"]
P3 --> P6["阶段 6 · 语音与音频"]
P3 --> P9["阶段 9 · 强化学习"]
P5 --> P7["阶段 7 · Transformer"]
P7 --> P8["阶段 8 · 生成式 AI"]
P7 --> P10["阶段 10 · 从零实现 LLM"]
P10 --> P11["阶段 11 · LLM 工程"]
P10 --> P12["阶段 12 · 多模态 AI"]
P11 --> P13["阶段 13 · 工具与协议"]
P13 --> P14["阶段 14 · Agent 工程"]
P14 --> P15["阶段 15 · 自主系统"]
P15 --> P16["阶段 16 · 多 agent 与集群"]
P14 --> P17["阶段 17 · 基础设施与生产"]
P15 --> P18["阶段 18 · 伦理、安全与对齐"]
P16 --> P19["阶段 19 · 综合项目"]
P17 --> P19
P18 --> P19
classDef phase fill:#fafaf5,stroke:#3553ff,color:#1a1a1a
class P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19 phase
课程目录
二十个阶段。点开任意阶段即可展开它的课程列表。
Phase 0: 配置与工具链 13 lessons
把环境准备好,迎接后面所有的内容。
Phase 1 — 数学基础 22 lessons 每个 AI 算法背后的直觉,用代码讲清楚。
#
Lesson
Type
Lang
01
线性代数直觉
Learn
Python, Julia
02
向量、矩阵与运算
Build
Python, Julia
03
矩阵变换与特征值
Build
Python, Julia
04
机器学习里的微积分:导数与梯度
Learn
Python, Julia
05
链式法则与自动微分
Build
Python, Julia
06
概率与分布
Learn
Python, Julia
07
贝叶斯定理与统计思维
Build
Python, TypeScript
08
优化:梯度下降家族
Build
Python, Julia
09
信息论:熵与 KL 散度
Learn
Python, TypeScript
10
降维:PCA、t-SNE、UMAP
Build
Python, TypeScript
11
奇异值分解
Build
Python, Julia
12
张量运算
Build
Python, TypeScript
13
数值稳定性
Build
Python, TypeScript
14
范数与距离
Build
Python, TypeScript
15
机器学习里的统计学
Build
Python, TypeScript
16
采样方法
Build
Python, TypeScript
17
线性方程组
Build
Python, TypeScript
18
凸优化
Build
Python, TypeScript
19
面向 AI 的复数
Learn
Python
20
傅里叶变换
Build
Python, TypeScript
21
机器学习里的图论
Build
Python, TypeScript
22
随机过程
Learn
Python
Phase 2 — 机器学习基础 21 lessons 经典机器学习——至今仍是大多数生产 AI 的骨架。
#
Lesson
Type
Lang
01
什么是机器学习
Learn
Python
02
从零实现线性回归
Build
Python, Rust, Julia
03
逻辑回归与分类
Build
Python, Rust, Julia
04
决策树与随机森林
Build
Python, TypeScript
05
支持向量机
Build
Python, Julia
06
KNN 与距离度量
Build
Python, TypeScript
07
无监督学习:K-Means、DBSCAN
Build
Python, TypeScript
08
特征工程与特征选择
Build
Python, TypeScript
09
模型评估:指标与交叉验证
Build
Python, Julia
10
偏差、方差与学习曲线
Learn
Python
11
集成方法:Boosting、Bagging、Stacking
Build
Python
12
超参数调优
Build
Python
13
机器学习流水线与实验追踪
Build
Python
14
朴素贝叶斯
Build
Python
15
时间序列基础
Build
Python
16
异常检测
Build
Python
17
处理不平衡数据
Build
Python
18
特征选择
Build
Python
19
ML 系统设计 —— 从业务问题到落地模型
Build
Python
20
生产环境中的模型监控 —— 数据漂移与概念漂移
Build
Python
21
特征平台与训练-推理偏斜
Build
Python
Phase 3 — 深度学习核心 13 lessons 从第一性原理出发的神经网络。先自己造一个,再碰框架。
#
Lesson
Type
Lang
01
感知机:一切的起点
Build
Python, Rust, Julia
02
多层网络与前向传播
Build
Python, TypeScript
03
从零实现反向传播
Build
Python, Rust, Julia
04
激活函数:ReLU、Sigmoid、GELU 及其原因
Build
Python, Julia
05
损失函数:MSE、交叉熵、对比损失
Build
Python, Julia
06
优化器:SGD、Momentum、Adam、AdamW
Build
Python, TypeScript
07
正则化:Dropout、权重衰减、BatchNorm
Build
Python, TypeScript
08
权重初始化与训练稳定性
Build
Python, TypeScript
09
学习率调度与 Warmup
Build
Python, TypeScript
10
造一个你自己的迷你框架
Build
Python, TypeScript
11
PyTorch 入门
Build
Python
12
JAX 入门
Build
Python
13
调试神经网络
Build
Python
Phase 4 — 计算机视觉 28 lessons 从像素到理解——图像、视频、3D、VLM 和世界模型。
Phase 5 — NLP:从基础到进阶 29 lessons 语言是通往智能的接口。
Phase 6 — 语音与音频 17 lessons 听见、听懂、开口说。
Phase 7 — Transformer 深入剖析 16 lessons 那个改变了一切的架构。
#
Lesson
Type
Lang
01
为什么用 Transformer:RNN 的问题
Learn
Python, Julia
02
从零实现自注意力
Build
Python, Rust, Julia
03
多头注意力
Build
Python, Rust
04
位置编码:正弦、RoPE、ALiBi
Build
Python, Rust, Julia
05
完整的 Transformer:编码器 + 解码器
Build
Python, Julia
06
BERT——掩码语言建模
Build
Python
07
GPT——因果语言建模
Build
Python
08
T5、BART——编码器-解码器模型
Learn
Python
09
Vision Transformer(ViT)
Build
Python
10
音频 Transformer——Whisper 架构
Learn
Python
11
专家混合(MoE)
Build
Python, Rust
12
KV Cache、Flash Attention 与推理优化
Build
Python, Rust
13
缩放定律
Learn
Python
14
从零构建一个 Transformer
Build
Python
15
Attention 变体——滑动窗口、稀疏、差分
Build
Python, Rust
16
投机解码——草稿、验证、重复
Build
Python, Rust
Phase 8 — 生成式 AI 15 lessons 生成图像、视频、音频、3D,等等。
Phase 9 — 强化学习 12 lessons RLHF 和会玩游戏的 AI 的基石。
Phase 10 — 从零实现 LLM 24 lessons 构建、训练并真正理解大语言模型。
Phase 11 — LLM 工程 17 lessons 让 LLM 在生产环境里干活。
Phase 12 — 多模态 AI 25 lessons 跨模态地看、听、读、推理——从 ViT 的图块到操作电脑的 agent。
Phase 13 — 工具与协议 45 lessons AI 与真实世界之间的接口,包括 Agent Skills 与无状态 MCP 的生产契约。
模型上下文协议(MCP)路径 包含第 06–18、28–31 课,共 17 节必修课,按清单顺序学习,其中第 18 课先于第 17 课。Agent Skills 路径 包含第 22、24–27 课,共 5 节必修课。第 23 课是两条路径的可选系统综合项目,开始前按各路径清单完成前置要求。
Phase 14 — Agent 工程 54 lessons 从第一性原理构建 agent,可靠使用 coding agent,并在实现前把工作定义清楚。
README 内容过长,已截取前 64 KB。完整内容请前往 GitHub 仓库查看。
评论