ai-engineering-from-scratch – rohitg00
学习它。构建它。交付他人。
关键指标一览
主题标签
README 详细介绍
Read in your language:
Español ·
Français ·
Português ·
Deutsch ·
Italiano ·
简体中文 ·
日本語 ·
한국어 ·
हिन्दी ·
العربية ·
Русский ·
Türkçe
Translated landing pages, committed to the repo. English is canonical; lesson pages are machine-translated on the translations branch. See docs/i18n.md.
From the creator of Agent Memory - #1 Persistent memory ⭐
which naturally works with any agents or chat assistants.
░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒
> **84% of students already use AI tools. Only 18% feel prepared to use them
> professionally.** This curriculum closes that gap.
>
> 503 lessons. 20 phases. ~320 hours. Python, TypeScript, Rust, Julia. Every lesson ships
> a reusable artifact: a prompt, a skill, an agent, an MCP server. Free, open source, MIT.
>
> You don't just learn AI. You build it. End-to-end. By hand.
150,639 readers · 241,669 page views in the last 30 days · as of 2026-06-07
Start learning in 30 seconds
Your coding agent becomes your tutor. Two commands, no clone, no setup:
npx skills add rohitg00/ai-engineering-from-scratch
Then, inside your agent:
/start-learning
A ten-question placement quiz maps what you already know to a starting phase and
saves a personalized study plan to LEARNING.md. From there, /learn teaches
one lesson per session — concept, math, code, quiz — streaming lessons straight
from this repo, and /course-guide jumps you to the exact lesson that
covers anything you are stuck on.
Works with Claude Code, Cursor, Codex, OpenClaw, Hermes, or any agent that
reads a SKILL.md directory — the installer asks which agents to set up. No
agent? Read the same lessons at
aiengineeringfromscratch.com.
How this works
Most AI material teaches in scattered pieces. A paper here, a fine-tuning post there, a
flashy agent demo somewhere else. The pieces rarely line up. You ship a chatbot but can't
explain its loss curve. You hook a function to an agent but can't say what attention does
inside the model that's calling it.
This curriculum is the spine. 20 phases, 503 lessons, four languages: Python, TypeScript,
Rust, Julia. Linear algebra at one end, autonomous swarms at the other. Every algorithm
gets built from raw math first. Backprop. Tokenizer. Attention. Agent loop. By the time
PyTorch shows up, you already know what it's doing under the hood.
Each lesson runs the same loop: read the problem, derive the math, write the code, run
the test, keep the artifact. No five-minute videos, no copy-paste deploys, no hand-holding.
Free, open source, and built to run on your own laptop.
░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒
The shape of the curriculum
Twenty phases stack on top of each other. Math is the floor. Agents and production are the roof.
Skip ahead if you already know the lower layers, but don't skip and then wonder why something at
the top is breaking.
%%{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░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒
The shape of a lesson
Each lesson lives in its own folder, with the same structure across the entire curriculum:
phases/<NN>-<phase-name>/<NN>-<lesson-name>/
├── code/ runnable implementations (Python, TypeScript, Rust, Julia)
├── docs/
│ └── en.md lesson narrative
└── outputs/ prompts, skills, agents, or MCP servers this lesson produces
Every lesson follows six beats. The Build It / Use It split is the spine — you implement the
algorithm from scratch first, then run the same thing through the production library. You
understand what the framework is doing because you wrote the smaller version yourself.
%%{init: {'theme':'base','themeVariables':{'primaryColor':'#fafaf5','primaryTextColor':'#1a1a1a','primaryBorderColor':'#3553ff','lineColor':'#3553ff','fontFamily':'JetBrains Mono','fontSize':'13px'}}}%%
flowchart LR
M["MOTTO<br/><sub>one-line core idea</sub>"] --> Pr["PROBLEM<br/><sub>concrete pain</sub>"]
Pr --> C["CONCEPT<br/><sub>diagrams & intuition</sub>"]
C --> B["BUILD IT<br/><sub>raw math, no frameworks</sub>"]
B --> U["USE IT<br/><sub>same thing in PyTorch / sklearn</sub>"]
U --> S["SHIP IT<br/><sub>prompt · skill · agent · MCP</sub>"]Getting started
Three ways in. Pick one.
*Option A — learn in your terminal (recommended).* Install the learning
skills into any agent and let the course drive itself:
npx skills add rohitg00/ai-engineering-from-scratch
/start-learning # interview + placement quiz -> personalized plan in LEARNING.md
/learn # next lesson, taught interactively: concept -> math -> code -> quiz
/course-guide rag # "which lessons teach X?" -> exact lessons + links
Lessons stream from this repo as you go — no clone needed. Progress lives inLEARNING.md in your project, so every session resumes where you left off.
Option B — read. Open any completed lesson on
aiengineeringfromscratch.com or expand a phase under
Contents. No setup, no cloning.
Option C — clone and run.
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
Cloning also auto-loads the learning skills in Claude Code, and gives every
lesson's code to /learn for real execution instead of read-along.
Prerequisites
- You can write code (any language; Python helps).
- You want to understand how AI actually works, not just call APIs.
The learning skills (any agent: Claude, Cursor, Codex, OpenClaw, Hermes, …)
| Skill | What it does |
|---|---|
| <code class="ra0-md-code">/start-learning</code> | One-time onboarding: why you're learning, placement quiz, personalized plan saved to LEARNING.md. |
| <code class="ra0-md-code">/learn</code> | The tutor loop. Warm-up recall, then the next lesson taught interactively, then its quiz; records progress and a review queue. |
| <code class="ra0-md-code">/course-guide</code> | Topic router. "Where do I learn attention?" or "my loss is NaN" → the exact lessons, with links. |
| <code class="ra0-md-code">/find-your-level</code> | Ten-question placement quiz. Maps your knowledge to a starting phase and produces a personalized path with hour estimates. |
| <code class="ra0-md-code">/check-understanding </code> | Per-phase quiz, eight questions, with feedback and specific lessons to review. |
░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒
Read it as a book
The whole course compiles into a six-volume book series. EPUB and PDF are built by CI from the same lesson sources and attached to every GitHub release; the links below always resolve to the newest release. Volume numbers index the series, not versions: each copy carries a dated edition stamp, and older editions stay downloadable from their release.
| Vol | Title | Phases | Download |
|---|---|---|---|
| 1 | Foundations · Math, Tooling, and Classical Machine Learning | 00-02 | EPUB · PDF |
| 2 | Deep Learning · Networks, Vision, and Speech | 03, 04, 06 | EPUB · PDF |
| 3 | Language · NLP Foundations and the Transformer | 05, 07 | EPUB · PDF |
| 4 | Large Language Models · Generation, Reinforcement, Pretraining, and Engineering | 08-11 | EPUB · PDF |
| 5 | Agents · Multimodality, Protocols, Autonomy, and Swarms | 12-16 | EPUB · PDF |
| 6 | Production · Infrastructure, Safety, and Capstones | 17-19 | EPUB · PDF |
The book is the snapshot; this repository is the living edition. Every chapter ends with links back to the lesson's animated figures, quiz, and runnable code. Build locally with python3 scripts/build_book.py (pandoc required); pipeline details in book/README.md.
░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒
Every lesson ships something
Other curricula end with "congratulations, you learned X." Each lesson here ends with a
reusable tool you can install or paste into your daily workflow.
FIG_001 · A PROMPTS | FIG_001 · B SKILLS | FIG_001 · C AGENTS | FIG_001 · D MCP SERVERS |
|---|---|---|---|
| Paste into any AI assistant for expert-level help on a narrow task. | Drop into Claude, Cursor, Codex, OpenClaw, Hermes, or any agent that reads SKILL.md. | Deploy as autonomous workers — you wrote the loop yourself in Phase 14. | Plug into any MCP-compatible client. Built end-to-end in Phase 13. |
> Install the lot with python3 scripts/install_skills.py . Real tools, not homework.
> By the end of the curriculum, you have a portfolio of 503 artifacts you actually
> understand because you built them.
FIG_002 · A worked sample
Phase 14, lesson 1: the agent loop. ~120 lines of pure Python, no dependencies.
|
|
|
░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒
Contents
Twenty phases. Click any phase to expand its lesson list.
Phase 0: Setup & Tooling 12 lessons
> Get your environment ready for everything that follows.
| # | Lesson | Type | Lang |
|---|---|---|---|
| 01 | Dev Environment | Build | Python |
| 02 | Git & Collaboration | Learn | — |
| 03 | GPU Setup & Cloud | Build | Python |
| 04 | APIs & Keys | Build | Python |
| 05 | Jupyter Notebooks | Build | Python |
| 06 | Python Environments | Build | Shell |
| 07 | Docker for AI | Build | Docker |
| 08 | Editor Setup | Build | — |
| 09 | Data Management | Build | Python |
| 10 | Terminal & Shell | Learn | — |
| 11 | Linux for AI | Learn | — |
| 12 | Debugging & Profiling | Build | Python |
Phase 1 — Math Foundations
22 lessons The intuition behind every AI algorithm, through code.
Phase 2 — ML Fundamentals
18 lessons Classical ML — still the backbone of most production AI.
| # | Lesson | Type | Lang |
|---|---|---|---|
| 01 | What Is Machine Learning | Learn | Python |
| 02 | Linear Regression from Scratch | Build | Python |
| 03 | Logistic Regression & Classification | Build | Python |
| 04 | Decision Trees & Random Forests | Build | Python |
| 05 | Support Vector Machines | Build | Python |
| 06 | KNN & Distance Metrics | Build | Python |
| 07 | Unsupervised Learning: K-Means, DBSCAN | Build | Python |
| 08 | Feature Engineering & Selection | Build | Python |
| 09 | Model Evaluation: Metrics, Cross-Validation | Build | Python |
| 10 | Bias, Variance & the Learning Curve | Learn | Python |
| 11 | Ensemble Methods: Boosting, Bagging, Stacking | Build | Python |
| 12 | Hyperparameter Tuning | Build | Python |
| 13 | ML Pipelines & Experiment Tracking | Build | Python |
| 14 | Naive Bayes | Build | Python |
| 15 | Time Series Fundamentals | Build | Python |
| 16 | Anomaly Detection | Build | Python |
| 17 | Handling Imbalanced Data | Build | Python |
| 18 | Feature Selection | Build | Python |
Phase 3 — Deep Learning Core
13 lessons Neural networks from first principles. No frameworks until you build one.
| # | Lesson | Type | Lang |
|---|---|---|---|
| 01 | The Perceptron: Where It All Started | Build | Python |
| 02 | Multi-Layer Networks & Forward Pass | Build | Python |
| 03 | Backpropagation from Scratch | Build | Python |
| 04 | Activation Functions: ReLU, Sigmoid, GELU & Why | Build | Python |
| 05 | Loss Functions: MSE, Cross-Entropy, Contrastive | Build | Python |
| 06 | Optimizers: SGD, Momentum, Adam, AdamW | Build | Python |
| 07 | Regularization: Dropout, Weight Decay, BatchNorm | Build | Python |
| 08 | Weight Initialization & Training Stability | Build | Python |
| 09 | Learning Rate Schedules & Warmup | Build | Python |
| 10 | Build Your Own Mini Framework | Build | Python |
| 11 | Introduction to PyTorch | Build | Python |
| 12 | Introduction to JAX | Build | Python |
| 13 | Debugging Neural Networks | Build | Python |
Phase 4 — Computer Vision
28 lessons From pixels to understanding — image, video, 3D, VLMs, and world models.
Phase 5 — NLP: Foundations to Advanced
29 lessons Language is the interface to intelligence.
Phase 6 — Speech & Audio
17 lessons Hear, understand, speak.
| # | Lesson | Type | Lang |
|---|---|---|---|
| 01 | Audio Fundamentals: Waveforms, Sampling, FFT | Learn | Python |
| 02 | Spectrograms, Mel Scale & Audio Features | Build | Python |
| 03 | Audio Classification | Build | Python |
| 04 | Speech Recognition (ASR) | Build | Python |
| 05 | Whisper: Architecture & Fine-Tuning | Build | Python |
| 06 | Speaker Recognition & Verification | Build | Python |
| 07 | Text-to-Speech (TTS) | Build | Python |
| 08 | Voice Cloning & Voice Conversion | Build | Python |
| 09 | Music Generation | Build | Python |
| 10 | Audio-Language Models | Build | Python |
| 11 | Real-Time Audio Processing | Build | Python |
| 12 | Build a Voice Assistant Pipeline | Build | Python |
| 13 | Neural Audio Codecs — EnCodec, SNAC, Mimi, DAC | Learn | Python |
| 14 | Voice Activity Detection & Turn-Taking | Build | Python |
| 15 | Streaming Speech-to-Speech — Moshi, Hibiki | Learn | Python |
| 16 | Voice Anti-Spoofing & Audio Watermarking | Build | Python |
| 17 | Audio Evaluation — WER, MOS, MMAU, Leaderboards | Learn | Python |
Phase 7 — Transformers Deep Dive
16 lessons The architecture that changed everything.
| # | Lesson | Type | Lang |
|---|---|---|---|
| 01 | Why Transformers: The Problems with RNNs | Learn | Python |
| 02 | Self-Attention from Scratch | Build | Python |
| 03 | Multi-Head Attention | Build | Python |
| 04 | Positional Encoding: Sinusoidal, RoPE, ALiBi | Build | Python |
| 05 | The Full Transformer: Encoder + Decoder | Build | Python |
| 06 | BERT — Masked Language Modeling | Build | Python |
| 07 | GPT — Causal Language Modeling | Build | Python |
| 08 | T5, BART — Encoder-Decoder Models | Learn | Python |
| 09 | Vision Transformers (ViT) | Build | Python |
| 10 | Audio Transformers — Whisper Architecture | Learn | Python |
| 11 | Mixture of Experts (MoE) | Build | Python |
| 12 | KV Cache, Flash Attention & Inference Optimization | Build | Python |
| 13 | Scaling Laws | Learn | Python |
| 14 | Build a Transformer from Scratch | Build | Python |
| 15 | Attention Variants — Sliding Window, Sparse, Differential | Build | Python |
| 16 | Speculative Decoding — Draft, Verify, Repeat | Build | Python |
Phase 8 — Generative AI
15 lessons Create images, video, audio, 3D, and more.
| # | Lesson | Type | Lang |
|---|---|---|---|
| 01 | Generative Models: Taxonomy & History | Learn | Python |
| 02 | Autoencoders & VAE | Build | Python |
| 03 | GANs: Generator vs Discriminator | Build | Python |
| 04 | Conditional GANs & Pix2Pix | Build | Python |
| 05 | StyleGAN | Build | Python |
| 06 | Diffusion Models — DDPM from Scratch | Build | Python |
| 07 | Latent Diffusion & Stable Diffusion | Build | Python |
| 08 | ControlNet, LoRA & Conditioning | Build | Python |
| 09 | Inpainting, Outpainting & Editing | Build | Python |
| 10 | Video Generation | Build | Python |
| 11 | Audio Generation | Build | Python |
| 12 | 3D Generation | Build | Python |
| 13 | Flow Matching & Rectified Flows | Build | Python |
| 14 | Evaluation: FID, CLIP Score | Build | Python |
| 19 | Visual Autoregressive Modeling (VAR): Next-Scale Prediction | Build | Python |
Phase 9 — Reinforcement Learning
12 lessons The foundation of RLHF and game-playing AI.
| # | Lesson | Type | Lang |
|---|---|---|---|
| 01 | MDPs, States, Actions & Rewards | Learn | Python |
| 02 | Dynamic Programming | Build | Python |
| 03 | Monte Carlo Methods | Build | Python |
| 04 | Q-Learning, SARSA | Build | Python |
| 05 | Deep Q-Networks (DQN) | Build | Python |
| 06 | Policy Gradients — REINFORCE | Build | Python |
| 07 | Actor-Critic — A2C, A3C | Build | Python |
| 08 | PPO | Build | Python |
| 09 | Reward Modeling & RLHF | Build | Python |
| 10 | Multi-Agent RL | Build | Python |
| 11 | Sim-to-Real Transfer | Build | Python |
| 12 | RL for Games | Build | Python |
Phase 10 — LLMs from Scratch
24 lessons Build, train, and understand large language models.
Phase 11 — LLM Engineering
17 lessons Put LLMs to work in production.
| # | Lesson | Type | Lang |
|---|---|---|---|
| 01 | Prompt Engineering: Techniques & Patterns | Build | Python |
| 02 | Few-Shot, CoT, Tree-of-Thought | Build | Python |
| 03 | Structured Outputs | Build | Python |
| 04 | Embeddings & Vector Representations | Build | Python |
| 05 | Context Engineering | Build | Python |
| 06 | RAG: Retrieval-Augmented Generation | Build | Python |
| 07 | Advanced RAG: Chunking, Reranking | Build | Python |
| 08 | Fine-Tuning with LoRA & QLoRA | Build | Python |
| 09 | Function Calling & Tool Use | Build | Python |
| 10 | Evaluation & Testing | Build | Python |
| 11 | Caching, Rate Limiting & Cost | Build | Python |
| 12 | Guardrails & Safety | Build | Python |
| 13 | Building a Production LLM App | Build | Python |
| 14 | Model Context Protocol (MCP) | Build | Python |
| 15 | Prompt Caching & Context Caching | Build | Python |
| 16 | Agent State Machines — Graphs, Nodes, Checkpoints | Build | Python |
| 17 | Agent Framework Tradeoffs | Learn | Python |
Phase 12 — Multimodal AI
25 lessons See, hear, read, and reason across modalities — from ViT patches to computer-use agents.
Phase 13 — Tools & Protocols
23 lessons The interfaces between AI and the real world.
| # | Lesson | Type | Lang |
|---|---|---|---|
| 01 | The Tool Interface | Learn | Python |
| 02 | Function Calling Deep Dive | Build | Python |
| 03 | Parallel and Streaming Tool Calls | Build | Python |
| 04 | Structured Output | Build | Python |
| 05 | Tool Schema Design | Learn | Python |
| 06 | MCP Fundamentals | Learn | Python |
| 07 | Building an MCP Server | Build | Python |
| 08 | Building an MCP Client | Build | Python |
| 09 | MCP Transports | Learn | Python |
| 10 | MCP Resources and Prompts | Build | Python |
| 11 | MCP Sampling | Build | Python |
| 12 | MCP Roots and Elicitation | Build | Python |
| 13 | MCP Async Tasks | Build | Python |
| 14 | [MCP Apps](phases/13-tools-and-protoco