Loading...

文章背景图

AI Engineering from Scratch:从零手写模型与智能体的开源课程部署指南

2026-10-28
0
- 字
- 分钟
|

AI Engineering from Scratch:从零手写模型与智能体的开源课程部署指南

AI Engineering from Scratch 是一套免费、开源、MIT 协议的 AI 工程课程,口号是"实现模型内部原理、检索管线和智能体运行时,测试它们、观察失败、保留代码与评测结果"。它把知识点拆成 542 节课、20 个阶段,覆盖 Python、TypeScript、Rust、Julia 四种语言,你可以在官网上学、配合编码智能体学,或者直接在本地跑代码学。

AI Engineering from Scratch

它不是一本"调包教程"。传统入门课往往教你怎么 import 一个现成库然后调 API,而这套课程要求你从线性代数直觉开始,手写优化器、手写检索管线、手写智能体循环,再用评测去验证你写的东西到底对不对。每个阶段都配了实验代码、交互式可视化和带本地评分器的项目挑战,强调"留下证据"——把终端输出、回归报告、时间线存下来作为你真正掌握的证明。

一、项目官方信息

项目 信息
项目名称 AI Engineering from Scratch
项目定位 从零手写模型内部、检索管线与智能体运行时的开源 AI 工程课程
维护者 rohitg00
代码仓库 rohitg00/ai-engineering-from-scratch
主要语言 Python(另含 TypeScript、Rust、Julia)
官方网站 aiengineeringfromscratch.com
开源协议 MIT
Star 数 约 74.7k
课程规模 542 节课 / 20 个阶段

二、项目背景

市面上的 AI 学习资料大致分两类:一类是讲理论的论文与教材,数学推导多但缺动手;另一类是讲 API 调用的速成课,能快速出活但讲不清底层为什么这样设计。结果就是很多人能跑通一个 RAG demo,却讲不清为什么某个 query 的召回变差了、智能体循环里哪一步在偷偷烧 token。

这套课程瞄准的正是中间地带:既要你真的把优化器、向量检索、智能体循环用代码写出来,又要求你用评测和调试工具去检验写出来的系统。它把"工程"二字落在实处——不只是搭出来,还要能测、能定位失败、能保留可复现的证据。课程提供三条学习路径:模型基础(从环境搭建开始)、LLM 系统(从提示工程开始)、智能体与交付(从智能体循环开始),按你的背景选一条切入即可。

它的一个鲜明主张是"指标描述判断,而不证明答案正确"。比如检索评测里,一个候选系统平均 NDCG 提升了,但某个 query 却把最相关证据排低了——这时你需要的不是一个总分,而是逐 query 的对比和回归报告。课程里每个项目都在训练这种工程直觉:不要被平均分迷惑,要能说出哪个 case 退化了、为什么、怎么验证。这种思维方式比单纯学会某个框架更接近真实的 AI 工程岗位要求。

三、核心特性

  • 542 节课、20 阶段:从数学基础、ML 基础,到 LLM 工程、工具与协议、智能体工程,再到基础设施与生产,循序渐进。
  • 三条学习路径:模型基础、LLM 系统、智能体与交付,分别从不同起点切入。
  • 交互式实验:网站内嵌可视化,例如梯度下降实验可以调节学习率,观察散点如何收敛到损失最小处。
  • 三个带评分器的项目:检索评测实验室(Python)、智能体轨迹调试器(TypeScript)、工具调用防火墙(Rust)。
  • 本地评分器:scripts/project_test.py 按阶段校验你的实现,未通过就报错,逼着你真正写代码而不是看答案。
  • 多语言:课程内容同时用 Python、TypeScript、Rust、Julia 表达,适合不同技术栈的工程师。
  • 多语言文档:README 提供简体中文、繁体中文、日语、韩语等三十多种语言版本。
  • 强调证据留存:每一步都要求保存终端输出、回归报告与时间线,把学习过程变成可复现的记录。

课程阶段的编排也有讲究:前几个阶段打数学与机器学习基础(线性代数直觉、优化器、模型评估),中间进入 LLM 工程(提示工程、RAG、工具与协议),后半段是智能体工程与生产基础设施(安全、密钥审计)。每个知识点都不是孤立的一篇文章,而是配了可运行的代码目录和交互式可视化,例如优化器那节既能在网页上看梯度下降的散点如何收敛,又能在本地 optimizers.py 里比较 GD、动量与 Adam 的实际差异。这种"理论—可视化—代码"三重对照,是它区别于普通图文教程的关键。

四、环境要求

  • Python 3.10+:检索评测等项目要求 Python 3.10 及以上。
  • Node.js 22.18+:智能体轨迹调试器项目需要较新的 Node.js 配合 Python 3 评分器。
  • Rust 工具链:工具调用防火墙项目用 Rust 实现,需要装好 Rust 与 Cargo。
  • 网络:课程仓库本身不大,但首次学习时官网的交互式实验需要联网。
  • 前置知识:课程按路径分级,模型基础路径面向初学者;直接选 LLM 或智能体路径建议先具备基本编程能力。

五、部署步骤

方式一:本地克隆运行(推荐)

git clone https://github.com/rohitg00/ai-engineering-from-scratch.git
cd ai-engineering-from-scratch
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 是一个零依赖的入门课,运行结束会告诉你"矩阵乘向量正是神经网络一层内部的运算",把这段终端输出存下来作为你的第一份学习证据。

