0

rohitg00/ai-engineering-from-scratch

View on GitHub

Learn it. Build it. Ship it for others.

51,8278,976Pythonagentsaiai-agentsai-engineeringcomputer-visioncoursedeep-learningfrom-scratchgenerative-aillmmachine-learningmcpnlppythonreinforcement-learningrustswarm-intelligencetransformerstutorialtypescriptUpdated 3d ago
README

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.

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 |

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.

Use every lesson the same way

  1. Read docs/en.md and explain the core idea in your own words.
  2. Type and build the important code instead of treating the code block as decoration.
  3. Run the lesson command from the repository root, the directory containing README.md and phases/.
  4. Keep evidence: the command, working directory, exit code, meaningful output, and the artifact you changed or produced.
  5. 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.py

The 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 --version

Then 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-scratch

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.

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 &amp; 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-scratch

Use 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.py

Cloning 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.

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. | | 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.

code/agent_loop.py   build it

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

outputs/skill-agent-loop.md   ship it

---
name: agent-loop
description: ReAct-style loop for any tool list
phase: 14
lesson: 01
---

Implement a minimal agent loop that...

outputs/prompt-debug-agent.md

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 |

| # | Lesson | Type | Lang | |:---:|--------|:----:|------| | 01 | Linear Algebra Intuition | Learn | Python, Julia | | 02 | Vectors, Matrices & Operations | Build | Python, Julia | | 03 | Matrix Transformations & Eigenvalues | Build | Python, Julia | | 04 | Calculus for ML: Derivatives & Gradients | Learn | Python | | 05 | Chain Rule & Automatic Differentiation | Build | Python | | 06 | Probability & Distributions | Learn | Python | | 07 | Bayes' Theorem & Statistical Thinking | Build | Python | | 08 | Optimization: Gradient Descent Family | Build | Python | | 09 | Information Theory: Entropy, KL Divergence | Learn | Python | | 10 | Dimensionality Reduction: PCA, t-SNE, UMAP | Build | Python | | 11 | Singular Value Decomposition | Build | Python, Julia | | 12 | Tensor Operations | Build | Python | | 13 | Numerical Stability | Build | Python | | 14 | Norms & Distances | Build | Python | | 15 | Statistics for ML | Build | Python | | 16 | Sampling Methods | Build | Python | | 17 | Linear Systems | Build | Python | | 18 | Convex Optimization | Build | Python | | 19 | Complex Numbers for AI | Learn | Python | | 20 | The Fourier Transform | Build | Python | | 21 | Graph Theory for ML | Build | Python | | 22 | Stochastic Processes | Learn | Python |

| # | 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 |

| # | 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 |

| # | Lesson | Type | Lang | |:---:|--------|:----:|------| | 01 | Image Fundamentals: Pixels, Channels, Color Spaces | Learn | Python | | 02 | Convolutions from Scratch | Build | Python | | 03 | CNNs: LeNet to ResNet | Build | Python | | 04 | Image Classification | Build | Python | | 05 | Transfer Learning & Fine-Tuning | Build | Python | | 06 | Object Detection — YOLO from Scratch | Build | Python | | 07 | Semantic Segmentation — U-Net | Build | Python | | 08 | Instance Segmentation — Mask R-CNN | Build | Python | | 09 | Image Generation — GANs | Build | Python | | 10 | Image Generation — Diffusion Models | Build | Python | | 11 | Stable Diffusion — Architecture & Fine-Tuning | Build | Python | | 12 | Video Understanding — Temporal Modeling | Build | Python | | 13 | 3D Vision: Point Clouds, NeRFs | Build | Python | | 14 | Vision Transformers (ViT) | Build | Python | | 15 | Real-Time Vision: Edge Deployment | Build | Python | | 16 | Build a Complete Vision Pipeline | Build | Python | | 17 | Self-Supervised Vision — SimCLR, DINO, MAE | Build | Python | | 18 | Open-Vocabulary Vision — CLIP | Build | Python | | 19 | OCR & Document Understanding | Build | Python | | 20 | Image Retrieval & Metric Learning | Build | Python | | 21 | Keypoint Detection & Pose Estimation | Build | Python | | 22 | 3D Gaussian Splatting from Scratch | Build | Python | | 23 | Diffusion Transformers & Rectified Flow | Build | Python | | 24 | SAM 3 & Open-Vocabulary Segmentation | Build | Python | | 25 | Vision-Language Models (ViT-MLP-LLM) | Build | Python | | 26 | Monocular Depth & Geometry Estimation | Build | Python | | 27 | Multi-Object Tracking & Video Memory | Build | Python | | 28 | World Models & Video Diffusion | Build | Python |

