░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒
84% 的学生已经在用 AI 工具,可只有 18% 觉得自己能在专业场景里用好它们。 这套课程要填的就是这道沟。
503 节课,20 个阶段,约 320 小时。Python、TypeScript、Rust、Julia。每节课都交付一件 能复用的东西:一个提示词、一个技能、一个 agent、一个 MCP server。免费,开源,MIT。
你不只是学 AI,你亲手把它造出来。从头到尾,全手写。
本项目是 AI Engineering from Scratch(作者 Rohit Ghumare,MIT 协议)的简体中文衍生版。衷心感谢原作者创作并开源了这套课程。
这个中文版做了什么
不是机器翻译堆出来的镜像。在忠实翻译之上,我们做了一套面向中文读者的本地化:
| 🇨🇳 全站简体中文 | 503 节课正文、83 条术语表、测验题、mermaid 流程图、交互图表标签全部中文化(agent、token、transformer 等技术术语按惯例保留英文) |
| 🌐 独立中文网站 aieng-zh.cn | 可搜索的课程目录、学习进度追踪、可拖动的交互式图表、命令面板(Cmd / Ctrl + K)、深色模式 |
| 🎬 配套动画讲解视频 | 3Blue1Brown 风格的无真人动画讲解,把每节课的数学推导与核心直觉做成可视化短片,中文配音、在课程页内嵌播放。Phase 1(数学基础 22 节)已上线,其余阶段陆续制作中——它是对动手推导的补充,不是替你跳过思考的速成视频 |
| 🔍 为 AI 检索优化 | 构建时自动生成 sitemap.xml / llms.txt / 结构化数据,方便被搜索引擎和 AI 助手引用 |
| ✅ 课数一致性护栏 | CI 自动校验课程数(node site/build.js --check),防止课程列表与磁盘上的实际内容漂移 |
翻译怎么翻见 TRANSLATION.md。课程结构、代码与上游保持一致,译文持续跟进上游更新。
目录 · 怎么运作 · 课程结构 · 一节课的样子 · 快速开始 · 每节课都有产出 · 课程目录 · 工具箱 · 参与贡献
怎么运作
大多数 AI 教材都是碎片化教学。这儿一篇论文,那儿一篇微调心得,别处再来个炫酷的 agent demo。这些碎片很少能拼到一起。你做出了一个聊天机器人,却讲不清它的 loss 曲线;你给 agent 挂了个函数,却说不出调用它的那个模型内部,attention 到底在干什么。
这套课程就是那根脊椎。20 个阶段,503 节课,四种语言:Python、TypeScript、Rust、Julia。 一头是线性代数,另一头是自主 agent 集群。每个算法都先从最原始的数学手写出来。反向传播、 分词器、注意力、agent 循环——等 PyTorch 登场时,你已经知道它底层在做什么了。
每节课都跑同一个循环:读懂问题、推导数学、写代码、跑测试、留下产物。没有五分钟速成视频, 没有复制粘贴式部署,没有手把手喂饭。免费,开源,在你自己的笔记本上就能跑。
░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒
课程的结构
二十个阶段层层叠起来。数学是地基,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
░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒
一节课的样子
每节课都待在自己的文件夹里,整套课程结构统一:
phases/<NN>-<phase-name>/<NN>-<lesson-name>/
├── code/ 可运行的实现(Python、TypeScript、Rust、Julia)
├── docs/
│ └── zh.md 课程正文
└── outputs/ 本节课产出的提示词、技能、agent 或 MCP server
每节课都走六个节拍。其中 Build It / Use It(动手构建 / 上手使用)的拆分是整节课的脊椎—— 你先从零实现算法,再用生产级的库把同样的事跑一遍。你之所以懂框架在做什么,是因为那个更小的 版本你自己写过。
%%{init: {'theme':'base','themeVariables':{'primaryColor':'#fafaf5','primaryTextColor':'#1a1a1a','primaryBorderColor':'#3553ff','lineColor':'#3553ff'}}}%%
flowchart LR
M["主旨<br/>一句话核心理念"] --> Pr["问题背景<br/>具体的痛点"]
Pr --> C["核心概念<br/>图解与直觉"]
C --> B["动手构建<br/>纯数学,不用框架"]
B --> U["实际使用<br/>同样的事用 PyTorch / sklearn 跑一遍"]
U --> S["拿去用<br/>提示词 · 技能 · agent · MCP"]
快速开始
三种入门方式。挑一个。
方式 A —— 阅读。 在 aieng-zh.cn 上打开任意一节已完成的课程, 或展开 目录 里的某个阶段。无需配置,无需 clone。
方式 B —— clone 下来跑。
git clone https://github.com/fancyboi999/ai-engineering-from-scratch-zh.git
cd ai-engineering-from-scratch-zh
python phases/01-math-foundations/01-linear-algebra-intuition/code/vectors.py
方式 C —— 测一测你的水平 (推荐)。 聪明地跳级。在 Claude、Cursor、Codex、OpenClaw、Hermes,或任何装了本课程技能的 agent 里:
/find-your-level
十道题。把你的知识映射到一个起始阶段,生成一条带课时估算的个性化路径。每学完一个阶段:
/check-understanding 3 # 测验你对阶段 3 的掌握
ls phases/03-deep-learning-core/05-loss-functions/outputs/
# ├── prompt-loss-function-selector.md
# └── prompt-loss-debugger.md
前置要求
- 你会写代码(任何语言都行,会 Python 更好)。
- 你想搞懂 AI 到底是怎么运作的,而不只是调调 API。
内置 agent 技能(Claude、Cursor、Codex、OpenClaw、Hermes)
| 技能 | 作用 |
|---|---|
/find-your-level |
十道题的定级测验。把你的知识映射到一个起始阶段,生成带课时估算的个性化路径。 |
/check-understanding <phase> |
按阶段测验,八道题,附反馈和需要复习的具体课程。 |
░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒
每节课都有产出
别的课程结尾是一句 "恭喜,你学会了 X。" 这里每节课的结尾,是一件你能直接装上、 或粘进日常工作流的 可复用工具。
用
python3 scripts/install_skills.py一次性全部安装。是真家伙,不是课后作业。 学完整套课程,你会攒下近 500 件产物——你是真懂它们,因为它们都是你亲手造的。
FIG_002 · 一个实例
阶段 14,第 1 课:agent 循环。约 120 行纯 Python,零依赖。
code/agent_loop.py 动手构建
def run(query, tools):
history = [user(query)]
for step in range(MAX_STEPS):
msg = llm(history)
if msg.tool_calls:
for call in msg.tool_calls:
result = tools[call.name](https://github.com/fancyboi999/ai-engineering-from-scratch-zh/blob/main/**call.args)
history.append(tool_result(call.id, result))
continue
return msg.content
raise StepLimitExceeded
outputs/skill-agent-loop.md 交付
---
name: agent-loop
description: ReAct-style loop for any tool list
phase: 14
lesson: 01
---
Implement a minimal agent loop that...
outputs/prompt-debug-agent.md
You are an agent debugger. Given the trace
of an agent run, identify the step where
the agent went wrong and explain why...
░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒
课程目录
二十个阶段。点开任意阶段即可展开它的课程列表。
Phase 0: 配置与工具链 12 lessons
把环境准备好,迎接后面所有的内容。
| # | Lesson | Type | Lang |
|---|---|---|---|
| 01 | 开发环境 | Build | Python |
| 02 | Git 与协作 | Learn | — |
| 03 | GPU 配置与云端 | Build | Python |
| 04 | API 与密钥 | Build | Python |
| 05 | Jupyter Notebook | Build | Python |
| 06 | Python 环境管理 | Build | Shell |
| 07 | 面向 AI 的 Docker | Build | Docker |
| 08 | 编辑器配置 | Build | — |
| 09 | 数据管理 | Build | Python |
| 10 | 终端与 Shell | Learn | — |
| 11 | 面向 AI 的 Linux | Learn | — |
| 12 | 调试与性能分析 | Build | Python |
| # | Lesson | Type | Lang |
|---|---|---|---|
| 01 | 线性代数直觉 | Learn | Python, Julia |
| 02 | 向量、矩阵与运算 | Build | Python, Julia |
| 03 | 矩阵变换与特征值 | Build | Python, Julia |
| 04 | 机器学习里的微积分:导数与梯度 | Learn | Python |
| 05 | 链式法则与自动微分 | Build | Python |
| 06 | 概率与分布 | Learn | Python |
| 07 | 贝叶斯定理与统计思维 | Build | Python |
| 08 | 优化:梯度下降家族 | Build | Python |
| 09 | 信息论:熵与 KL 散度 | Learn | Python |
| 10 | 降维:PCA、t-SNE、UMAP | Build | Python |
| 11 | 奇异值分解 | Build | Python, Julia |
| 12 | 张量运算 | Build | Python |
| 13 | 数值稳定性 | Build | Python |
| 14 | 范数与距离 | Build | Python |
| 15 | 机器学习里的统计学 | Build | Python |
| 16 | 采样方法 | Build | Python |
| 17 | 线性方程组 | Build | Python |
| 18 | 凸优化 | Build | Python |
| 19 | 面向 AI 的复数 | Learn | Python |
| 20 | 傅里叶变换 | Build | Python |
| 21 | 机器学习里的图论 | Build | Python |
| 22 | 随机过程 | Learn | Python |
| # | Lesson | Type | Lang |
|---|---|---|---|
| 01 | 什么是机器学习 | Learn | Python |
| 02 | 从零实现线性回归 | Build | Python |
| 03 | 逻辑回归与分类 | Build | Python |
| 04 | 决策树与随机森林 | Build | Python |
| 05 | 支持向量机 | Build | Python |
| 06 | KNN 与距离度量 | Build | Python |
| 07 | 无监督学习:K-Means、DBSCAN | Build | Python |
| 08 | 特征工程与特征选择 | Build | Python |
| 09 | 模型评估:指标与交叉验证 | Build | Python |
| 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 |
| # | Lesson | Type | Lang |
|---|---|---|---|
| 01 | 感知机:一切的起点 | Build | Python |
| 02 | 多层网络与前向传播 | Build | Python |
| 03 | 从零实现反向传播 | Build | Python |
| 04 | 激活函数:ReLU、Sigmoid、GELU 及其原因 | Build | Python |
| 05 | 损失函数:MSE、交叉熵、对比损失 | Build | Python |
| 06 | 优化器:SGD、Momentum、Adam、AdamW | Build | Python |
| 07 | 正则化:Dropout、权重衰减、BatchNorm | Build | Python |
| 08 | 权重初始化与训练稳定性 | Build | Python |
| 09 | 学习率调度与 Warmup | Build | Python |
| 10 | 造一个你自己的迷你框架 | Build | Python |
| 11 | PyTorch 入门 | Build | Python |
| 12 | JAX 入门 | Build | Python |
| 13 | 调试神经网络 | Build | Python |
| # | Lesson | Type | Lang |
|---|---|---|---|
| 01 | 图像基础:像素、通道、色彩空间 | Learn | Python |
| 02 | 从零实现卷积 | Build | Python |
| 03 | CNN:从 LeNet 到 ResNet | Build | Python |
| 04 | 图像分类 | Build | Python |
| 05 | 迁移学习与微调 | Build | Python |
| 06 | 目标检测——从零实现 YOLO | Build | Python |
| 07 | 语义分割——U-Net | Build | Python |
| 08 | 实例分割——Mask R-CNN | Build | Python |
| 09 | 图像生成——GAN | Build | Python |
| 10 | 图像生成——扩散模型 | Build | Python |
| 11 | Stable Diffusion——架构与微调 | Build | Python |
| 12 | 视频理解——时序建模 | Build | Python |
| 13 | 3D 视觉:点云、NeRF | Build | Python |
| 14 | Vision Transformer(ViT) | Build | Python |
| 15 | 实时视觉:边缘部署 | Build | Python |
| 16 | 构建一条完整的视觉流水线 | Build | Python |
| 17 | 自监督视觉——SimCLR、DINO、MAE | Build | Python |
| 18 | 开放词表视觉——CLIP | Build | Python |
| 19 | OCR 与文档理解 | Build | Python |
| 20 | 图像检索与度量学习 | Build | Python |
| 21 | 关键点检测与姿态估计 | Build | Python |
| 22 | 从零实现 3D 高斯泼溅 | Build | Python |
| 23 | Diffusion Transformer 与 Rectified Flow | Build | Python |
| 24 | SAM 3 与开放词表分割 | Build | Python |
| 25 | 视觉语言模型(ViT-MLP-LLM) | Build | Python |
| 26 | 单目深度与几何估计 | Build | Python |
| 27 | 多目标跟踪与视频记忆 | Build | Python |
| 28 | 世界模型与视频扩散 | Build | Python |
| # | Lesson | Type | Lang |
|---|---|---|---|
| 01 | 文本处理:分词、词干提取、词形还原 | Build | Python |
| 02 | 词袋、TF-IDF 与文本表示 | Build | Python |
| 03 | 词嵌入:从零实现 Word2Vec | Build | Python |
| 04 | GloVe、FastText 与子词嵌入 | Build | Python |
| 05 | 情感分析 | Build | Python |
| 06 | 命名实体识别(NER) | Build | Python |
| 07 | 词性标注与句法分析 | Build | Python |
| 08 | 文本分类——用于文本的 CNN 与 RNN | Build | Python |
| 09 | 序列到序列模型 | Build | Python |
| 10 | 注意力机制——那次突破 | Build | Python |
| 11 | 机器翻译 | Build | Python |
| 12 | 文本摘要 | Build | Python |
| 13 | 问答系统 | Build | Python |
| 14 | 信息检索与搜索 | Build | Python |
| 15 | 主题建模:LDA、BERTopic | Build | Python |
| 16 | 文本生成 | Build | Python |
| 17 | 聊天机器人:从规则到神经网络 | Build | Python |
| 18 | 多语言 NLP | Build | Python |
| 19 | 子词分词:BPE、WordPiece、Unigram、SentencePiece | Learn | Python |
| 20 | 结构化输出与约束解码 | Build | Python |
| 21 | 自然语言推理与文本蕴含 | Learn | Python |
| 22 | 嵌入模型深入剖析 | Learn | Python |
| 23 | RAG 的分块策略 | Build | Python |
| 24 | 指代消解 | Learn | Python |
| 25 | 实体链接与消歧 | Build | Python |
| 26 | 关系抽取与知识图谱构建 | Build | Python |
| 27 | LLM 评估:RAGAS、DeepEval、G-Eval | Build | Python |
| 28 | 长上下文评估:NIAH、RULER、LongBench、MRCR | Learn | Python |
| 29 | 对话状态跟踪 | Build | Python |
| # | Lesson | Type | Lang |
|---|---|---|---|
| 01 | 音频基础:波形、采样、FFT | Learn | Python |
| 02 | 频谱图、梅尔刻度与音频特征 | Build | Python |
| 03 | 音频分类 | Build | Python |
| 04 | 语音识别(ASR) | Build | Python |
| 05 | Whisper:架构与微调 | Build | Python |
| 06 | 说话人识别与验证 | Build | Python |
| 07 | 文本转语音(TTS) | Build | Python |
| 08 | 声音克隆与音色转换 | Build | Python |
| 09 | 音乐生成 | Build | Python |
| 10 | 音频语言模型 | Build | Python |
| 11 | 实时音频处理 | Build | Python |
| 12 | 搭一条语音助手流水线 | Build | Python |
| 13 | 神经音频编解码器——EnCodec、SNAC、Mimi、DAC | Learn | Python |
| 14 | 语音活动检测与轮次切换 | Build | Python |
| 15 | 流式语音到语音——Moshi、Hibiki | Learn | Python |
| 16 | 语音防伪与音频水印 | Build | Python |
| 17 | 音频评估——WER、MOS、MMAU、排行榜 | Learn | Python |
| # | Lesson | Type | Lang |
|---|---|---|---|
| 01 | 为什么用 Transformer:RNN 的问题 | Learn | Python |
| 02 | 从零实现自注意力 | Build | Python |
| 03 | 多头注意力 | Build | Python |
| 04 | 位置编码:正弦、RoPE、ALiBi | Build | Python |
| 05 | 完整的 Transformer:编码器 + 解码器 | Build | Python |
| 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 |
| 12 | KV Cache、Flash Attention 与推理优化 | Build | Python |
| 13 | 缩放定律 | Learn | Python |
| 14 | 从零构建一个 Transformer | Build | Python |
| 15 | Attention 变体——滑动窗口、稀疏、差分 | Build | Python |
| 16 | 投机解码——草稿、验证、重复 | Build | Python |
| # | Lesson | Type | Lang |
|---|---|---|---|
| 01 | 生成模型:分类与历史 | Learn | Python |
| 02 | 自编码器与 VAE | Build | Python |
| 03 | [GAN:生成器 vs 判别器](https://github.com/fancyboi999/ai-engineering-from-scratch-zh/blob/main/phases/08-generative-ai/03-gans-generator-discr |
No comments yet
Be the first to share your take.