方式二:浏览器网页端直接学习

不想配本地环境的话,直接在浏览器打开 aiengineeringfromscratch.com 选一条路径开始即可。网站把课程文档、代码和交互式可视化都放在网页里,例如梯度下降那节可以直接在页面上调节学习率、观察损失曲线,再对照仓库里的 optimizers.py 比较 GD、动量与 Adam 的区别。官网还提供每节课的直达链接,方便你配合编码智能体边读边练。

方式三:跑项目挑战

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

三个项目都分阶段起步:初始代码是跑不过的,你实现好一个阶段再用 --stage N 校验,全部通过用 --all。检索评测实验室要求你按 query 对比召回、输出回归;智能体轨迹调试器要你解析 JSONL 轨迹、区分父子 span 的时间与 token;工具调用防火墙要你校验调用信封、校验角色与路径、消费绑定到具体请求的审批。

三个项目分别对应 AI 工程里最常见的三类痛点:检索质量回归、智能体性能与成本、工具调用安全。检索评测实验室训练你用排序指标(精确率、召回率、rank-sensitive 指标)做逐 query 对比,而不是只看平均分;智能体轨迹调试器训练你从 JSONL 轨迹里把父子 span 的时间和 token 拆开,避免重复计数,产出可检查的时间线;工具调用防火墙训练你在 Rust 里做角色校验和审批回执,防止审批被重放或越权写入。做完这三个项目,相当于把 AI 系统从"能跑"到"能测、能调、能防"走了一遍。

六、使用方法

每节课的用法统一:先读 docs/en.md,用自己的话讲清核心思想;再亲手敲一遍关键代码,而不是把代码块当装饰;跑通后把终端输出存下来作为证据。建议按阶段顺序推进,不要跳——后面的项目会复用前面阶段建立的概念,例如检索评测要先看 RAG 和模型评估两节,工具调用防火墙要先看工具 schema 设计与安全审计两节。

学完一条路径后,用项目挑战检验自己:评分器会在严格模式下卡住你实现不到位的地方,这正是"工程"和"看过"的区别。把每个项目产出的可复现对比、HTML 时间线和 JSON 回归报告整理进自己的仓库,就是一份能拿出来讲的作品集。

配合编码智能体学习是它的一大亮点:你可以把某节课的 docs/en.md 和代码目录直接交给 Claude Code 或 Cursor,让智能体陪你逐段实现、解释报错、补测试。由于课程本身强调保留代码和评测结果,你的智能体协作过程也会沉淀成可复用的学习笔记。建议不要让智能体直接替你写完所有代码,而是先自己敲一遍,再让它 review 和补充边界情况,这样才能真正内化。

七、常见问题 FAQ

Q:零基础能学吗? A:可以从"模型基础"路径的环境搭建开始,vectors.py 这类课零依赖、从零讲概念;但 LLM 系统和智能体路径建议先有编程基础。

Q:必须三种语言都学吗? A:不必。课程用 Python、TypeScript、Rust、Julia 表达同一套概念,你按自己的技术栈选一种跟即可;项目挑战也分别用不同语言,挑适合你的做。

Q:项目挑战跑不过怎么办? A:用 --stage N --strict 逐阶段推进,评分器会告诉你卡在哪;仓库里有参考实现和说明文档,先看懂再自己写。

Q:一定要在本地装环境吗? A:不必。网站提供交互式实验,可以直接在浏览器里学;想真正写项目和跑评分器时再克隆仓库。

Q:课程收费吗? A:免费、开源、MIT 协议,赞助商支持保持课程免费。

Q:和看论文/调 API 课有什么区别? A:它要求你手写模型内部、检索管线和智能体运行时,并用评测与调试工具验证,重点是"能测、能定位失败、保留证据",而不是只会调库。

局限与注意

课程强调从零实现,意味着环境要自己装、报错要自己定位,不像现成框架那样开箱即用;它更适合有一定 Python 基础、想补底层的人。跑评分和回归会消耗模型 token,建议先用小规模样例验证流程,再放大到完整数据集。

适合谁、怎么学

这套课程的价值不在"答案",而在"约束":每个实验都要求你先写测试或评分脚本,再去改实现,改完用数字证明提升或定位回归。它逼你从"调一调看看效果"转向"假设—验证—留证"。学习顺序建议是先跑通第一章的手工优化器建立体感,再进入检索与生成,最后做智能体规划和评测。不要试图一次写完一个大智能体——课程刻意把每步拆小,让你在每一层都积累可复用的测量工具。

如果你已经习惯用框架,可能会觉得"从零写优化器、写 RAG"啰嗦,但这正是它和教程类项目的区别:框架替你藏起来的那些默认行为,恰恰是生产环境里出问题的地方。课程末尾会把这些测量能力汇总成一个回归工作台,让你对"模型升级到底变好还是变坏"有客观依据。

总体而言,这套课程把"学 AI 工程"从看教程拉回到动手实现:你要亲手写优化器、检索管线和智能体循环,再用评分器和回归报告证明它们真的可用。它不追求教你调某个框架,而是培养"能测、能定位失败、留下证据"的工程直觉,适合想系统补上底层能力、而不是只停留在调用 API 的开发者。

小结:它是一份反教程——不给你封装好的魔法,而是逼你亲手把优化、检索、生成、评测各层写一遍,并用数字证明每一步是否有效。适合想从调包走向真工程、愿意为可测量性付出额外时间的开发者。

评论交流

文章目录