| # | Lesson | Type | Lang | |:---:|--------|:----:|------| | 01 | Text Processing: Tokenization, Stemming, Lemmatization | Build | Python | | 02 | Bag of Words, TF-IDF & Text Representation | Build | Python | | 03 | Word Embeddings: Word2Vec from Scratch | Build | Python | | 04 | GloVe, FastText & Subword Embeddings | Build | Python | | 05 | Sentiment Analysis | Build | Python | | 06 | Named Entity Recognition (NER) | Build | Python | | 07 | POS Tagging & Syntactic Parsing | Build | Python | | 08 | Text Classification — CNNs & RNNs for Text | Build | Python | | 09 | Sequence-to-Sequence Models | Build | Python | | 10 | Attention Mechanism — The Breakthrough | Build | Python | | 11 | Machine Translation | Build | Python | | 12 | Text Summarization | Build | Python | | 13 | Question Answering Systems | Build | Python | | 14 | Information Retrieval & Search | Build | Python | | 15 | Topic Modeling: LDA, BERTopic | Build | Python | | 16 | Text Generation | Build | Python | | 17 | Chatbots: Rule-Based to Neural | Build | Python | | 18 | Multilingual NLP | Build | Python | | 19 | Subword Tokenization: BPE, WordPiece, Unigram, SentencePiece | Learn | Python | | 20 | Structured Outputs & Constrained Decoding | Build | Python | | 21 | NLI & Textual Entailment | Learn | Python | | 22 | Embedding Models Deep Dive | Learn | Python | | 23 | Chunking Strategies for RAG | Build | Python | | 24 | Coreference Resolution | Learn | Python | | 25 | Entity Linking & Disambiguation | Build | Python | | 26 | Relation Extraction & Knowledge Graph Construction | Build | Python | | 27 | LLM Evaluation: RAGAS, DeepEval, G-Eval | Build | Python | | 28 | Long-Context Evaluation: NIAH, RULER, LongBench, MRCR | Learn | Python | | 29 | Dialogue State Tracking | Build | Python |

| # | 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 |

| # | 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 |

| # | 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 |

| # | 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 |

| # | Lesson | Type | Lang | |:---:|--------|:----:|------| | 01 | Tokenizers: BPE, WordPiece, SentencePiece | Build | Python, Rust | | 02 | Building a Tokenizer from Scratch | Build | Python | | 03 | Data Pipelines for Pre-Training | Build | Python | | 04 | Pre-Training a Mini GPT (124M) | Build | Python | | 05 | Distributed Training, FSDP, DeepSpeed | Build | Python | | 06 | Instruction Tuning — SFT | Build | Python | | 07 | RLHF — Reward Model + PPO | Build | Python | | 08 | DPO — Direct Preference Optimization | Build | Python | | 09 | Constitutional AI & Self-Improvement | Build | Python | | 10 | Evaluation — Benchmarks, Evals | Build | Python | | 11 | Quantization: INT8, GPTQ, AWQ, GGUF | Build | Python | | 12 | Inference Optimization | Build | Python | | 13 | Building a Complete LLM Pipeline | Build | Python | | 14 | Open Models: Architecture Walkthroughs | Learn | Python | | 15 | Speculative Decoding and EAGLE-3 | Build | Python | | 16 | Differential Attention (V2) | Build | Python | | 17 | Native Sparse Attention (DeepSeek NSA) | Build | Python | | 18 | Multi-Token Prediction (MTP) | Build | Python | | 19 | DualPipe Parallelism | Learn | Python | | 20 | DeepSeek-V3 Architecture Walkthrough | Learn | Python | | 21 | Jamba — Hybrid SSM-Transformer | Learn | Python | | 22 | Async and Hogwild! Inference | Build | Python | | 25 | Speculative Decoding and EAGLE | Build | Python | | 34 | Gradient Checkpointing and Activation Recomputation | Build | Python |

| # | 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 |

