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.
523 lessons. 20 phases. ~342 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.
114,584 readers · 181,995 page views in the last 30 days · as of 2026-08-29
Start here: choose what you want to build
You do not need to scan 523 lessons before beginning. Pick one goal. Each link opens the same curriculum on GitHub or the website, and both versions use the same lesson code.
| Your goal | Learn on GitHub | Learn on the website |
|---|---|---|
| I am new and want the complete foundation | Phase 0: Setup and Tooling | Dev Environment |
| I know Python and want math plus ML foundations | Phase 1: Math Foundations | Linear Algebra Intuition |
| I want to build production LLM applications | Phase 11: LLM Engineering | Prompt Engineering |
| I want to build agents | Phase 14: Agent Engineering | The Agent Loop |
| I want to use coding agents on real repositories | Agent-Assisted Engineering path | Agent-Assisted Engineering |
| I want to shape the right build before implementation | Product Judgment and Delivery path | Product Judgment and Delivery |
| I want to build with Model Context Protocol (MCP) | Model Context Protocol (MCP) route | Model Context Protocol (MCP) path |
| I want to write and ship Agent Skills | Focused Agent Skills route | Agent Skills path |
| I want to prepare for a Claude certification | Certification onboarding | Certification Academy |
| I want to prepare for the MCP Associate (MCPA) | MCPA onboarding | MCPA track |
Not sure where you fit? Use the start-learning placement tutor
or the website prerequisites guide.
Compare four core domains and six career routes in the AI Engineering Learning Paths.
Sponsors
Thank you to our sponsors.
Your support keeps every lesson free and open source.
See all supporters
Become a sponsor
Use every lesson the same way
- Read
docs/en.mdand explain the core idea in your own words. - Type and build the important code instead of treating the code block as decoration.
- Run the lesson command from the repository root, the directory containing
README.mdandphases/. - Keep evidence: the command, working directory, exit code, meaningful output, and the artifact you changed or produced.
- Continue only when you can explain the output and make one small change without guessing.
Commands in lesson pages are paths from the repository root unless the lesson explicitly says to change directories. If a lesson offers several languages, run the implementation for the language you are learning.
Clone it and produce your first evidence
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.pyThe preflight separates requirements needed now from tools needed later. Every required failure includes the detected reason and a corrective command. The second command is a dependency-free lesson and ends by showing that a matrix times a vector is the operation inside a neural network layer. Save that terminal output as your first evidence.
Add the AI tutor in 30 seconds
If Node.js, npx, and a skill-capable coding agent are already installed,
your coding agent can become your tutor in two commands. A repository clone is
not needed to install or read the tutor. Runnable focused-path labs need
python3. Agent Skills host labs also need a selected host and a writable
user or project skill scope.
Check the local requirements first:
node --version
npx --version
python3 --versionThen install the curriculum skills and choose the host and scope you intend to use when the installer asks:
npx skills add rohitg00/ai-engineering-from-scratchInvocation syntax belongs to the host, not to the portable SKILL.md format:
| Host | Start the course | Start Model Context Protocol (MCP) | Start Agent Skills | Run a phase quiz |
|---|---|---|---|---|
| Codex | start-learning, or choose it from /skills |
learn-mcp, or choose it from /skills |
learn-agent-skills, or choose it from /skills |
check-understanding 13, or choose it from /skills |
| Claude Code | /start-learning |
/learn-mcp |
/learn-agent-skills |
/check-understanding 13 |
| Other compatible hosts | Use start-learning to begin the course. |
Use learn-mcp to start the Model Context Protocol (MCP) path. |
Use learn-agent-skills to start the Agent Skills Engineering path. |
Use check-understanding to quiz me on Phase 13. |
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, the learn skill
teaches one lesson per session: concept, math, code, quiz. It streams lessons
straight from this repo, and the course-guide skill jumps you to the exact
lesson that covers anything you are stuck on. In Codex, invoke these skills with
learn and course-guide; in Claude Code, use /learn and /course-guide;
in other compatible hosts, ask to use the skill by name.
Only want Model Context Protocol (MCP)? Use the MCP invocation for your host. It creates
MCP-LEARNING.md and follows one 17-lesson route through stateless
requests, transports, bidirectional work, security, reliability, registry
governance, and conformance evidence. The exact order and checkpoints live in
the Model Context Protocol (MCP) manifest.
Only want Agent Skills? Use the Agent Skills invocation for your host. It
creates AGENT-SKILLS-LEARNING.md and follows one coherent five-lesson route:
contract, discovery, invocation, sandbox boundaries, then release evals and
real-host portability. Start on the web with the
Agent Skills path.
The installer lists the hosts it can configure and asks where to install. If
you do not have Node.js, npx, python3, a supported host, or a writable
scope yet, use the website or read docs/en.md manually. That path teaches the
concepts, but real-host discovery, invocation, script, and uninstall evidence
remains pending until the preflight is available. Read the 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, 523 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). After the Node.js,
npx, host, and scope preflight above, install the learning skills into a
compatible agent and let the course drive itself:
npx skills add rohitg00/ai-engineering-from-scratchUse the host-specific invocation table above. The installed skills provide
start-learning, learn, course-guide, and the focused
learn-mcp and learn-agent-skills routes. Lesson prose can
stream from this repository without a clone. A local clone is required for
copied repository code commands and executable MCP or Agent Skills labs.
Progress lives in LEARNING.md, MCP-LEARNING.md, or
AGENT-SKILLS-LEARNING.md in your project, so every session can resume.
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
python3 phases/01-math-foundations/01-linear-algebra-intuition/code/vectors.pyCloning also auto-loads the learning skills in Claude Code, and gives every
lesson's code to the learn tutor 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.
Prepare for Claude certifications
The Claude Certification Academy is a free, open-source preparation program for all four official Claude certification tracks: Associate Foundations, Developer Foundations, Architect Foundations, and Architect Professional. Each route combines blueprint-mapped lessons, runnable labs, a diagnostic, capstone work, and a full-length original practice exam.
Use the AI-native GitHub onboarding guide
with Claude Code, Codex, ChatGPT, Cursor, or another agent. Run
claude-certification in Codex, /claude-certification in Claude Code, or ask
another host to use claude-certification. It chooses a track, creates a
persistent route in CLAUDE-CERTIFICATION.md, teaches one step at a time, runs
the real labs, and gives artifact-based feedback. The same curriculum remains
available on the certification website.
The academy is independent study material based on public exam objectives. It is not affiliated with Anthropic, does not reproduce live exam questions, and cannot guarantee a passing score.
Prepare for the MCP Associate (MCPA) certification
The MCPA Certification Curriculum is a free,
open-source preparation program for the Model Context Protocol Associate exam from the
Agentic AI Foundation, delivered through Linux Foundation Training. Its 34 lessons teach
the stateless 2026-07-28 protocol across the five exam domains: per-request _meta and
server/discover in place of the old handshake, multi round-trip requests, subscriptions,
caching, the tasks and MCP Apps extensions, OAuth authorization, and the registry and SDK
tiers. Every lesson ships a runnable standard-library lab whose transcript is checked for
the current wire shape, and the track adds a diagnostic, a capstone, and three full-length
original practice exams whose question mix follows the published blueprint weights.
Use the AI-native GitHub onboarding guide with
Claude Code, Codex, ChatGPT, Cursor, or another agent. Run mcpa-certification in Codex,
/mcpa-certification in Claude Code, or ask another host to use mcpa-certification. It
creates a persistent route in MCPA-CERTIFICATION.md, teaches one step at a time, runs
the real labs, and gives artifact-based feedback. The same curriculum is available on the
MCPA track page.
This curriculum is independent study material based on public exam objectives. It is not affiliated with the Agentic AI Foundation or the Linux Foundation, does not reproduce live exam questions, and cannot guarantee a passing score.
The learning skills
| Skill | What it does |
|---|---|
start-learning |
One-time onboarding: why you're learning, placement quiz, personalized plan saved to LEARNING.md. |
learn |
The tutor loop. Warm-up recall, then the next lesson taught interactively, then its quiz; records progress and a review queue. |
course-guide |
Topic router. "Where do I learn attention?" or "my loss is NaN" → the exact lessons, with links. |
learn-mcp |
Focused Model Context Protocol (MCP) tutor. Creates MCP-LEARNING.md, follows the 17-lesson manifest, and records wire, security, reliability, and conformance evidence. |
learn-agent-skills |
Focused Agent Skills tutor. Creates AGENT-SKILLS-LEARNING.md, teaches lessons 22, 24, 25, 26, and 27, and records real-host evidence. |
claude-certification |
Certification tutor. Chooses CCAO-F, CCDV-F, CCAR-F, or CCAR-P; teaches each lesson; runs labs; reviews artifacts; administers diagnostics and mocks; saves progress. |
mcpa-certification |
MCPA tutor. Follows the 34-lesson mcpa-f route on the 2026-07-28 protocol; teaches each lesson; runs labs and the wire checker; administers the diagnostic and three mocks; saves progress. |
find-your-level |
Ten-question placement quiz. Maps your knowledge to a starting phase and produces a personalized path with hour estimates. |
check-understanding <phase> |
Per-phase quiz, eight questions, with feedback and specific lessons to review. Use the Codex, Claude Code, or natural-language form in the invocation table above. |
░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒
Read the core curriculum as a book
The 20-phase core curriculum under phases/ compiles into a six-volume book series. EPUB and PDF are built by CI from the same core 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.
Certification curricula are intentionally not converted into the books. Their AI tutor state, runnable labs, interactive figures, diagnostics, and timed mocks remain first-class on GitHub and the website.
| 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.
Install the lot with
python3 scripts/install_skills.py <target>. Real tools, not homework. By the end of the curriculum, you have a portfolio of 523 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.
|
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... |
░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒
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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
(README truncated)Recent activitycommits and pull requests
Recent open issuesview all
Discussionsall 8
Releases and announcements3 total
Code frequencyadditions and deletionsCommits per weeklast 52 weeksWhen work happensweekday and hourWho is committinglast 52 weeksMaintainer commits1,653 (92%) Community commits143 (8%) 1,796 commits in total over the last year. Trending appearances
Related repositories
|