从零开始,亲手实现每一个 AI 算法
503 节课 · 20 个阶段 · Python / TypeScript / Rust / Julia · 配套中文网站 aieng-zh.cn
░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒
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)、深色模式 |
| 🔍 为 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。
| 技能 | 作用 |
|---|---|
/find-your-level |
十道题的定级测验。把你的知识映射到一个起始阶段,生成带课时估算的个性化路径。 |
/check-understanding <phase> |
按阶段测验,八道题,附反馈和需要复习的具体课程。 |
░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒
别的课程结尾是一句 "恭喜,你学会了 X。" 这里每节课的结尾,是一件你能直接装上、 或粘进日常工作流的 可复用工具。
用
python3 scripts/install_skills.py一次性全部安装。是真家伙,不是课后作业。 学完整套课程,你会攒下近 500 件产物——你是真懂它们,因为它们都是你亲手造的。
阶段 14,第 1 课:agent 循环。约 120 行纯 Python,零依赖。
|
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](**call.args)
history.append(tool_result(call.id, result))
continue
return msg.content
raise StepLimitExceeded |
---
name: agent-loop
description: ReAct-style loop for any tool list
phase: 14
lesson: 01
---
Implement a minimal agent loop that...
You are an agent debugger. Given the trace
of an agent run, identify the step where
the agent went wrong and explain why... |
░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒
二十个阶段。点开任意阶段即可展开它的课程列表。
把环境准备好,迎接后面所有的内容。
| # | 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 |
Phase 1 — 数学基础 22 lessons 每个 AI 算法背后的直觉,用代码讲清楚。
| # | 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 |
Phase 2 — 机器学习基础 18 lessons 经典机器学习——至今仍是大多数生产 AI 的骨架。
| # | 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 |
Phase 3 — 深度学习核心 13 lessons 从第一性原理出发的神经网络。先自己造一个,再碰框架。
| # | 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 |
Phase 4 — 计算机视觉 28 lessons 从像素到理解——图像、视频、3D、VLM 和世界模型。
| # | 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 |
Phase 5 — NLP:从基础到进阶 29 lessons 语言是通往智能的接口。
| # | 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 |
Phase 6 — 语音与音频 17 lessons 听见、听懂、开口说。
| # | 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 |
Phase 7 — Transformer 深入剖析 16 lessons 那个改变了一切的架构。
| # | 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 |
Phase 8 — 生成式 AI 15 lessons 生成图像、视频、音频、3D,等等。
| # | Lesson | Type | Lang |
|---|---|---|---|
| 01 | 生成模型:分类与历史 | Learn | Python |
| 02 | 自编码器与 VAE | Build | Python |
| 03 | GAN:生成器 vs 判别器 | Build | Python |
| 04 | 条件 GAN 与 Pix2Pix | Build | Python |
| 05 | StyleGAN | Build | Python |
| 06 | 扩散模型——从零实现 DDPM | Build | Python |
| 07 | 潜在扩散与 Stable Diffusion | Build | Python |
| 08 | ControlNet、LoRA 与条件控制 | Build | Python |
| 09 | 图像修复、扩展与编辑 | Build | Python |
| 10 | 视频生成 | Build | Python |
| 11 | 音频生成 | Build | Python |
| 12 | 3D 生成 | Build | Python |
| 13 | Flow Matching 与 Rectified Flow | Build | Python |
| 14 | 评估:FID、CLIP Score | Build | Python |
| 19 | 视觉自回归建模(VAR):下一尺度预测 | Build | Python |
Phase 9 — 强化学习 12 lessons RLHF 和会玩游戏的 AI 的基石。
| # | Lesson | Type | Lang |
|---|---|---|---|
| 01 | MDP、状态、动作与奖励 | Learn | Python |
| 02 | 动态规划 | Build | Python |
| 03 | 蒙特卡洛方法 | Build | Python |
| 04 | Q-Learning、SARSA | Build | Python |
| 05 | 深度 Q 网络(DQN) | Build | Python |
| 06 | 策略梯度——REINFORCE | Build | Python |
| 07 | Actor-Critic——A2C、A3C | Build | Python |
| 08 | PPO | Build | Python |
| 09 | 奖励建模与 RLHF | Build | Python |
| 10 | 多智能体强化学习 | Build | Python |
| 11 | 仿真到现实的迁移 | Build | Python |
| 12 | 游戏中的强化学习 | Build | Python |
Phase 10 — 从零实现 LLM 24 lessons 构建、训练并真正理解大语言模型。
| # | Lesson | Type | Lang |
|---|---|---|---|
| 01 | 分词器:BPE、WordPiece、SentencePiece | Build | Python, Rust |
| 02 | 从零实现一个分词器 | Build | Python |
| 03 | 预训练的数据流水线 | Build | Python |
| 04 | 预训练一个迷你 GPT(124M) | Build | Python |
| 05 | 分布式训练、FSDP、DeepSpeed | Build | Python |
| 06 | 指令微调——SFT | Build | Python |
| 07 | RLHF——奖励模型 + PPO | Build | Python |
| 08 | DPO——直接偏好优化 | Build | Python |
| 09 | Constitutional AI 与自我改进 | Build | Python |
| 10 | 评估——基准与 evals | Build | Python |
| 11 | 量化:INT8、GPTQ、AWQ、GGUF | Build | Python |
| 12 | 推理优化 | Build | Python |
| 13 | 搭一条完整的 LLM 流水线 | Build | Python |
| 14 | 开源模型:架构逐一拆解 | Learn | Python |
| 15 | 投机解码与 EAGLE-3 | Build | Python |
| 16 | 差分注意力(V2) | Build | Python |
| 17 | 原生稀疏注意力(DeepSeek NSA) | Build | Python |
| 18 | 多 token 预测(MTP) | Build | Python |
| 19 | DualPipe 并行 | Learn | Python |
| 20 | DeepSeek-V3 架构拆解 | Learn | Python |
| 21 | Jamba——SSM-Transformer 混合架构 | Learn | Python |
| 22 | 异步与 Hogwild! 推理 | Build | Python |
| 25 | 推测解码与 EAGLE | Build | Python |
| 34 | 梯度检查点与激活重算 | Build | Python |
Phase 11 — LLM 工程 17 lessons 让 LLM 在生产环境里干活。
| # | Lesson | Type | Lang |
|---|---|---|---|
| 01 | 提示工程:技巧与套路 | Build | Python |
| 02 | Few-Shot、CoT、Tree-of-Thought | Build | Python |
| 03 | 结构化输出 | Build | Python |
| 04 | 嵌入与向量表示 | Build | Python |
| 05 | 上下文工程 | Build | Python |
| 06 | RAG:检索增强生成 | Build | Python |
| 07 | 进阶 RAG:分块、重排 | Build | Python |
| 08 | 用 LoRA 与 QLoRA 微调 | Build | Python |
| 09 | 函数调用与工具使用 | Build | Python |
| 10 | 评估与测试 | Build | Python |
| 11 | 缓存、限流与成本 | Build | Python |
| 12 | 护栏与安全 | Build | Python |
| 13 | 构建一个生产级 LLM 应用 | Build | Python |
| 14 | 模型上下文协议(MCP) | Build | Python |
| 15 | 提示缓存与上下文缓存 | Build | Python |
| 16 | LangGraph:面向 agent 的状态机 | Build | Python |
| 17 | agent 框架的取舍 | Learn | Python |
Phase 12 — 多模态 AI 25 lessons 跨模态地看、听、读、推理——从 ViT 的图块到操作电脑的 agent。
| # | Lesson | Type | Lang |
|---|---|---|---|
| 01 | Vision Transformer 与图块-token 原语 | Learn | Python |
| 02 | CLIP 与对比式视觉语言预训练 | Build | Python |
| 03 | BLIP-2 Q-Former 作为模态桥梁 | Build | Python |
| 04 | Flamingo 与门控交叉注意力 | Learn | Python |
| 05 | LLaVA 与视觉指令微调 | Build | Python |
| 06 | 任意分辨率视觉——Patch-n'-Pack 与 NaFlex | Build | Python |
| 07 | 开源权重 VLM 配方:真正要紧的是什么 | Learn | Python |
| 08 | LLaVA-OneVision:单图、多图、视频 | Build | Python |
| 09 | Qwen-VL 家族与动态 FPS 视频 | Learn | Python |
| 10 | InternVL3 原生多模态预训练 | Learn | Python |
| 11 | Chameleon 早融合纯 token | Build | Python |
| 12 | Emu3 用下一 token 预测做生成 | Learn | Python |
| 13 | Transfusion:自回归 + 扩散 | Build | Python |
| 14 | Show-o 离散扩散统一架构 | Learn | Python |
| 15 | Janus-Pro 解耦编码器 | Build | Python |
| 16 | MIO 任意到任意流式 | Learn | Python |
| 17 | 视频语言时序定位 | Build | Python |
| 18 | 百万 token 上下文下的长视频 | Build | Python |
| 19 | 音频语言模型:从 Whisper 到 AF3 | Build | Python |
| 20 | Omni 模型:Thinker-Talker 流式 | Build | Python |
| 21 | 具身 VLA:RT-2、OpenVLA、π0、GR00T | Learn | Python |
| 22 | 文档与图表理解 | Build | Python |
| 23 | ColPali 视觉原生文档 RAG | Build | Python |
| 24 | 多模态 RAG 与跨模态检索 | Build | Python |
| 25 | 多模态 agent 与操作电脑(综合项目) | Build | Python |
Phase 13 — 工具与协议 23 lessons AI 与真实世界之间的接口。
| # | Lesson | Type | Lang |
|---|---|---|---|
| 01 | 工具接口 | Learn | Python |
| 02 | 函数调用深入剖析 | Build | Python |
| 03 | 并行与流式工具调用 | Build | Python |
| 04 | 结构化输出 | Build | Python |
| 05 | 工具 Schema 设计 | Learn | Python |
| 06 | MCP 基础 | Learn | Python |
| 07 | 构建一个 MCP server | Build | Python |
| 08 | 构建一个 MCP client | Build | Python |
| 09 | MCP 传输层 | Learn | Python |
| 10 | MCP 资源与提示 | Build | Python |
| 11 | MCP Sampling | Build | Python |
| 12 | MCP Roots 与 Elicitation | Build | Python |
| 13 | MCP 异步任务 | Build | Python |
| 14 | MCP Apps | Build | Python |
| 15 | MCP 安全 I——工具投毒 | Learn | Python |
| 16 | MCP 安全 II——OAuth 2.1 | Build | Python |
| 17 | MCP 网关与注册表 | Learn | Python |
| 18 | 生产环境的 MCP 认证——iii 上的 DCR + JWKS | Build | Python |
| 19 | A2A 协议 | Build | Python |
| 20 | OpenTelemetry GenAI | Build | Python |
| 21 | LLM 路由层 | Learn | Python |
| 22 | Skills 与 Agent SDK | Learn | Python |
| 23 | 综合项目——工具生态 | Build | Python |
Phase 14 — Agent 工程 42 lessons 从第一性原理构建 agent——循环、记忆、规划、框架、基准、生产、工作台。
阶段 14 里每节工作台课程(31-42)都附带一份 mission.md,在 agent 打开完整课程文档前先给它做简报。
Phase 15 — 自主系统 22 lessons 长程 agent、自我改进,以及 2026 年的安全技术栈。
| # | Lesson | Type | Lang |
|---|---|---|---|
| 01 | 从聊天机器人到长程 agent(METR) | Learn | Python |
| 02 | STaR、V-STaR、Quiet-STaR:自学推理 | Learn | Python |
| 03 | AlphaEvolve:进化式编码 agent | Learn | Python |
| 04 | Darwin Gödel Machine:自我修改的 agent | Learn | Python |
| 05 | AI Scientist v2:研讨会级别的科研 | Learn | Python |
| 06 | 自动化对齐研究(Anthropic AAR) | Learn | Python |
| 07 | 递归式自我改进:能力 vs 对齐 | Learn | Python |
| 08 | 有界自我改进的设计 | Learn | Python |
| 09 | 自主编码 agent 全景(SWE-bench、CodeAct) | Learn | Python |
| 10 | Claude Code 的权限模式与 Auto 模式 | Learn | Python |
| 11 | 浏览器 agent 与间接提示注入 | Learn | Python |
| 12 | 长时运行 agent 的持久化执行 | Learn | Python |
| 13 | 动作预算、迭代上限、成本管控 | Learn | Python |
| 14 | 急停开关、熔断器、金丝雀 token | Learn | Python |
| 15 | 人在回路:先提议后提交 | Learn | Python |
| 16 | 检查点与回滚 | Learn | Python |
| 17 | Constitutional AI 与规则覆盖 | Learn | Python |
| 18 | Llama Guard 与输入/输出分类 | Learn | Python |
| 19 | Anthropic 负责任扩展政策 v3.0 | Learn | Python |
| 20 | OpenAI Preparedness 框架与 DeepMind FSF | Learn | Python |
| 21 | METR 时间跨度与外部评估 | Learn | Python |
| 22 | CAIS、CAISI 与社会规模风险 | Learn | Python |
Phase 16 — 多 agent 与集群 25 lessons 协调、涌现,以及集体智能。
| # | Lesson | Type | Lang |
|---|---|---|---|
| 01 | 为什么要多 agent | Learn | TypeScript |
| 02 | FIPA-ACL 传承与言语行为 | Learn | Python |
| 03 | 通信协议 | Build | TypeScript |
| 04 | 多 agent 原语模型 | Learn | Python |
| 05 | Supervisor / 编排者-worker 模式 | Build | Python |
| 06 | 分层架构与分解漂移 | Learn | Python |
| 07 | 心智社会与多 agent 辩论 | Build | Python |
| 08 | 角色专精——规划者 / 批评者 / 执行者 / 验证者 | Build | Python |
| 09 | 并行集群与网络化架构 | Build | Python |
| 10 | 群聊与发言人选择 | Build | Python |
| 11 | 交接与例程(无状态编排) | Build | Python |
| 12 | A2A——Agent 到 Agent 协议 | Build | Python |
| 13 | 共享记忆与黑板模式 | Build | Python |
| 14 | 共识与拜占庭容错 | Build | Python |
| 15 | 投票、自洽性与辩论拓扑 | Build | Python |
| 16 | 协商与议价 | Build | Python |
| 17 | 生成式 agent 与涌现式仿真 | Build | Python |
| 18 | 心智理论与涌现式协调 | Build | Python |
| 19 | 群体优化(PSO、ACO) | Build | Python |
| 20 | MARL——MADDPG、QMIX、MAPPO | Learn | Python |
| 21 | Agent 经济、token 激励、声誉 | Learn | Python |
| 22 | 生产级扩展——队列、检查点、持久性 | Build | Python |
| 23 | 失败模式——MAST、群体思维、单一文化 | Learn | Python |
| 24 | 评估与协调基准 | Learn | Python |
| 25 | 案例研究与 2026 最新进展 | Learn | Python |
Phase 17 — 基础设施与生产 28 lessons 把 AI 交付到真实世界。
Phase 18 — 伦理、安全与对齐 30 lessons 构建对人类有益的 AI。这不是选修。
| # | Lesson | Type | Lang |
|---|---|---|---|
| 01 | 把遵循指令当作对齐信号 | Learn | Python |
| 02 | 奖励黑客与古德哈特定律 | Learn | Python |
| 03 | 直接偏好优化家族 | Learn | Python |
| 04 | 阿谀奉承:RLHF 的放大效应 | Learn | Python |
| 05 | Constitutional AI 与 RLAIF | Learn | Python |
| 06 | Mesa 优化与欺骗性对齐 | Learn | Python |
| 07 | 潜伏 agent——持续性欺骗 | Learn | Python |
| 08 | 前沿模型中的上下文内谋划 | Learn | Python |
| 09 | 对齐造假 | Learn | Python |
| 10 | AI Control——即便被颠覆也保安全 | Learn | Python |
| 11 | 可扩展监督与弱到强 | Learn | Python |
| 12 | 红队:PAIR 与自动化攻击 | Build | Python |
| 13 | 多样本越狱 | Learn | Python |
| 14 | ASCII 字符画与视觉越狱 | Build | Python |
| 15 | 间接提示注入 | Build | Python |
| 16 | 红队工具:Garak、Llama Guard、PyRIT | Build | Python |
| 17 | WMDP 与双用途能力评估 | Learn | Python |
| 18 | 前沿安全框架——RSP、PF、FSF | Learn | Python |
| 19 | 模型福祉研究 | Learn | Python |
| 20 | 偏见与表征伤害 | Build | Python |
| 21 | 公平性准则:群体、个体、反事实 | Learn | Python |
| 22 | 面向 LLM 的差分隐私 | Build | Python |
| 23 | 水印:SynthID、Stable Signature、C2PA | Build | Python |
| 24 | 监管框架:欧盟、美国、英国、韩国 | Learn | Python |
| 25 | EchoLeak 与 AI 的 CVE | Learn | Python |
| 26 | 模型卡、系统卡与数据集卡 | Build | Python |
| 27 | 数据溯源与训练数据治理 | Learn | Python |
| 28 | 对齐研究生态:MATS、Redwood、Apollo、METR | Learn | Python |
| 29 | 内容审核系统:OpenAI、Perspective、Llama Guard | Build | Python |
| 30 | 双用途风险:网络、生物、化学、核 | Learn | Python |
Phase 19 — 综合项目 85 projects 2026 年的端到端可交付产品,每个 20-40 小时。
| # | Project | Combines | Lang |
|---|---|---|---|
| 01 | 终端原生编码 agent | P0 P5 P7 P10 P11 P13 P14 P15 P17 P18 | Python |
| 02 | 代码库 RAG(跨仓库语义搜索) | P5 P7 P11 P13 P17 | Python |
| 03 | 实时语音助手(ASR → LLM → TTS) | P6 P7 P11 P13 P14 P17 | Python |
| 04 | 多模态文档问答(视觉优先) | P4 P5 P7 P11 P12 P17 | Python |
| 05 | 自主科研 agent(AI-Scientist 级别) | P0 P2 P3 P7 P10 P14 P15 P16 P18 | Python |
| 06 | 面向 Kubernetes 的 DevOps 排障 agent | P11 P13 P14 P15 P17 P18 | Python |
| 07 | 端到端微调流水线 | P2 P3 P7 P10 P11 P17 P18 | Python |
| 08 | 生产级 RAG 聊天机器人(受监管垂直行业) | P5 P7 P11 P12 P17 P18 | Python |
| 09 | 代码迁移 agent(仓库级升级) | P5 P7 P11 P13 P14 P15 P17 | Python |
| 10 | 多 agent 软件工程团队 | P11 P13 P14 P15 P16 P17 | Python |
| 11 | LLM 可观测性与 Eval 仪表盘 | P11 P13 P17 P18 | Python |
| 12 | 视频理解流水线(场景 → 问答) | P4 P6 P7 P11 P12 P17 | Python |
| 13 | 带注册表与治理的 MCP server | P11 P13 P14 P17 P18 | Python |
| 14 | 投机解码推理服务器 | P3 P7 P10 P17 | Python |
| 15 | Constitutional 安全测试架 + 红队靶场 | P10 P11 P13 P14 P18 | Python |
| 16 | GitHub Issue 到 PR 的自主 agent | P11 P13 P14 P15 P17 | Python |
| 17 | 个人 AI 导师(自适应、多模态) | P5 P6 P11 P12 P14 P17 P18 | Python |
| 20 | Agent Harness Loop 契约 | A. Agent harness | Python |
| 21 | 带 Schema 校验的 Tool Registry | A. Agent harness | Python |
| 22 | 基于换行分隔 stdio 的 JSON-RPC 2.0 | A. Agent harness | Python |
| 23 | Function Call Dispatcher | A. Agent harness | Python |
| 24 | Plan-Execute 控制流 | A. Agent harness | Python |
| 25 | Verification Gate 与 Observation Budget | A. Agent harness | Python |
| 26 | 带 Denylist 与 Path Jail 的 Sandbox Runner | A. Agent harness | Python |
| 27 | 带 Fixture Tasks 的 Eval Harness | A. Agent harness | Python |
| 28 | 用 OTel GenAI Span 与 Prometheus 做 Observability | A. Agent harness | Python |
| 29 | 端到端 Coding Agent Demo | A. Agent harness | Python |
| 30 | 从零实现 BPE Tokenizer | B. NLP LLM | Python |
| 31 | 带 Sliding Window 的 Tokenized Dataset | B. NLP LLM | Python |
| 32 | Token Embedding 与 Positional Embedding | B. NLP LLM | Python |
| 33 | Multi-Head Self-Attention | B. NLP LLM | Python |
| 34 | 从零实现 Transformer Block | B. NLP LLM | Python |
| 35 | GPT 模型组装 | B. NLP LLM | Python |
| 36 | 训练循环与评估 | B. NLP LLM | Python |
| 37 | 加载预训练权重 | B. NLP LLM | Python |
| 38 | 通过换 Head 做分类微调 | B. NLP LLM | Python |
| 39 | 通过 SFT 做 Instruction Tuning | B. NLP LLM | Python |
| 40 | 从零实现 DPO | B. NLP LLM | Python |
| 41 | 完整评估流水线 | B. NLP LLM | Python |
| 42 | 大规模语料下载器 | C. 端到端训练 | Python |
| 43 | HDF5 Tokenized Corpus | C. 端到端训练 | Python |
| 44 | Cosine 学习率 + 线性 Warmup | C. 端到端训练 | Python |
| 45 | Gradient Clipping 与混合精度训练 | C. 端到端训练 | Python |
| 46 | 梯度累积 | C. 端到端训练 | Python |
| 47 | Checkpoint 保存与恢复 | C. 端到端训练 | Python |
| 48 | 从零实现分布式数据并行与 FSDP | C. 端到端训练 | Python |
| 49 | 语言模型评测框架 | C. 端到端训练 | Python |
| 50 | 假设生成器 | D. 自动研究 | Python |
| 51 | 文献检索 | D. 自动研究 | Python |
| 52 | 实验执行器 | D. 自动研究 | Python |
| 53 | 结果评估器 | D. 自动研究 | Python |
| 54 | 论文生成器 | D. 自动研究 | Python |
| 55 | 评审循环 | D. 自动研究 | Python |
| 56 | 迭代调度器 | D. 自动研究 | Python |
| 57 | 端到端研究 Demo | D. 自动研究 | Python |
| 58 | Vision Encoder 的 Patch 切分 | E. 多模态 | Python |
| 59 | Vision Transformer Encoder(ViT) | E. 多模态 | Python |
| 60 | 用 Projection Layer 做模态对齐 | E. 多模态 | Python |
| 61 | Cross-Attention 融合 | E. 多模态 | Python |
| 62 | Vision-Language 预训练 | E. 多模态 | Python |
| 63 | 多模态评测 | E. 多模态 | Python |
| 64 | Chunking 策略横向对比 | F. 高级 RAG | Python |
| 65 | 用 BM25 与 Dense Embedding 做 Hybrid Retrieval | F. 高级 RAG | Python |
| 66 | Cross-Encoder Reranker | F. 高级 RAG | Python |
| 67 | Query 改写:HyDE、Multi-Query 与 Decomposition | F. 高级 RAG | Python |
| 68 | RAG 评测:Precision、Recall、MRR、nDCG 等 | F. 高级 RAG | Python |
| 69 | 端到端 RAG 系统 | F. 高级 RAG | Python |
| 70 | 任务规格格式 | G. 评测体系 | Python |
| 71 | 经典评测指标 | G. 评测体系 | Python |
| 72 | 代码执行评测指标 | G. 评测体系 | Python |
| 73 | perplexity 与 calibration | G. 评测体系 | Python |
| 74 | leaderboard 聚合 | G. 评测体系 | Python |
| 75 | 端到端 eval runner | G. 评测体系 | Python |
| 76 | 从零实现集合通信 | H. 分布式训练 | Python |
| 77 | 数据并行 DDP | H. 分布式训练 | Python |
| 78 | ZeRO Optimizer State 分片 | H. 分布式训练 | Python |
| 79 | Pipeline Parallel 与 Bubble 分析 | H. 分布式训练 | Python |
| 80 | 分片 Checkpoint 与原子化恢复 | H. 分布式训练 | Python |
| 81 | 端到端分布式训练 | H. 分布式训练 | Python |
| 82 | 越狱分类法 | I. 安全护栏 | Python |
| 83 | Prompt 注入检测器 | I. 安全护栏 | Python |
| 84 | 拒答评估 | I. 安全护栏 | Python |
| 85 | 内容分类器集成 | I. 安全护栏 | Python |
| 86 | Constitutional 规则引擎 | I. 安全护栏 | Python |
| 87 | 端到端 safety gate | I. 安全护栏 | Python |
░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒
每节课都会产出一件可复用的产物。学完之后,你手里会有:
outputs/
├── prompts/ 覆盖每类 AI 任务的提示词模板
└── skills/ 给 AI 编码 agent 用的 SKILL.md 文件
用 npx skills add 安装。把它们接进 Claude、Cursor、Codex、OpenClaw、Hermes,
或任何能读 SKILL.md / AGENTS.md 目录的 agent。都是真家伙,不是课后作业。
仓库在 phases/**/outputs/ 下交付了 388 个技能和 99 个提示词。
推荐:通过 skills.sh 安装。 不用 clone,不用 Python, 自动识别你 agent 的技能目录:
npx skills add fancyboi999/ai-engineering-from-scratch-zh # 所有技能
npx skills add fancyboi999/ai-engineering-from-scratch-zh --skill agent-loop # 单个技能
npx skills add fancyboi999/ai-engineering-from-scratch-zh --phase 14 # 单个阶段skills 会写到你 agent 实际读取的那个目录:.claude/skills/、.cursor/skills/、
.codex/skills/、OpenClaw 的技能文件夹、Hermes 的 bundle 路径,或任何识别 SKILL.md
的工具。一条命令,覆盖所有 agent。
进阶:用 scripts/install_skills.py 做离线 / 自定义布局。 需要先 clone 仓库。
当你需要按标签过滤、dry-run,或非默认布局时很有用:
python3 scripts/install_skills.py <target> # 所有技能,默认 --layout skills(嵌套)
python3 scripts/install_skills.py <target> --layout skills # 同上,显式写出
python3 scripts/install_skills.py <target> --type all # 技能 + 提示词 + agent
python3 scripts/install_skills.py <target> --phase 14 # 只装一个阶段
python3 scripts/install_skills.py <target> --tag rag # 按标签过滤
python3 scripts/install_skills.py <target> --layout flat # 扁平文件
python3 scripts/install_skills.py <target> --dry-run # 只预览,不写入
python3 scripts/install_skills.py <target> --force # 覆盖已有文件<target> 是你 agent 的技能目录(例如:
~/.claude/skills/、~/.cursor/skills/、~/.config/openclaw/skills/、
.skills/,或任何你 agent 读取的路径)。
默认情况下,脚本拒绝覆盖已存在的目标,会列出每个冲突路径后以退出码 1 退出。
用 --dry-run 预览冲突,或用 --force 覆盖。每次非 dry-run 的运行都会在目标里
写一份 manifest.json,按类型和阶段分组列出完整清单。挑你 agent 读取的那种布局:
--layout |
写入路径 |
|---|---|
skills |
<target>/<name>/SKILL.md(嵌套约定,Claude / Cursor / Codex / OpenClaw / Hermes 都支持) |
by-phase |
<target>/phase-NN/<name>.md |
flat |
<target>/<name>.md |
阶段 14 的综合项目交付了一套可复用的 Agent Workbench 包(AGENTS.md、schema、 init / verify / handoff 脚本)。用下面的命令把它脚手架进任意仓库:
python3 scripts/scaffold_workbench.py path/to/your-repo # 完整包 + 种子文件
python3 scripts/scaffold_workbench.py path/to/your-repo --minimal # 跳过 docs/
python3 scripts/scaffold_workbench.py path/to/your-repo --dry-run # 只预览
python3 scripts/scaffold_workbench.py path/to/your-repo --force # 覆盖你会得到接好线的七个工作台界面、一份起步用的 task_board.json,
以及一份 schema_version: 1 的全新 agent_state.json。从这里开始:编辑任务、
编辑 AGENTS.md、运行 scripts/init_agent.py,把契约交给你的 agent。包的源码在
phases/14-agent-engineering/42-agent-workbench-capstone/outputs/agent-workbench-pack/。
site/build.js 解析 README、ROADMAP 和每节课的 docs/zh.md,在 site/data.js
里生成站点用的课程数据(阶段、课程、术语表、产物)。计数以文件系统为真相。
node site/build.js # 生成 site/data.js(+ sitemap.xml / llms.txt)
node site/build.js --check # 只校验课程数一致性,不写文件--check 以磁盘上的课程目录数为准,核对 README 表格、badge、散文、各 phase 标题
和 ROADMAP 总计是否都对得上,任一漂移就 exit 1。一个 GitHub Action
(.github/workflows/build.yml)在每个 PR 上跑构建 + 这道校验,挡住课数漂移
(曾踩 435、498 vs 503)。新增课程时在 README + ROADMAP 表格补行、并更新该 phase
标题的课数即可;站点模板里散落的计数由 build 时 syncCounts 自动同步。
注:上游用
scripts/build_catalog.py+catalog.json+.github/workflows/curriculum.yml做同样的事,但那套脚本硬编码docs/en.md+ 英文 README 正则,对本中文翻译仓不兼容, 故改用上面这套等价的、认zh.md的校验。
scripts/lesson_run.py 会逐字节编译每节课 code/ 目录下的每个 .py 文件。
默认模式只做语法检查——不执行、不需要 API key、不需要重型 ML 依赖。专抓贡献者最常
引入的回归(缩进错误、f-string 写坏、误改)。
python3 scripts/lesson_run.py # 语法检查整套课程
python3 scripts/lesson_run.py --phase 14 # 只查一个阶段
python3 scripts/lesson_run.py --json # 在 stdout 输出 JSON 报告
python3 scripts/lesson_run.py --strict # 任一课程失败就 exit 1
python3 scripts/lesson_run.py --execute # 真正运行,每节课 10 秒超时--execute 会运行每节课的 code/main.py(或第一个 .py 文件),10 秒超时。
入口文件开头带 # requires: pkg1, pkg2 注释(列出非标准库依赖)的课程会被跳过,
原因标为 needs <deps>。这个脚本是可选的,没接入 CI。
仅用标准库,Python 3.10+。设置 LINK_CHECK_SKIP=domain1,domain2 可以覆盖默认跳过名单
(twitter.com、x.com、linkedin.com、instagram.com、medium.com——这些域名
会主动屏蔽自动化的 HEAD/GET)。
| 你的背景 | 从哪开始 | 预计时间 |
|---|---|---|
| 编程和 AI 都是新手 | 阶段 0 — 配置与工具链 | ~306 小时 |
| 会 Python,刚接触 ML | 阶段 1 — 数学基础 | ~270 小时 |
| 懂 ML,刚接触深度学习 | 阶段 3 — 深度学习核心 | ~200 小时 |
| 懂深度学习,想学 LLM 和 agent | 阶段 10 — 从零实现 LLM | ~100 小时 |
| 资深工程师,只想要 agent 工程 | 阶段 14 — Agent 工程 | ~60 小时 |
░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒
| FIG_003 · A THE INDUSTRY SIGNAL |
FIG_003 · B FOUNDATIONAL PAPERS COVERED |
|---|---|
|
|
░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒
| Goal | Read |
|---|---|
| 贡献一节课或一处修复 | CONTRIBUTING.md |
| 为你的团队或学校 fork | FORKING.md |
| 课程模板 | LESSON_TEMPLATE.md |
| 跟踪进度 | ROADMAP.md |
| 术语表 | glossary/terms.md |
| 行为准则 | CODE_OF_CONDUCT.md |
提交一节课之前,先跑一遍不变量检查:
python3 scripts/audit_lessons.py # 整套课程
python3 scripts/audit_lessons.py --phase 14 # 单个阶段
python3 scripts/audit_lessons.py --json # 适合 CI 的输出任一规则失败时退出码非零。规则(L001–L010)会校验目录结构、docs/zh.md 是否存在
及是否有 H1、code/ 是否非空、quiz.json 的 schema(拒绝引发 issue #102 的旧版
q/choices/answer 键),以及课程文档里的相对链接。
如果这份手册帮到了你,给仓库点个 star。这能让项目活下去。
MIT。随你怎么用——fork、拿去教学、拿去卖、拿去交付。欢迎署名,但不强制。
由 Rohit Ghumare 和社区共同维护。
@ghumare64 · aieng-zh.cn · Report / Suggest