| # | Lesson | Type | Lang | |:---:|--------|:----:|------| | 01 | Vision Transformers and the Patch-Token Primitive | Learn | Python | | 02 | CLIP and Contrastive Vision-Language Pretraining | Build | Python | | 03 | BLIP-2 Q-Former as Modality Bridge | Build | Python | | 04 | Flamingo and Gated Cross-Attention | Learn | Python | | 05 | LLaVA and Visual Instruction Tuning | Build | Python | | 06 | Any-Resolution Vision — Patch-n'-Pack and NaFlex | Build | Python | | 07 | Open-Weight VLM Recipes: What Actually Matters | Learn | Python | | 08 | LLaVA-OneVision: Single, Multi, Video | Build | Python | | 09 | Qwen-VL Family and Dynamic-FPS Video | Learn | Python | | 10 | InternVL3 Native Multimodal Pretraining | Learn | Python | | 11 | Chameleon Early-Fusion Token-Only | Build | Python | | 12 | Emu3 Next-Token Prediction for Generation | Learn | Python | | 13 | Transfusion Autoregressive + Diffusion | Build | Python | | 14 | Show-o Discrete-Diffusion Unified | Learn | Python | | 15 | Janus-Pro Decoupled Encoders | Build | Python | | 16 | MIO Any-to-Any Streaming | Learn | Python | | 17 | Video-Language Temporal Grounding | Build | Python | | 18 | Long-Video at Million-Token Context | Build | Python | | 19 | Audio-Language Models: Whisper to AF3 | Build | Python | | 20 | Omni Models: Thinker-Talker Streaming | Build | Python | | 21 | Embodied VLAs: RT-2, OpenVLA, π0, GR00T | Learn | Python | | 22 | Document and Diagram Understanding | Build | Python | | 23 | ColPali Vision-Native Document RAG | Build | Python | | 24 | Multimodal RAG and Cross-Modal Retrieval | Build | Python | | 25 | Multimodal Agents and Computer-Use (Capstone) | Build | Python |

| # | 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: Stateless Requests and JSON-RPC | Learn | Python | | 07 | Building an MCP Server: Stateless Python and TypeScript | Build | Python, TypeScript | | 08 | Building an MCP Client: Discovery, Routing, and Dual-Era Fallback | Build | Python | | 09 | MCP Transports: stdio and Stateless Streamable HTTP | Learn | Python | | 10 | MCP Resources and Prompts: Addressable Context for Stateless Servers | Build | Python | | 11 | MCP Model Input: Sampling Migration and Stateless MRTR | Build | Python | | 12 | Explicit Scope and Stateless Elicitation | Build | Python | | 13 | MCP Tasks Extension: Durable Work on a Stateless Core | Build | Python | | 14 | MCP Apps on the Stateless Protocol | Build | Python | | 15 | MCP Security: Poisoned Metadata, Routing, and MRTR State | Learn | Python | | 16 | MCP Authorization: CIMD, Issuer Binding, PKCE, and Step-Up | Build | Python | | 17 | Stateless MCP Gateways and Registry Admission | Learn | Python | | 18 | MCP Auth in Production: Issuer-Bound Enrollment and Tokens | Build | Python | | 19 | A2A Protocol | Build | Python | | 20 | OpenTelemetry GenAI | Build | Python | | 21 | LLM Routing Layer | Learn | Python | | 22 | Agent Skills: Portable Contract and Runtime Boundary | Build | Python | | 23 | Capstone: Stateless Tool Ecosystem | Build | Python | | 24 | Skill Discovery and Progressive Disclosure | Build | Python | | 25 | Skill Invocation and Routing | Build | Python | | 26 | Skill Permissions, Sandboxes, and Trust | Build | Python | | 27 | Skill Evals, Packaging, and Portability | Build | Python | | 28 | MCP Tool Contracts and Content | Build | Python | | 29 | MCP Reliability, Cancellation, and Flow Control | Build | Python | | 30 | MCP Registry Supply Chain: Admission, Drift, and Rollback | Build | Python | | 31 | MCP Conformance Engineering: Versioning, Evidence, and Operations | Build | Python |

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.

