开源项目

ai-engineering-from-scratch

从零开始的 AI 工程课程,共 428 课、20 个阶段,用 Python/TypeScript/Rust/Julia 从数学推导到 Agent 部署全覆盖。每节课产出可复用的 prompt/skill/agent/MCP server,真正实现学完即用。亮点在于系统性强,取代碎片化学习,且完全免费开源 MIT 许可证。

README

AI Engineering from Scratch — 参考手册横幅

MIT 许可证 428 课时 20 阶段 GitHub stars 网站

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

84% 的学生已经使用 AI 工具。只有 18% 的人觉得自己准备好专业地使用它们。 本课程弥补了这一差距。

428 节课。20 个阶段。约 320 小时。Python, TypeScript, Rust, Julia。每节课都会交付一个可复用的工件:一个 prompt、一个 skill、一个 agent、一个 MCP 服务器。免费、开源、MIT 许可。

你不只是在学习 AI。你在构建它。端到端。亲手实现。

工作原理

大多数 AI 材料都是零散地讲授。这里一篇论文,那里一篇微调博文,别处一个花哨的 agent 演示。这些片段很少能连贯起来。你交付了一个聊天机器人,但无法解释它的 loss curve;你为 agent 挂载了一个函数,但说不出调用它的模型内部 attention 在干什么。

本课程就是那根脊柱。20 个阶段,428 节课,四种语言:Python, TypeScript, Rust, Julia。一端是线性代数,另一端是自主 swarm。每个算法都首先从原始数学构建。反向传播。Tokenizer。Attention。Agent 循环。等到 PyTorch 出现时,你已经知道它在底层做什么。

每节课都运行同一个循环:阅读问题,推导数学,编写代码,运行测试,保留工件。没有五分钟的视频,没有复制粘贴部署,没有手把手的指导。免费、开源,并且设计在你的笔记本电脑上运行。

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

课程的结构

二十个阶段层层叠加。数学是地基,agent 和生产是屋顶。如果你已经了解下面的层级,可以跳过,但不要跳过之后又疑惑为什么顶层的某个东西会出问题。

%%{init: {'theme':'base','themeVariables':{'primaryColor':'#fafaf5','primaryTextColor':'#1a1a1a','primaryBorderColor':'#3553ff','lineColor':'#3553ff','fontFamily':'JetBrains Mono','fontSize':'12px'}}}%%
flowchart TB
  P0["Phase 0 — Setup & Tooling"] --> P1["Phase 1 — Math Foundations"]
  P1 --> P2["Phase 2 — ML Fundamentals"]
  P2 --> P3["Phase 3 — Deep Learning Core"]
  P3 --> P4["Phase 4 — Vision"]
  P3 --> P5["Phase 5 — NLP"]
  P3 --> P6["Phase 6 — Speech & Audio"]
  P3 --> P9["Phase 9 — RL"]
  P5 --> P7["Phase 7 — Transformers"]
  P7 --> P8["Phase 8 — GenAI"]
  P7 --> P10["Phase 10 — LLMs from Scratch"]
  P10 --> P11["Phase 11 — LLM Engineering"]
  P10 --> P12["Phase 12 — Multimodal"]
  P11 --> P13["Phase 13 — Tools & Protocols"]
  P13 --> P14["Phase 14 — Agent Engineering"]
  P14 --> P15["Phase 15 — Autonomous Systems"]
  P15 --> P16["Phase 16 — Multi-Agent & Swarms"]
  P14 --> P17["Phase 17 — Infrastructure & Production"]
  P15 --> P18["Phase 18 — Ethics & Alignment"]
  P16 --> P19["Phase 19 — Capstone Projects"]
  P17 --> P19
  P18 --> P19
░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒

一节课的结构

每节课都在自己的文件夹中,整个课程采用相同的结构:

phases/<NN>-<phase-name>/<NN>-<lesson-name>/
├── code/      可运行的实现 (Python, TypeScript, Rust, Julia)
├── docs/
│   └── en.md  课程叙述
└── outputs/   该课程产出的 prompts、skills、agents 或 MCP 服务器

每节课遵循六个节拍。构建它 / 使用它 的拆分是主干——你首先从头实现算法,然后通过生产级库运行相同的东西。你理解框架在做什么,因为你自己写了更小的版本。

