Implement model internals, retrieval pipelines, and agent runtimes. Test them, inspect failures, and keep the code and evaluation results.
Start learning · Choose a path · Try a lab · Build a project · Browse the curriculum
Free, open source, MIT. Learn on the website, with a coding agent, or by running local code.
528 lessons. 20 phases. Python, TypeScript, Rust, Julia.
Read in your language
🇬🇧 English · 🇨🇳 简体中文 · 🇹🇼 繁體中文(台灣) · 🇯🇵 日本語 · 🇰🇷 한국어 · 🇵🇹 Português · 🇧🇷 Português (Brasil) · 🇪🇸 Español · 🇩🇪 Deutsch · 🇫🇷 Français · 🇮🇹 Italiano · 🇳🇱 Nederlands · 🇵🇱 Polski · 🇨🇿 Čeština · 🇷🇴 Română · 🇭🇺 Magyar · 🇬🇷 Ελληνικά · 🇸🇪 Svenska · 🇩🇰 Dansk · 🇳🇴 Norsk · 🇫🇮 Suomi · 🇷🇺 Русский · 🇺🇦 Українська · 🇹🇷 Türkçe · 🇮🇱 עברית · 🇸🇦 العربية · 🇮🇷 فارسی · 🇮🇳 हिन्दी · 🇧🇩 বাংলা · 🇵🇰 اردو · 🇹🇭 ไทย · 🇻🇳 Tiếng Việt · 🇮🇩 Bahasa Indonesia · 🇵🇭 Tagalog
Sponsors
Your support keeps every lesson free and open source. See all supporters · Become a sponsor
Learning paths
| Route | Starting lesson |
|---|---|
| Model foundations | Setup and tooling |
| LLM systems | Prompt engineering |
| Agents and delivery | The agent loop |
Compare career paths · Prerequisites and study time
Gradient descent
Twenty starting points follow gradient descent on a quadratic loss. The graph shows their positions and mean loss after each update.
Adjust the learning rate in the lesson · Compare GD, momentum, and Adam in code
Projects
Three projects with staged starters, reference implementations, and local graders. Run commands from the repository root after setup. Starters fail until you implement the stages.
01 · Retrieval Evaluation Lab · Python · Ranking metrics and regression checks
A candidate improves mean NDCG while one query ranks its most relevant evidence lower. Build a query-by-query comparison that reports the regression and can fail a release check.
Use Python 3.10+. Review RAG and model evaluation. Implement ranking validation, precision and recall, rank-sensitive metrics, then system comparison.
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
Keep: a reproducible comparison with per-query deltas and the judgments used to score them. Metrics describe those judgments; they do not establish answer correctness.
Start the project · Inspect the reference · Run on your own inputs
02 · Agent Trace Debugger · TypeScript · Trace parsing and timing
A supplied trace still takes 100 ms, but total token usage rises by 200 and one span starts failing. Separate overlapping child work from parent execution time, then produce a report that exposes the change.
Use Node.js 22.18+ and Python 3 for the grader. Implement JSONL parsing, parent validation, interval arithmetic, then an inspectable timeline.
python3 scripts/project_test.py agent-trace-debugger \
--init learning-artifacts/agent-trace-debugger
python3 scripts/project_test.py agent-trace-debugger \
--stage 1 --path learning-artifacts/agent-trace-debugger --strict
python3 scripts/project_test.py agent-trace-debugger \
--all --path learning-artifacts/agent-trace-debugger --strict
Keep: the input trace, an HTML timeline, and a JSON regression report. Preserve exclusive per-span token counts so parent and child usage are not counted twice.
Start the project · Inspect the reference · Explore timing interactively
03 · Tool Call Firewall · Rust · Role checks and approval receipts
A write changes after review, or an approval is replayed. Validate the call envelope, check the caller's role and path, then consume an approval bound to the exact request and content.
Use Rust and Python 3.10+. Review tool schema design and security boundaries. The caller application supplies identity; the model proposes an operation.
python3 scripts/project_test.py tool-call-firewall \
--init learning-artifacts/tool-call-firewall
python3 scripts/project_test.py tool-call-firewall \
--stage 1 --path learning-artifacts/tool-call-firewall --strict
python3 scripts/project_test.py tool-call-firewall \
--all --path learning-artifacts/tool-call-firewall --strict
Keep: an audit receipt showing the requested operation and the policy decision. Approvals are single-use within one invocation; this project does not provide persistent authorization or an operating-system sandbox.
Start the project · Inspect the reference · Explore approval boundaries
Browse all projects · Career practice guide
Choose how to learn
On the website
Open any completed lesson on aiengineeringfromscratch.com or expand a phase under Contents. No setup, no cloning.
With an AI tutor
If Node.js, npx, and a skill-capable coding agent are already installed, your coding agent can become your tutor. 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.
npx skills add rohitg00/ai-engineering-from-scratch
Choose the host and scope when the installer asks. Use start-learning in Codex, /start-learning in Claude Code, or ask your host to use the skill by name.
Tutor setup and host commands
Check the local requirements first:
node --version
npx --version
python3 --version
skills writes to the host and scope selected during installation, such as
.claude/skills/, .cursor/skills/, .codex/skills/, or another supported
skills folder. Verify that the selected host discovers that exact destination.
Invocation 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.
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 |
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. |
Run local code
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
The preflight separates requirements needed now from tools needed later. Every
required failure includes the detected reason and a corrective command. The
vectors.py 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.
Use every lesson the same way
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.
Choose a learning path
You do not need to scan 528 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 |
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.
Focused MCP and Agent Skills paths
| Your goal | Learn on GitHub | Learn on the website |
|---|---|---|
| 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 |
Prerequisites and study time
Prerequisites
- You can write code (any language; Python helps).
- You want to understand how AI actually works, not just call APIs.
Where to start
| Background | Start at | Estimated time |
|---|---|---|
| New to programming and AI | Phase 0 — Setup | ~306 hours |
| Know Python, new to ML | Phase 1 — Math Foundations | ~270 hours |
| Know ML, new to deep learning | Phase 3 — Deep Learning Core | ~200 hours |
| Know deep learning, want LLMs and agents | Phase 10 — LLMs from Scratch | ~100 hours |
| Senior engineer, only want agent engineering | Phase 14 — Agent Engineering | ~60 hours |
| Only want to build production MCP systems | Model Context Protocol (MCP) path | ~23 hours 15 min |
| Only want to build production Agent Skills | Agent Skills Engineering path | ~9.5 hours |
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
Contents
Twenty phases. Click any phase to expand its lesson list.
Phase 0: Setup & Tooling 13 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 |
| 13 | Python for AI Engineering | Build | Python |
Phase 1 — Math Foundations 22 lessons The intuition behind every AI algorithm, through code.
Phase 2 — ML Fundamentals 21 lessons Classical ML — still the backbone of most production AI.
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 31 lessons The interfaces between AI and the real world.
Lessons 06-18 and 28-31 form the focused
Model Context Protocol (MCP) path. Its manifest order
is 06, 07, 08, 09, 10, 11, 12, 13, 14, 15, 16, 18, 17, 28, 29, 30, 31. Start
it with the host-specific learn-mcp invocation above. Lesson 23
is its only optional capstone and also requires Lessons 19 and 20.
Lessons 22 and 24-27 form the focused
Agent Skills learning path, from package
contract through real-host release gates. Start it with the host-specific
learn-agent-skills invocation shown above; do not follow numeric next
navigation from 22 to 23.
Phase 14 — Agent Engineering 54 lessons Build agents from first principles, use coding agents reliably, and shape the work before implementation.
Each Phase 14 workbench lesson (31-42) ships a mission.md briefing the agent before it opens the full lesson docs.
Lessons 31-46 form the Agent-Assisted Engineering path. Its manifest order combines the workbench foundation with task framing, planning, delegation, and durable feedback. Lessons 47-54 form the Product Judgment and Delivery path, from outcome framing through evidence, risk, scope, measurement, staged release, and feedback ownership.
Phase 15 — Autonomous Systems 22 lessons Long-horizon agents, self-improvement, and the 2026 safety stack.
Phase 16 — Multi-Agent & Swarms 25 lessons Coordination, emergence, and collective intelligence.
Phase 17 — Infrastructure & Production 29 lessons Ship AI to the real world.
Phase 18 — Ethics, Safety & Alignment 30 lessons Build AI that helps humanity. Not optional.
Phase 19 — Capstone Projects 85 lessons 17 end-to-end products + 9 deep-build tracks. 20-40 hours per project; 4-12 lessons per track.
Deep-build tracks — multi-lesson series that build a complete subsystem from scratch.
Books and certifications
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.
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 MCP Associate (MCPA)
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 toolkit
Every lesson produces a reusable artifact. Install one in your agent or use the scripts below from the repository root.
Lesson structure and reusable artifacts
The shape of a lesson
Each lesson lives in its own folder, with the same structure across the entire curriculum:
phases/-/-/
├── 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
one-line core idea"] --> Pr["PROBLEM
concrete pain"]
Pr --> C["CONCEPT
diagrams & intuition"]
C --> B["BUILD IT
raw math, no frameworks"]
B --> U["USE IT
same thing in PyTorch / sklearn"]
U --> S["SHIP IT
prompt · skill · agent · MCP"]
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 lesson artifacts
The lesson artifacts. The repo ships 400 skills and 100 prompts under
phases/**/outputs/; install them via scripts/install_skills.py. Requires
cloning the repo. Supports tag filters, dry-runs, and per-agent layouts:
python3 scripts/install_skills.py # every skill, default --layout skills (nested)
python3 scripts/install_skills.py --layout skills # same as above, explicit
python3 scripts/install_skills.py --type all # skills + prompts + agents
python3 scripts/install_skills.py --phase 14 # one phase only
python3 scripts/install_skills.py --tag rag # filter by tag
python3 scripts/install_skills.py --layout flat # flat files
python3 scripts/install_skills.py --dry-run # preview without writing
python3 scripts/install_skills.py --force # overwrite existing files
`` is the skills directory for your agent (examples:
~/.claude/skills/, ~/.cursor/skills/, ~/.config/openclaw/skills/,
.skills/, or any path your agent reads).
By default the script refuses to overwrite an existing destination and exits
with code 1 after listing every colliding path. Use --dry-run to preview
collisions or --force to overwrite. Every non-dry-run run writes a
manifest.json in the target with the full inventory grouped by type and
phase. Pick the layout your agent reads:
--layout |
Path written |
|---|---|
skills |
//SKILL.md (nested convention, supported by Claude / Cursor / Codex / OpenClaw / Hermes) |
by-phase |
/phase-NN/.md |
flat |
/.md |
Drop the agent workbench into your own repo
The Phase 14 capstone ships a reusable Agent Workbench pack (AGENTS.md, schemas, init / verify / handoff scripts). Scaffold it into any repo with:
python3 scripts/scaffold_workbench.py path/to/your-repo # full pack + seeds
python3 scripts/scaffold_workbench.py path/to/your-repo --minimal # skip docs/
python3 scripts/scaffold_workbench.py path/to/your-repo --dry-run # preview only
python3 scripts/scaffold_workbench.py path/to/your-repo --force # overwrite
You get the seven workbench surfaces wired up, a starter task_board.json,
and a fresh agent_state.json at schema_version: 1. From there: edit the
task, edit AGENTS.md, run scripts/init_agent.py, hand the contract to
your agent. The pack source lives at
phases/14-agent-engineering/42-agent-workbench-capstone/outputs/agent-workbench-pack/.
Browse the entire course as JSON
scripts/build_catalog.py walks every phase, every lesson, every artifact on
disk and writes catalog.json at the repo root. One file, every course truth.
python3 scripts/build_catalog.py # writes /catalog.json
python3 scripts/build_catalog.py --stdout # to stdout, do not touch repo
python3 scripts/build_catalog.py --out path/to/file.json
The catalog is filesystem-derived, not README-derived, so counts always match what is actually on disk. Use it for site builds, downstream tooling, or to verify the README counts have not drifted. Schema is documented at the top of the script.
The curriculum workflow builds catalog.json as an ephemeral, gitignored
artifact. Do not commit it. The same workflow runs audit_lessons.py as a
blocking check.
Smoke-check every lesson's Python code
scripts/lesson_run.py byte-compiles every .py file under each lesson's
code/ directory. Default mode is syntax-check only — no execution, no API
keys, no heavy ML deps required. Catches the regressions contributors
introduce most often (bad indentation, broken f-strings, stray edits).
python3 scripts/lesson_run.py # syntax-check the whole curriculum
python3 scripts/lesson_run.py --phase 14 # one phase only
python3 scripts/lesson_run.py --json # JSON report on stdout
python3 scripts/lesson_run.py --strict # exit 1 if any lesson fails
python3 scripts/lesson_run.py --execute # actually run, 10s timeout per lesson
--execute runs each lesson's code/main.py (or the first .py file) with a
10-second timeout. Lessons whose entry file starts with a # requires: pkg1, pkg2 comment listing non-stdlib deps are skipped with reason needs .
The script is opt-in and not wired into CI.
Stdlib only, Python 3.10+. Set LINK_CHECK_SKIP=domain1,domain2 to override
the default skip-list (twitter.com, x.com, linkedin.com,
instagram.com, medium.com — domains that aggressively block automated
HEAD/GET).
Foundational papers and protocols
- Attention Is All You Need — Vaswani et al., 2017 → Phase 7
- Language Models are Few-Shot Learners (GPT-3) → Phase 10
- Denoising Diffusion Probabilistic Models → Phase 8
- InstructGPT / RLHF → Phase 10
- Direct Preference Optimization → Phase 10
- Chain-of-Thought Prompting → Phase 11
- ReAct: Reasoning + Acting in LLMs → Phase 14
- Model Context Protocol — Anthropic → Phase 13
Contributing
| Goal | Read |
|---|---|
| Contribute a lesson or fix | CONTRIBUTING.md |
| Fork for your team or school | FORKING.md |
| Lesson template | LESSON_TEMPLATE.md |
| Track progress | ROADMAP.md |
| Glossary | glossary/terms.md |
| Code of conduct | CODE_OF_CONDUCT.md |
Before submitting a lesson, run the invariant check:
python3 scripts/audit_lessons.py # full curriculum
python3 scripts/audit_lessons.py --phase 14 # single phase
python3 scripts/audit_lessons.py --json # CI-friendly output
Exit code is non-zero when any rule fails. Rules (L001–L010) validate directory
shape, docs/en.md presence + H1, code/ non-emptiness, quiz.json schema
(rejects the legacy q/choices/answer keys that caused issue #102), and
relative links inside lesson docs.
Sponsor the work
114,584 readers · 181,995 page views in the last 30 days · as of 2026-08-29
Free, MIT-licensed, 528 lessons. Thank you to the sponsors and backers who make the work possible. See all sponsors and backers.
Want to support the work? See sponsorship options, including hardware sponsorships, or sponsor on GitHub.
If this manual helped you, star the repo. It keeps the project alive.
License
MIT. Use it however you want — fork it, teach it, sell it, ship it. Attribution appreciated, not required.
Maintained by Rohit Ghumare and the community.
@ghumare64 · aiengineeringfromscratch.com · Report / Suggest