| # | Lesson | Type | Lang | |:---:|--------|:----:|------| | 01 | The Agent Loop | Build | Python | | 02 | ReWOO and Plan-and-Execute | Build | Python | | 03 | Reflexion and Verbal Reinforcement Learning | Build | Python | | 04 | Tree of Thoughts and LATS | Build | Python | | 05 | Self-Refine and CRITIC | Build | Python | | 06 | Tool Use and Function Calling | Build | Python | | 07 | Agent Memory — Virtual Context and Memory Paging | Build | Python | | 08 | Memory Blocks and Sleep-Time Compute | Build | Python | | 09 | Hybrid Memory — Vector + Graph + KV | Build | Python | | 10 | Skill Libraries and Lifelong Learning (Voyager) | Build | Python | | 11 | Planning with HTN and Evolutionary Search | Build | Python | | 12 | Anthropic's Workflow Patterns | Build | Python | | 13 | Stateful Graph Orchestration — Durable Execution and Checkpoints | Build | Python | | 14 | The Actor Model for Agents | Build | Python | | 15 | Role-Based Agent Teams — Roles, Tasks, Processes | Build | Python | | 16 | OpenAI Agents SDK — Handoffs, Guardrails, Tracing | Build | Python | | 17 | The Harness as a Library — Subagents and Session Store | Build | Python | | 18 | Production Agent Runtimes | Learn | Python | | 19 | Benchmarks — SWE-bench, GAIA, AgentBench | Learn | Python | | 20 | Benchmarks — WebArena and OSWorld | Learn | Python | | 21 | Computer Use — Claude, OpenAI CUA, Gemini | Build | Python | | 22 | Voice Agents — Pipecat and LiveKit | Build | Python | | 23 | OpenTelemetry GenAI Semantic Conventions | Build | Python | | 24 | Agent Observability — Langfuse, Phoenix, Opik | Learn | Python | | 25 | Multi-Agent Debate and Collaboration | Build | Python | | 26 | Failure Modes — Why Agents Break | Build | Python | | 27 | Prompt Injection and the PVE Defense | Build | Python | | 28 | Orchestration Patterns — Supervisor, Swarm, Hierarchical | Build | Python | | 29 | Production Runtimes — Queue, Event, Cron | Learn | Python | | 30 | Eval-Driven Agent Development | Build | Python | | 31 | Agent Workbench: Why Capable Models Still Fail | Learn | Python | | 32 | The Minimal Agent Workbench | Build | Python | | 33 | Agent Instructions as Executable Constraints | Build | Python | | 34 | Repo Memory and Durable State | Build | Python | | 35 | Initialization Scripts for Agents | Build | Python | | 36 | Scope Contracts and Task Boundaries | Build | Python | | 37 | Runtime Feedback Loops | Build | Python | | 38 | Verification Gates | Build | Python | | 39 | Reviewer Agent: Separate Builder from Marker | Build | Python | | 40 | Multi-Session Handoff | Build | Python | | 41 | The Workbench on a Real Repo | Build | Python | | 42 | Capstone: Ship a Reusable Agent Workbench Pack | Build | Python | | 43 | Frame the Task Before the Agent Writes Code | Build | Python | | 44 | Build an Evidence-Backed Execution Plan | Build | Python | | 45 | Delegate Agent Work with Isolation and Merge Contracts | Build | Python | | 46 | Turn Every Agent Correction into a System Improvement | Build | Python | | 47 | Define the Outcome Before You Choose the Output | Build | Python | | 48 | Discover the Workflow People Actually Perform | Build | Python | | 49 | Map Assumptions and Resolve the Riskiest One First | Build | Python | | 50 | Choose the Smallest Slice That Can Change the Decision | Build | Python | | 51 | Write Specifications That Preserve Judgment | Build | Python | | 52 | Design Success Metrics Before the Result Exists | Build | Python | | 53 | Choose Prototype, Pilot, or Production Deliberately | Build | Python | | 54 | Build a Feedback Ratchet with Ownership and Retirement | Build | Python |

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.

| # | Lesson | Type | Lang | |:---:|--------|:----:|------| | 01 | From Chatbots to Long-Horizon Agents (METR) | Learn | Python | | 02 | STaR, V-STaR, Quiet-STaR: Self-Taught Reasoning | Learn | Python | | 03 | AlphaEvolve: Evolutionary Coding Agents | Learn | Python | | 04 | Darwin Gödel Machine: Self-Modifying Agents | Learn | Python | | 05 | AI Scientist v2: Workshop-Level Research | Learn | Python | | 06 | Automated Alignment Research (Anthropic AAR) | Learn | Python | | 07 | Recursive Self-Improvement: Capability vs Alignment | Learn | Python | | 08 | Bounded Self-Improvement Designs | Learn | Python | | 09 | Autonomous Coding Agent Landscape (SWE-bench, CodeAct) | Learn | Python | | 10 | Permission Modes for Autonomous Agents | Learn | Python | | 11 | Browser Agents and Indirect Prompt Injection | Learn | Python | | 12 | Durable Execution for Long-Running Agents | Learn | Python | | 13 | Action Budgets, Iteration Caps, Cost Governors | Learn | Python | | 14 | Kill Switches, Circuit Breakers, Canary Tokens | Learn | Python | | 15 | HITL: Propose-Then-Commit | Learn | Python | | 16 | Checkpoints and Rollback | Learn | Python | | 17 | Constitutional AI and Rule Overrides | Learn | Python | | 18 | Llama Guard and Input/Output Classification | Learn | Python | | 19 | Anthropic Responsible Scaling Policy v3.0 | Learn | Python | | 20 | OpenAI Preparedness Framework and DeepMind FSF | Learn | Python | | 21 | METR Time Horizons and External Evaluation | Learn | Python | | 22 | CAIS, CAISI, and Societal-Scale Risk | Learn | Python |