%%{init: {'theme':'base','themeVariables':{'primaryColor':'#fafaf5','primaryTextColor':'#1a1a1a','primaryBorderColor':'#3553ff','lineColor':'#3553ff','fontFamily':'JetBrains Mono','fontSize':'13px'}}}%%
flowchart LR
  M["MOTTO<br/><sub>一行核心思想</sub>"] --> Pr["PROBLEM<br/><sub>具体痛点</sub>"]
  Pr --> C["CONCEPT<br/><sub>图表和直觉</sub>"]
  C --> B["BUILD IT<br/><sub>原始数学,无框架</sub>"]
  B --> U["USE IT<br/><sub>在 PyTorch / sklearn 中实现相同功能</sub>"]
  U --> S["SHIP IT<br/><sub>prompt · skill · agent · MCP</sub>"]

快速开始

三种方式。任选其一。

选项 A — 阅读。 在 aiengineeringfromscratch.com 上打开任何已完成的课程,或者展开 目录 中的某个阶段。无需设置,无需克隆。

选项 B — 克隆并运行。

git clone https://github.com/rohitg00/ai-engineering-from-scratch.git
cd ai-engineering-from-scratch
python phases/01-math-foundations/01-linear-algebra-intuition/code/vectors.py

*选项 C — 找到你的水平 (推荐)。* 智能地跳跃前进。在 Claude, Cursor, Codex, OpenClaw, Hermes 或任何安装了 SkillKit 的 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 技能 (SkillKit / Claude, Cursor, Codex, OpenClaw, Hermes)

技能 作用
/find-your-level 十道题的定级测试。将你的知识映射到起始阶段,并生成一个包含小时估算的个性化路径。
/check-understanding <phase> 每个阶段的小测验,八道题,附带反馈和需要复习的具体课程。
░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒

每节课都交付一些东西

其他课程以 “恭喜,你学会了 X” 结束。这里的每节课以你可以安装或粘贴到日常工作流程中的可复用工具结束。

FIG_001.A prompts
FIG_001 · A
PROMPTS
FIG_001.B skills
FIG_001 · B
SKILLS
FIG_001.C agents
FIG_001 · C
AGENTS
FIG_001.D MCP servers
FIG_001 · D
MCP SERVERS
粘贴到任何 AI 助手中,获得针对狭窄任务的专家级帮助。 放入 Claude, Cursor, Codex, OpenClaw, Hermes 或任何能读取 SKILL.md 的 agent 中。 作为自主工作程序部署——你在 Phase 14 中亲手编写了循环。 插入任何兼容 MCP 的客户端。在 Phase 13 中端到端构建。

使用 SkillKit 全部安装。真正的工具,不是家庭作业。到课程结束时,你将拥有一个包含 428 个工件的作品集,因为你亲手构建了它们,所以真正理解。

FIG_002 · 一个实战示例

