Loading...

文章背景图

AI工程从零入门(ai-engineering-from-scratch)本地部署实战

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

AI工程从零入门(ai-engineering-from-scratch)本地部署实战

ai-engineering-from-scratch 项目头图

一、项目介绍

ai-engineering-from-scratch 是一套免费、开源、采用 MIT 协议发布的 AI 工程系统化教程仓库。它的核心理念是"从零实现":不满足于只会调用大模型 API,而是要求读者亲手实现模型内部原理、检索管线(RAG)与智能体运行时,并对每一次实现进行测试、观察失败、保留代码与评估结果。

仓库目前包含 542 节课、20 个阶段(Phase),覆盖 Python、TypeScript、Rust、Julia 四种语言。课程从数学基础、机器学习、深度学习一路搭建到大语言模型工程、多模态、工具协议(MCP)、智能体工程与生产化部署,形成一条完整的学习路径。它既可以在官方网站上在线阅读,也可以克隆到本地直接运行代码,甚至可以通过 npx skills 把整个课程装进支持 Agent Skill 的编程助手里,让 AI 导师带你逐节学习。

这套教程的特别之处在于它不假设你已经是专家,而是从环境搭建、数学直觉开始,一层层往上建。每节课都有配套代码与验证脚本,强调"做了才算学了"。对想系统补齐 AI 工程底层能力的人,它是一条少有的、成体系的自学路径。

梯度下降可视化示例

与一般"调 API 入门"教程不同,本仓库强调证据留存:每节课都要求读者保留命令、工作目录、退出码、有意义的输出以及改动或产出的工件,确保所学内容可复现、可检验。对于想真正理解 AI 系统内部如何运作的工程师来说,这是一套少有的、成体系的实战型学习仓库。

这套课程和别的教程有什么不同

市面上多数 AI 教程停留在"调用 OpenAI API 做个聊天机器人"或"用 PyTorch 跑通一个 MNIST 示例"。它们能让你跑起来,却讲不清梯度下降为什么这样更新、注意力机制的复杂度从哪来、RAG 里的检索器为什么要排序评估、智能体循环里工具调用的边界在哪。ai-engineering-from-scratch 的立场是:你应该亲手实现这些东西,哪怕实现得很粗糙,也要看到中间张量、看到 loss 变化、看到一次失败的工具调用。

它把学习分成 20 个层层叠加的阶段:数学是地基,深度学习是主体,LLM 与智能体是屋顶。你可以跳过已掌握的下层,但不能跳过去之后又问"为什么屋顶在漏"。配套的三个实战项目分别用 Python、TypeScript、Rust 写成,且都带本地评分器——starter 故意跑不通,你补全实现后评分器通过,才算真正掌握。这种"做中学 + 自动验证"的模式,比纯看视频更接近真实工程训练。

这套课程还有一个鲜明主张:每节课都要留下证据。所谓证据,不是看完视频打个勾,而是保存你运行的命令、工作目录、退出码、关键输出以及改动的文件。这个习惯看似琐碎,却直接对应真实工程中的可复现性要求——当你几周后回头看"这个实验为什么 loss 突然变了",没有留下的证据就只能靠猜。把这种习惯内化,你写出的训练脚本、评估脚本会自动带上日志与配置记录,这正是 AI 工程区别于玩具实验的关键。

如何安排学习节奏

仓库给出了按背景的预估时长:零基础约三百小时、会 Python 但没碰过机器学习约二百七十小时、资深工程师只学智能体约六十小时。不要被这些数字吓到——它们是全流程估算,你可以只学需要的阶段。建议每周固定几个时段,每次完成一节"读讲义→敲代码→跑命令→存证据"的闭环,而不是周末突击看十几个视频。AI 工程是实践性极强的领域,手敲一遍反向传播的代码,比看十遍推导都印象深刻。

学完一个阶段后,回头做对应的项目挑战来检验。三个项目分别覆盖检索评估、轨迹调试、工具调用安全,正好对应 LLM 工程、智能体可观测性、工具协议这三个高频方向。评分器通过不代表你精通,但它能确认你没有卡在"环境跑不起来"这一步。遇到不懂的概念,用 course-guide 让助手跳到对应课节,比自己在网上零散搜答案更系统。

二、官方信息

项目 信息
仓库地址 rohitg00/ai-engineering-from-scratch
官方网站 aiengineeringfromscratch.com
开源协议 MIT License
主语言 Python(辅以 TypeScript、Rust、Julia)
课程规模 542 节课 / 20 个阶段
最近更新 2026-10-23
赞助页 Sponsors