| # | Lesson | Type | Lang | |:---:|--------|:----:|------| | 01 | Why Multi-Agent | Learn | TypeScript | | 02 | FIPA-ACL Heritage and Speech Acts | Learn | Python | | 03 | Communication Protocols | Build | TypeScript | | 04 | The Multi-Agent Primitive Model | Learn | Python | | 05 | Supervisor / Orchestrator-Worker Pattern | Build | Python | | 06 | Hierarchical Architecture and Decomposition Drift | Learn | Python | | 07 | Society of Mind and Multi-Agent Debate | Build | Python | | 08 | Role Specialization — Planner / Critic / Executor / Verifier | Build | Python | | 09 | Parallel Swarm and Networked Architectures | Build | Python | | 10 | Group Chat and Speaker Selection | Build | Python | | 11 | Handoffs and Routines (Stateless Orchestration) | Build | Python | | 12 | A2A — The Agent-to-Agent Protocol | Build | Python | | 13 | Shared Memory and Blackboard Patterns | Build | Python | | 14 | Consensus and Byzantine Fault Tolerance | Build | Python | | 15 | Voting, Self-Consistency, and Debate Topology | Build | Python | | 16 | Negotiation and Bargaining | Build | Python | | 17 | Generative Agents and Emergent Simulation | Build | Python | | 18 | Theory of Mind and Emergent Coordination | Build | Python | | 19 | Swarm Optimization (PSO, ACO) | Build | Python | | 20 | MARL — MADDPG, QMIX, MAPPO | Learn | Python | | 21 | Agent Economies, Token Incentives, Reputation | Learn | Python | | 22 | Production Scaling — Queues, Checkpoints, Durability | Build | Python | | 23 | Failure Modes — MAST, Groupthink, Monoculture | Learn | Python | | 24 | Evaluation and Coordination Benchmarks | Learn | Python | | 25 | Case Studies and 2026 State of the Art | Learn | Python |

| # | Lesson | Type | Lang | |:---:|--------|:----:|------| | 01 | Managed LLM Platforms — Bedrock, Azure OpenAI, Vertex AI | Learn | Python | | 02 | Inference Platform Economics — Fireworks, Together, Baseten, Modal | Learn | Python | | 03 | GPU Autoscaling on Kubernetes — Karpenter, KAI Scheduler | Learn | Python | | 04 | Serving Engine Internals — PagedAttention, Continuous Batching, Chunked Prefill | Learn | Python | | 05 | EAGLE-3 Speculative Decoding in Production | Learn | Python | | 06 | Prefix-Cache Serving — RadixAttention and KV Reuse | Learn | Python | | 07 | Hardware-Specialized Inference Compilation — FP8 and NVFP4 on Blackwell | Learn | Python | | 08 | Inference Metrics — TTFT, TPOT, ITL, Goodput, P99 | Learn | Python | | 09 | Production Quantization — AWQ, GPTQ, GGUF, FP8, NVFP4 | Learn | Python | | 10 | Cold Start Mitigation for Serverless LLMs | Learn | Python | | 11 | Multi-Region LLM Serving and KV Cache Locality | Learn | Python | | 12 | Edge Inference — ANE, Hexagon, WebGPU, Jetson | Learn | Python | | 13 | LLM Observability Stack Selection | Learn | Python | | 14 | Prompt Caching and Semantic Caching Economics | Learn | Python | | 15 | Batch APIs — the 50% Discount as Industry Standard | Learn | Python | | 16 | Model Routing as a Cost-Reduction Primitive | Learn | Python | | 17 | Disaggregated Prefill/Decode — NVIDIA Dynamo and llm-d | Learn | Python | | 18 | Production Serving Stack — KV Offloading and Cache-Aware Routing | Learn | Python | | 19 | AI Gateways — LiteLLM, Portkey, Kong, Bifrost | Learn | Python | | 20 | Shadow, Canary, and Progressive Deployment | Learn | Python | | 21 | A/B Testing LLM Features — GrowthBook and Statsig | Learn | Python | | 22 | Load Testing LLM APIs — k6, LLMPerf, GenAI-Perf | Build | Python | | 23 | SRE for AI — Multi-Agent Incident Response | Learn | Python | | 24 | Chaos Engineering for LLM Production | Learn | Python | | 25 | Security — Secrets, PII Scrubbing, Audit Logs | Learn | Python | | 26 | Compliance — SOC 2, HIPAA, GDPR, EU AI Act, ISO 42001 | Learn | Python | | 27 | FinOps for LLMs — Unit Economics and Multi-Tenant Attribution | Learn | Python | | 28 | Self-Hosted Serving Selection — Matching Engine to Hardware and Scale | Learn | Python |

