░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒

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 流程图、交互图表标签全部中文化(agenttokentransformer 等技术术语按惯例保留英文)
🌐 独立中文网站 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