仓库概览

三、项目结构与核心特性

仓库采用 phases/ 目录组织全部课程,每个阶段下再按"编号-课程名"拆分小节,每节包含 docs/en.md(讲义)、code/(可运行代码)以及配套的实验说明。三个带评分的项目挑战位于 projects/ 目录,统一由 scripts/project_test.py 驱动。

核心目录结构如下:

ai-engineering-from-scratch/
├── phases/                  # 20 个学习阶段
│   ├── 00-setup-and-tooling/      # 环境搭建与工具链
│   ├── 01-math-foundations/       # 数学基础
│   ├── 11-llm-engineering/        # LLM 工程
│   ├── 13-tools-and-protocols/    # 工具与协议(含 MCP)
│   └── 14-agent-engineering/      # 智能体工程
├── projects/                # 三个带本地评分器的实战项目
├── skills/                  # AI 导师 Skill(start-learning、learn 等)
├── scripts/project_test.py  # 项目测试与评分脚本
└── learning-paths/          # 学习路径配置(JSON)

核心特性包括:

  • 三条学习路径:模型基础(从环境搭建开始)、LLM 系统(从提示工程开始)、智能体与交付(从 Agent Loop 开始),读者可按背景直接跳转。
  • 三个实战项目:检索评估实验室(Python,排名指标与回归检查)、Agent 轨迹调试器(TypeScript,轨迹解析与计时)、工具调用防火墙(Rust,角色校验与审批收据)。每个项目都有分阶段 starter、参考答案与本地评分器。
  • AI 导师模式:通过 npx skills add rohitg00/ai-engineering-from-scratch 安装后,可在 Codex、Claude Code 等助手里用 start-learning、learn、course-guide 等 Skill 交互式学习。
  • 聚焦分支:除主路径外,还提供 MCP 专线(17 节课)、Agent Skills 专线、逆向工程专线等细分学习路线。

四、环境与版本要求

本仓库以"环境先行"为第一课,对运行环境有明确要求:

组件 版本要求 说明
Python 3.10+ 多数课程与项目评分脚本所需
Node.js 22.18+ 仅 Agent 轨迹调试器项目与 AI 导师模式需要
npx 随 Node.js 安装 用于安装 Agent Skill
Rust 稳定版工具链 仅工具调用防火墙项目需要
GPU(可选) CUDA 兼容显卡 深度学习相关阶段建议,CPU 也可运行小型实验

仓库自带预检脚本,会区分"现在就需要"与"以后才需要"的工具,并对每个失败项给出检测原因与修复命令。无需一次性配齐所有环境。

五、本地部署步骤

1. 克隆仓库

git clone https://github.com/rohitg00/ai-engineering-from-scratch.git
cd ai-engineering-from-scratch

克隆完成后,仓库根目录应能看到 README.md、phases/、projects/ 等内容。后续所有课程命令都从仓库根目录执行,不要随意 cd 进子目录再运行。

2. 运行环境预检

python3 phases/00-setup-and-tooling/01-dev-environment/code/verify.py --route beginner

该命令会检测 Python、Git、GPU、API Key、Jupyter、Docker 等工具是否就绪,并按 beginner 路由给出缺失项与修复建议。如果输出中提示某条命令未找到,按提示安装后重跑即可。

这个预检脚本的价值在于把"环境问题"和"代码问题"分开。很多学习卡在第一步不是因为看不懂内容,而是因为 Python 版本不对、Git 没装、或 GPU 驱动缺失。先跑预检,把环境问题解决在前面,后面的课程才能专注在概念本身。建议每换一台机器或新开一个虚拟环境,都先重跑一次这个脚本。

3. 运行第一节无依赖实验

python3 phases/01-math-foundations/01-linear-algebra-intuition/code/vectors.py

这是一个零依赖课程,运行后会演示"矩阵乘向量就是神经网络层内部的运算"。把终端输出保存为你的第一份学习证据。

4. (可选)安装 AI 导师 Skill

如果你已经装好 Node.js 与 npx,可以把课程装进编程助手:

npx skills add rohitg00/ai-engineering-from-scratch

安装时选择宿主(Codex / Claude Code 等)与安装作用域。安装后在助手里输入 start-learning(Codex)或 /start-learning(Claude Code)即可开始。十题入门测验会把你的现有知识映射到合适的起始阶段,并生成个性化学习计划保存到 LEARNING.md。