| # | Lesson | Type | Lang | |:---:|--------|:----:|------| | 01 | Instruction-Following as Alignment Signal | Learn | Python | | 02 | Reward Hacking & Goodhart's Law | Learn | Python | | 03 | Direct Preference Optimization Family | Learn | Python | | 04 | Sycophancy as RLHF Amplification | Learn | Python | | 05 | Constitutional AI & RLAIF | Learn | Python | | 06 | Mesa-Optimization & Deceptive Alignment | Learn | Python | | 07 | Sleeper Agents — Persistent Deception | Learn | Python | | 08 | In-Context Scheming in Frontier Models | Learn | Python | | 09 | Alignment Faking | Learn | Python | | 10 | AI Control — Safety Despite Subversion | Learn | Python | | 11 | Scalable Oversight & Weak-to-Strong | Learn | Python | | 12 | Red-Teaming: PAIR & Automated Attacks | Build | Python | | 13 | Many-Shot Jailbreaking | Learn | Python | | 14 | ASCII Art & Visual Jailbreaks | Build | Python | | 15 | Indirect Prompt Injection | Build | Python | | 16 | Red-Team Tooling: Garak, Llama Guard, PyRIT | Build | Python | | 17 | WMDP & Dual-Use Capability Evaluation | Learn | Python | | 18 | Frontier Safety Frameworks — RSP, PF, FSF | Learn | Python | | 19 | Model Welfare Research | Learn | Python | | 20 | Bias & Representational Harm | Build | Python | | 21 | Fairness Criteria: Group, Individual, Counterfactual | Learn | Python | | 22 | Differential Privacy for LLMs | Build | Python | | 23 | Watermarking: SynthID, Stable Signature, C2PA | Build | Python | | 24 | Regulatory Frameworks: EU, US, UK, Korea | Learn | Python | | 25 | EchoLeak & CVEs for AI | Learn | Python | | 26 | Model, System & Dataset Cards | Build | Python | | 27 | Data Provenance & Training-Data Governance | Learn | Python | | 28 | Alignment Research Ecosystem: MATS, Redwood, Apollo, METR | Learn | Python | | 29 | Moderation Systems: OpenAI, Perspective, Llama Guard | Build | Python | | 30 | Dual-Use Risk: Cyber, Bio, Chem, Nuclear | Learn | Python |

| # | Project | Combines | Lang | |:---:|---------|----------|------| | 01 | Terminal-Native Coding Agent | P0 P5 P7 P10 P11 P13 P14 P15 P17 P18 | Python | | 02 | RAG over Codebase (Cross-Repo Semantic Search) | P5 P7 P11 P13 P17 | Python | | 03 | Real-Time Voice Assistant (ASR → LLM → TTS) | P6 P7 P11 P13 P14 P17 | Python | | 04 | Multimodal Document QA (Vision-First) | P4 P5 P7 P11 P12 P17 | Python | | 05 | Autonomous Research Agent (AI-Scientist Class) | P0 P2 P3 P7 P10 P14 P15 P16 P18 | Python | | 06 | DevOps Troubleshooting Agent for Kubernetes | P11 P13 P14 P15 P17 P18 | Python | | 07 | End-to-End Fine-Tuning Pipeline | P2 P3 P7 P10 P11 P17 P18 | Python | | 08 | Production RAG Chatbot (Regulated Vertical) | P5 P7 P11 P12 P17 P18 | Python | | 09 | Code Migration Agent (Repo-Level Upgrade) | P5 P7 P11 P13 P14 P15 P17 | Python | | 10 | Multi-Agent Software Engineering Team | P11 P13 P14 P15 P16 P17 | Python | | 11 | LLM Observability & Eval Dashboard | P11 P13 P17 P18 | Python | | 12 | Video Understanding Pipeline (Scene → QA) | P4 P6 P7 P11 P12 P17 | Python | | 13 | Stateless MCP Server with Registry and Governance | P11 P13 P14 P17 P18 | Python | | 14 | Speculative-Decoding Inference Server | P3 P7 P10 P17 | Python | | 15 | Constitutional Safety Harness + Red-Team Range | P10 P11 P13 P14 P18 | Python | | 16 | GitHub Issue-to-PR Autonomous Agent | P11 P13 P14 P15 P17 | Python | | 17 | Personal AI Tutor (Adaptive, Multimodal) | P5 P6 P11 P12 P14 P17 P18 | Python |

Deep-build tracks — multi-lesson series that build a complete subsystem from scratch.