Phase 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](**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 风格循环
phase: 14
lesson: 01
---

实现一个最小的 agent 循环,它能...

outputs/prompt-debug-agent.md

你是一个 agent 调试器。给定一次 agent 运行的追踪,
识别 agent 出错的步骤并解释原因...
░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒

目录

二十个阶段。点击任意阶段展开课程列表。

Phase 0: 设置与工具 12 节课

为后续所有内容准备好你的环境。

# 课程 类型 语言
01 开发环境 构建 Python, TypeScript, Rust
02 Git 与协作 学习 —
03 GPU 设置与云 构建 Python
04 API 与密钥 构建 Python, TypeScript
05 Jupyter Notebooks 构建 Python
06 Python 环境 构建 Python
07 用于 AI 的 Docker 构建 Python
08 编辑器设置 构建 —
09 数据管理 构建 Python
10 终端与 Shell 学习 —
11 用于 AI 的 Linux 学习 —
12 调试与分析 构建 Python
Phase 1 — 数学基础  22 节课  每个 AI 算法背后的直觉,通过代码体现。
# 课程 类型 语言
01 线性代数直觉 学习 Python, Julia
02 向量、矩阵与运算 构建 Python, Julia
03 矩阵变换与特征值 构建 Python, Julia
04 用于 ML 的微积分:导数与梯度 学习 Python
05 链式法则与自动微分 构建 Python
06 概率与分布 学习 Python
07 贝叶斯定理与统计思维 构建 Python
08 优化:梯度下降系列 构建 Python
09 信息论:熵、KL 散度 学习 Python
10 降维:PCA, t-SNE, UMAP 构建 Python
11 奇异值分解 构建 Python, Julia
12 张量运算 构建 Python
13 数值稳定性 构建 Python
14 范数与距离 构建 Python
15 用于 ML 的统计 构建 Python
16 采样方法 构建 Python
17 线性系统 构建 Python
18 凸优化 构建 Python
19 用于 AI 的复数 学习 Python
20 傅里叶变换 构建 Python
21 用于 ML 的图论 构建 Python
22 随机过程 学习 Python
Phase 2 — ML 基础  18 节课  经典机器学习——仍然是大多数生产 AI 的支柱。
# 课程 类型 语言
01 什么是机器学习 学习 Python
02 线性回归从零开始 构建 Python
03 逻辑回归与分类 构建 Python
04 决策树与随机森林 构建 Python
05 支持向量机 构建 Python
06 KNN 与距离度量 构建 Python
07 无监督学习:K-Means, DBSCAN 构建 Python
08 特征工程与选择 构建 Python
09 模型评估:指标、交叉验证 构建 Python
10 偏差、方差与学习曲线 学习 Python
11 集成方法:Boosting, Bagging, Stacking 构建 Python
12 超参数调优 构建 Python
13 ML 管道与实验跟踪 构建 Python
14 朴素贝叶斯 构建 Python
15 时间序列基础 构建 Python
16 异常检测 构建 Python
17 处理不平衡数据 构建 Python
18 特征选择 构建 Python
Phase 3 — 深度学习核心  13 节课  神经网络从第一性原理出发。在你自己构建一个之前,不使用框架。
# 课程 类型 语言
01 感知机:一切开始的地方 构建 Python
02 多层网络与前向传播 构建 Python
03 反向传播从零开始 构建 Python
04 激活函数:ReLU, Sigmoid, GELU 及其原因 构建 Python
05 损失函数:MSE, 交叉熵, 对比损失 构建 Python
06 优化器:SGD, Momentum, Adam, AdamW 构建 Python
07 正则化:Dropout, 权重衰减, BatchNorm 构建 Python
08 权重初始化与训练稳定性 构建 Python
09 学习率调度与预热 构建 Python
10 构建你自己的迷你框架 构建 Python
11 PyTorch 入门 构建 Python
12 JAX 入门 构建 Python
13 调试神经网络 构建 Python
Phase 4 — 计算机视觉  28 节课  从像素到理解——图像、视频、3D、VLM 和世界模型。
# 课程 类型 语言
01 图像基础:像素、通道、色彩空间 学习 Python
02 卷积从零开始 构建 Python
03 CNN:从 LeNet 到 ResNet 构建 Python
04 图像分类 构建 Python
05 迁移学习与微调 构建 Python
06 目标检测——YOLO 从零开始 构建 Python
07 语义分割——U-Net 构建 Python
08 实例分割——Mask R-CNN 构建 Python
09 图像生成——GAN 构建 Python
10 图像生成——扩散模型 构建 Python
11 Stable Diffusion——架构与微调 构建 Python
12 视频理解——时序建模 构建 Python
13 3D 视觉:点云, NeRF 构建 Python
14 Vision Transformers (ViT) 构建 Python
15 实时视觉:边缘部署 构建 Python, Rust
16 构建完整的视觉管道 构建 Python
17 自监督视觉——SimCLR, DINO, MAE 构建 Python
18 开放词汇视觉——CLIP 构建 Python
19 OCR 与文档理解 构建 Python
20 图像检索与度量学习 构建 Python
21 关键点检测与姿态估计 构建 Python
22 3D Gaussian Splatting 从零开始 构建 Python
23 Diffusion Transformers 与 Rectified Flow 构建 Python
24 SAM 3 与开放词汇分割 构建 Python
25 视觉语言模型 (ViT-MLP-LLM) 构建 Python
26 单目深度与几何估计 构建 Python
27 多目标跟踪与视频记忆 构建 Python
28 世界模型与视频扩散 构建 Python
Phase 5 — NLP:从基础到进阶  29 节课  语言是通向智能的接口。
# 课程 类型 语言
01 文本处理:分词、词干提取、词形还原 构建 Python
02 词袋、TF-IDF 与文本表示 构建 Python
03 词嵌入:Word2Vec 从零开始 构建 Python
04 GloVe, FastText 与子词嵌入 构建 Python
05 情感分析 构建 Python
06 命名实体识别 (NER) 构建 Python
07 词性标注与句法解析 构建 Python
08 文本分类——用于文本的 CNN 与 RNN 构建 Python
09 序列到序列模型 构建 Python
10 注意力机制——突破性进展 构建 Python
11 机器翻译 构建 Python
12 文本摘要 构建 Python
13 问答系统 构建 Python
14 信息检索与搜索 构建 Python
15 主题建模:LDA, BERTopic 构建 Python
16 文本生成 构建 Python
17 聊天机器人:从基于规则到神经网络 构建 Python
18 多语言 NLP 构建 Python
19 子词分词:BPE, WordPiece, Unigram, SentencePiece 学习 Python
20 结构化输出与约束解码 构建 Python
21 自然语言推理与文本蕴涵 学习 Python
22 嵌入模型深入探讨

[原 README 过长已截断]

开源项目rohitg002026-05-20原文

相关内容