5. 启动一个实战项目(以检索评估实验室为例)

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

逐行说明:

  • --init:在 learning-artifacts/retrieval-evaluation-lab 下生成分阶段 starter 代码,此时 starter 是故意跑不通的。
  • --stage 1 --strict:以严格模式检查第一阶段实现是否通过。
  • --all --strict:一次性跑完所有阶段并给出总评。

当评分器全部通过,说明你已经实现了可复现的逐查询排名对比与回归报告。

六、API 用法与示例

本仓库不是一个 Python 包,而是课程与代码集合,因此没有 pip install 后的库 API。它的"用法"体现在两类入口:

1. 课程脚本直调

每节课的 code/ 目录下都有可独立运行的 Python 脚本,直接用 python3 执行即可。例如优化课对比不同优化器:

python3 phases/01-math-foundations/08-optimization/code/optimizers.py

该脚本会在二次损失上对比梯度下降、动量与 Adam 的表现,对应讲义中的损失景观可视化。

直调课程脚本时,建议边跑边读对应的 docs/en.md。脚本输出的数值或图,正好是讲义里讲解的现象——把二者对照起来,比单看讲义或单看输出都更有收获。遇到报错时,先确认是否在仓库根目录运行,因为脚本里常有相对路径引用配套数据。

2. 项目评分脚本

scripts/project_test.py 是统一的命令行入口,支持三个项目名:

# 查看某个项目的帮助
python3 scripts/project_test.py retrieval-evaluation-lab --help

常用参数:

参数 作用
--init <dir> 在指定目录初始化 starter
--stage <n> 只检查第 n 阶段
--path <dir> 指定项目工作目录
--strict 严格模式,任何回归都判失败
--all 跑完全部阶段

3. AI 导师 Skill 调用

在支持 Skill 的助手里,常用调用如下表:

Skill 作用
start-learning 一次性入门:十题测验 + 个性化计划
learn 导师循环:热身回忆→讲新课→测验
course-guide 主题路由:"注意力在哪学""loss 是 NaN"→精确课节
check-understanding <phase> 某阶段八题小测

七、常见问题 FAQ

Q1:我没有 GPU,能学完整个课程吗?
可以。仓库明确区分"现在需要"与"以后需要"的工具,数学、ML、RAG、智能体等阶段在 CPU 上即可运行小型实验;只有深度学习大模型训练相关阶段强烈建议 GPU。预检脚本会告诉你当前缺什么。

Q2:一定要从 Phase 0 开始吗?
不必。仓库提供按背景的起步建议:会 Python 但没接触过 ML 从 Phase 1 开始;懂深度学习但要学 LLM 从 Phase 10 开始;资深工程师只想学智能体可直接从 Phase 14 开始。也可以用 start-learning 测验定位。

Q3:运行课程脚本报错"No module named xxx"怎么办?
课程脚本尽量保持零依赖或少量依赖。报错时先确认你在仓库根目录运行命令,再按讲义 docs/en.md 中该节列出的依赖用 pip install 安装。每个阶段第一节通常会说明本阶段所需环境。

Q4:AI 导师模式需要联网吗?
npx skills add 安装时需要联网;安装后课程内容直接从本地仓库流式读取,但编程助手本身调用大模型仍需联网。如果没有 Node.js 或支持 Skill 的宿主,直接在官网阅读或手动跑代码即可。

Q5:三个实战项目必须按顺序做吗?
不强制。检索评估实验室用 Python、Agent 轨迹调试器用 TypeScript、工具调用防火墙用 Rust,可按你熟悉的语言选择。每个项目都有独立的 starter、参考答案与评分器,做完一个会生成对应的 HTML 时间线或审计收据作为证据。

总的来说,这套课程最适合"已经会一点编程、想系统搞懂 AI 工程底层"的学习者。它不追求让你快速做出花哨 demo,而是要求你亲手实现、亲手验证、留下证据。慢即是快——把地基打牢之后,再去追新模型、搭智能体,你会比只会调 API 的人走得更稳更远。

以上就是这套从零实现 AI 工程教程的本地部署与使用要点。它最适合愿意慢下来打地基的学习者,坚持走完一个阶段,你对模型与智能体的理解会明显不同。

八、相关链接

项目赞助横幅

本文命令与版本要求均对照仓库 README 整理,如仓库后续更新,请以官方文档为准。

评论交流

文章目录