| # | Project | Combines | Lang | |:---:|---------|----------|------| | 20 | Agent Harness Loop Contract | A. Agent harness | Python | | 21 | Tool Registry with Schema Validation | A. Agent harness | Python | | 22 | JSON-RPC 2.0 Over Newline-Delimited Stdio | A. Agent harness | Python | | 23 | Function Call Dispatcher | A. Agent harness | Python | | 24 | Plan-Execute Control Flow | A. Agent harness | Python | | 25 | Verification Gates and Observation Budget | A. Agent harness | Python | | 26 | Sandbox Runner with Denylist and Path Jail | A. Agent harness | Python | | 27 | Eval Harness with Fixture Tasks | A. Agent harness | Python | | 28 | Observability with OTel GenAI Spans and Prometheus Metrics | A. Agent harness | Python | | 29 | End-to-End Coding Agent on the Harness | A. Agent harness | Python | | 30 | BPE Tokenizer From Scratch | B. NLP LLM | Python | | 31 | Tokenized Dataset with Sliding Window | B. NLP LLM | Python | | 32 | Token and Positional Embeddings | B. NLP LLM | Python | | 33 | Multi-Head Self-Attention | B. NLP LLM | Python | | 34 | Transformer Block from Scratch | B. NLP LLM | Python | | 35 | GPT Model Assembly | B. NLP LLM | Python | | 36 | Training Loop and Evaluation | B. NLP LLM | Python | | 37 | Loading Pretrained Weights | B. NLP LLM | Python | | 38 | Classifier Fine-Tuning by Head Swap | B. NLP LLM | Python | | 39 | Instruction Tuning by Supervised Fine-Tuning | B. NLP LLM | Python | | 40 | Direct Preference Optimization from Scratch | B. NLP LLM | Python | | 41 | Full Evaluation Pipeline | B. NLP LLM | Python | | 42 | Large Corpus Downloader | C. Train end-to-end | Python | | 43 | HDF5 Tokenized Corpus | C. Train end-to-end | Python | | 44 | Cosine LR with Linear Warmup | C. Train end-to-end | Python | | 45 | Gradient Clipping and Mixed Precision | C. Train end-to-end | Python | | 46 | Gradient Accumulation | C. Train end-to-end | Python | | 47 | Checkpoint Save and Resume | C. Train end-to-end | Python | | 48 | Distributed Data Parallel and FSDP from Scratch | C. Train end-to-end | Python | | 49 | Language Model Evaluation Harness | C. Train end-to-end | Python | | 50 | Hypothesis Generator | D. Auto research | Python | | 51 | Literature Retrieval | D. Auto research | Python | | 52 | Experiment Runner | D. Auto research | Python | | 53 | Result Evaluator | D. Auto research | Python | | 54 | Paper Writer | D. Auto research | Python | | 55 | Critic Loop | D. Auto research | Python | | 56 | Iteration Scheduler | D. Auto research | Python | | 57 | End-to-End Research Demo | D. Auto research | Python | | 58 | Vision Encoder Patches | E. Multimodal VLM | Python | | 59 | Vision Transformer Encoder | E. Multimodal VLM | Python | | 60 | Projection Layer for Modality Alignment | E. Multimodal VLM | Python | | 61 | Cross-Attention Fusion | E. Multimodal VLM | Python | | 62 | Vision-Language Pretraining | E. Multimodal VLM | Python | | 63 | Multimodal Evaluation | E. Multimodal VLM | Python | | 64 | Chunking Strategies, Compared | F. Advanced RAG | Python | | 65 | Hybrid Retrieval with BM25 and Dense Embeddings | F. Advanced RAG | Python | | 66 | Cross-Encoder Reranker | F. Advanced RAG | Python | | 67 | Query Rewriting: HyDE, Multi-Query, and Decomposition | F. Advanced RAG | Python | | 68 | RAG Evaluation: Precision, Recall, MRR, nDCG, Faithfulness, Answer Relevance | F. Advanced RAG | Python | | 69 | End-to-End RAG System | F. Advanced RAG | Python | | 70 | Task Spec Format | G. Eval framework | Python | | 71 | Classical Metrics | G. Eval framework | Python | | 72 | Code Exec Metric | G. Eval framework | Python | | 73 | Perplexity and Calibration | G. Eval framework | Python | | 74 | Leaderboard Aggregation | G. Eval framework | Python | | 75 | End-to-End Eval Runner | G. Eval framework | Python | | 76 | Collective Ops From Scratch | H. Distributed train | Python | | 77 | Data Parallel DDP From Scratch | H. Distributed train | Python | | 78 | ZeRO Optimizer State Sharding | H. Distributed train | Python | | 79 | Pipeline Parallel and Bubble Analysis | H. Distributed train | Python | | 80 | Sharded Checkpoint and Atomic Resume | H. Distributed train | Python | | 81 | End-to-End Distributed Training | H. Distributed train | Python | | 82 | Jailbreak Taxonomy | I. Safety harness | Python | | 83 | Prompt Injection Detector | I. Safety harness | Python | | 84 | Refusal Evaluation | I. Safety harness | Python | | 85 | Content Classifier Integration | I. Safety harness | Python | | 86 | Constitutional Rules Engine | I. Safety harness | Python, YAML | | 87 | End-to-End Safety Gate | I. Safety harness | Python |

░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒

The toolkit

Every lesson produces a reusable artifact. By the end you have:

outputs/
├── prompts/      prompt templates for every AI task
└── skills/       SKILL.md files for AI coding agents

Plug them into Claude, Cursor, Codex, OpenClaw, Hermes, or any agent that reads a SKILL.md / AGENTS.md directory. Real tools, not homework.

Install course skills into your agent

Two skill sets, two installers:

The learning skills (start-learning, learn, course-guide, learn-mcp, learn-agent-skills, claude-certification, find-your-level, and check-understanding) live under skills/ and install into a supported skill-capable host with one command. Installation needs Node.js and npx, but not a repository clone or Python:

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

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.

The lesson artifacts. The repo ships 396 skills and 99 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 <target>                                 # every skill, default --layout skills (nested)
python3 scripts/install_skills.py <target> --layout skills                 # same as above, explicit
python3 scripts/install_skills.py <target> --type all                      # skills + prompts + agents
python3 scripts/install_skills.py <target> --phase 14                      # one phase only
python3 scripts/install_skills.py <target> --tag rag                       # filter by tag
python3 scripts/install_skills.py <target> --layout flat                   # flat files
python3 scripts/install_skills.py <target> --dry-run                       # preview without writing
python3 scripts/install_skills.py <target> --force                         # overwrite existing files

<target> 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 | <target>/<name>/SKILL.md (nested convention, supported by Claude / Cursor / Codex / OpenClaw / Hermes) | | by-phase | <target>/phase-NN/<name>.md | | flat | <target>/<name>.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 <repo>/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.

A GitHub Action (.github/workflows/curriculum.yml) rebuilds catalog.json on every PR and fails the build if the committed file is stale. After editing any lesson, run python3 scripts/build_catalog.py and commit the result, or CI will reject the PR. The same workflow runs audit_lessons.py in warn-only mode (so existing drift does not block contributors).

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 <deps>. 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).

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 |

░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒

Why this matters now

"The hottest new programming language is English."Andrej Karpathy (tweet)

"Software engineering is being remade in front of our eyes."Boris Cherny, creator of Claude Code

"Models will keep getting better. The skill that compounds is knowing what to build." — Industry consensus, 2026

  • Attention Is All You Need — Vaswani et al., 2017 → Phase 7
  • Language Models are Few-Shot Learners (GPT-3) → Phase 10
  • Denoising Diffusion Probabilistic ModelsPhase 8
  • InstructGPT / RLHFPhase 10
  • Direct Preference OptimizationPhase 10
  • Chain-of-Thought PromptingPhase 11
  • ReAct: Reasoning + Acting in LLMsPhase 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

Free, MIT-licensed, 523 lessons. The curriculum is maintained through cash sponsorships and approved Hardware Lab Partners.

Reach: 114,584 monthly visitors · 181,995 page views (Vercel Web Analytics verified 2026-08-29) · 50,728 GitHub stars (verified 2026-08-29).

Current sponsors

| Sponsor | What they support | |---|---| | CodeRabbit · iii | Current sponsors supporting curriculum maintenance and open-source development. | | Vercel OSS Program | Open-source infrastructure support through the Vercel Open Source Program. |

| Tier | $/mo | What you get | |------|------|---| | Backer | $25 | Name in BACKERS.md | | Bronze | $250 | Text-only row in README sponsor block + launch-day tweet | | Silver | $750 | Small logo in README + listed as one supported provider in API lessons | | Gold | $2,000 | Medium logo in README + sponsor page + quarterly X / LinkedIn co-feature | | Platinum | $5,000 | Hero logo above the fold + one dedicated integration lesson, max 1 partner | | Diamond / Title Partner | $10,000 | Sole title-partner placement + hero logo + quarterly reporting and co-feature, max 1 partner |

Hardware manufacturers can support the course through the separate Hardware Lab Partner policy. Equipment is in-kind support and does not automatically grant a cash sponsorship tier.

Full rate card, hard rules, pricing anchors, and reach data: SPONSORS.md. Sign up via GitHub Sponsors.

░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒

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.

Comments0

No comments yet. Set the tone — say what you would want to know.