AI Engineering From Scratch AI Agent

by rohitg00• 76k•• Scanned•Claim this listing•Request removal
Learning Resourcesagentsaiai agentsai engineeringcomputer vision

Learn AI Engineering! Learn it. Build it. Ship it for others.

AI Engineering From Scratch is an open-source ai agent by rohitg00, written mainly in Python, with 76,160 GitHub stars and the MIT license. Its code was last updated Oct 29, 2026.

<p align="center"> <picture> <source media="(prefers-color-scheme: dark)" srcset="assets/readme/header-dark.svg"> <img src="assets/readme/header-light.svg" alt="AI Engineering from Scratch" width="840"> </picture> </p> <p align="center"> <a href="https://www.star-history.com/rohitg00/ai-engineering-from-scratch"> <picture><source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/badge?repo=rohitg00/ai-engineering-from-scratch&type=rank&theme=dark" /><source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/badge?repo=rohitg00/ai-engineering-from-scratch&type=rank" /><img alt="Star History Rank" src="https://api.star-history.com/badge?repo=rohitg00/ai-engineering-from-scratch&type=rank" /></picture> <picture><source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/badge?repo=rohitg00/ai-engineering-from-scratch&type=trending&theme=dark" /><source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/badge?repo=rohitg00/ai-engineering-from-scratch&type=trending" /><img alt="GitHub Trending Repository of the Day" src="https://api.star-history.com/badge?repo=rohitg00/ai-engineering-from-scratch&type=trending" /></picture> </a> </p>

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.

542 lessons. 20 phases. Python, TypeScript, Rust, Julia, Go.

Turn your coding agent into a tutor with one command:

npx skills add rohitg00/ai-engineering-from-scratch
<p align="center"> <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-1a1a1a?style=flat-square&labelColor=fafaf5" alt="MIT License"></a> <a href="ROADMAP.md"><img src="https://img.shields.io/badge/lessons-542-3553ff?style=flat-square&labelColor=fafaf5" alt="542 lessons"></a> <a href="#contents"><img src="https://img.shields.io/badge/phases-20-3553ff?style=flat-square&labelColor=fafaf5" alt="20 phases"></a> <a href="https://github.com/rohitg00/ai-engineering-from-scratch/stargazers"><img src="https://img.shields.io/github/stars/rohitg00/ai-engineering-from-scratch?style=flat-square&labelColor=fafaf5&color=3553ff" alt="GitHub stars"></a> <a href="https://aiengineeringfromscratch.com"><img src="https://img.shields.io/badge/web-aiengineeringfromscratch.com-3553ff?style=flat-square&labelColor=fafaf5" alt="Website"></a> </p> <details> <summary>Read in your language</summary> <p align="center"> <a href="README.md">🇬🇧 English</a> · <a href="i18n/zh/README.md">🇨🇳 简体中文</a> · <a href="i18n/zh-TW/README.md">🇹🇼 繁體中文(台灣)</a> · <a href="i18n/ja/README.md">🇯🇵 日本語</a> · <a href="i18n/ko/README.md">🇰🇷 한국어</a> · <a href="i18n/pt/README.md">🇵🇹 Português</a> · <a href="i18n/pt-BR/README.md">🇧🇷 Português (Brasil)</a> · <a href="i18n/es/README.md">🇪🇸 Español</a> · <a href="i18n/de/README.md">🇩🇪 Deutsch</a> · <a href="i18n/fr/README.md">🇫🇷 Français</a> · <a href="i18n/it/README.md">🇮🇹 Italiano</a> · <a href="i18n/nl/README.md">🇳🇱 Nederlands</a> · <a href="i18n/pl/README.md">🇵🇱 Polski</a> · <a href="i18n/cs/README.md">🇨🇿 Čeština</a> · <a href="i18n/ro/README.md">🇷🇴 Română</a> · <a href="i18n/hu/README.md">🇭🇺 Magyar</a> · <a href="i18n/el/README.md">🇬🇷 Ελληνικά</a> · <a href="i18n/sv/README.md">🇸🇪 Svenska</a> · <a href="i18n/da/README.md">🇩🇰 Dansk</a> · <a href="i18n/no/README.md">🇳🇴 Norsk</a> · <a href="i18n/fi/README.md">🇫🇮 Suomi</a> · <a href="i18n/ru/README.md">🇷🇺 Русский</a> · <a href="i18n/uk/README.md">🇺🇦 Українська</a> · <a href="i18n/tr/README.md">🇹🇷 Türkçe</a> · <a href="i18n/he/README.md">🇮🇱 עברית</a> · <a href="i18n/ar/README.md">🇸🇦 العربية</a> · <a href="i18n/fa/README.md">🇮🇷 فارسی</a> · <a href="i18n/hi/README.md">🇮🇳 हिन्दी</a> · <a href="i18n/bn/README.md">🇧🇩 বাংলা</a> · <a href="i18n/ur/README.md">🇵🇰 اردو</a> · <a href="i18n/th/README.md">🇹🇭 ไทย</a> · <a href="i18n/vi/README.md">🇻🇳 Tiếng Việt</a> · <a href="i18n/id/README.md">🇮🇩 Bahasa Indonesia</a> · <a href="i18n/tl/README.md">🇵🇭 Tagalog</a> </p> </details>

Sponsors

<p align="center"> <a href="https://serpapi.com/ai-engineering-from-scratch"><picture><source media="(min-width: 768px)" srcset="assets/sponsors/serpapi-banner-compact.png" width="48%"><img src="assets/sponsors/serpapi-banner-compact.png" alt="SerpApi. Web Search API for your AI apps. Available in Markdown and JSON for any integration." width="440"></picture></a> </p> <p align="center"> <sub><span>Your support keeps every lesson free and open source.</span> <a href="#supporters">See all supporters</a> · <a href="SPONSORS.md">Become a sponsor</a></sub> </p>

Why build it from scratch

A framework call hides the part that breaks. When a loss turns into NaN or an agent repeats the same tool call, the person who wrote the small version knows where to look. Most lessons have you write that small version first and run it, then show where production tools do the same work.

<p align="center"> <picture> <source media="(max-width: 600px) and (prefers-color-scheme: dark)" srcset="assets/readme/lesson-loop-mobile-dark.svg"> <source media="(max-width: 600px)" srcset="assets/readme/lesson-loop-mobile-light.svg"> <source media="(prefers-color-scheme: dark)" srcset="assets/readme/lesson-loop-dark.svg"> <img src="assets/readme/lesson-loop-light.svg" alt="One lesson in four steps: the problem, build it from scratch, see where production tools do the same work, and ship an artifact you keep. The example is the agent loop lesson in Phase 14." width="840"> </picture> </p> <details> <summary>Text version</summary>
  • 01 · THE PROBLEM: An LLM returns text. It cannot act.
  • 02 · BUILD IT: A ReAct loop in stdlib Python.
  • 03 · USE IT: Where agent SDKs run the same loop.
  • 04 · SHIP IT: skill-agent-loop.md, ready for your agent.
</details>

<a id="see-what-you-will-build-and-keep"></a> <a id="learning-routes"></a>

Learning paths

RouteStarting lesson
Model foundationsSetup and tooling
LLM systemsPrompt engineering
Agents and deliveryThe agent loop

Compare career paths · Prerequisites and study time

<a id="interactive-lab"></a>

Gradient descent

Twenty starting points follow gradient descent on a quadratic loss. The graph shows their positions and mean loss after each update.

<p align="center"> <a href="https://aiengineeringfromscratch.com/learn/math-foundations/optimization#loss-landscape-visualization"> <picture> <source media="(max-width: 600px) and (prefers-color-scheme: dark) and (prefers-reduced-motion: reduce)" srcset="assets/readme/101-gradient-mobile-dark.png"> <source media="(max-width: 600px) and (prefers-reduced-motion: reduce)" srcset="assets/readme/101-gradient-mobile-light.png"> <source media="(prefers-color-scheme: dark) and (prefers-reduced-motion: reduce)" srcset="assets/readme/101-gradient-dark.png"> <source media="(prefers-reduced-motion: reduce)" srcset="assets/readme/101-gradient-light.png"> <source media="(max-width: 600px) and (prefers-color-scheme: dark)" srcset="assets/readme/101-gradient-mobile-dark.gif"> <source media="(max-width: 600px)" srcset="assets/readme/101-gradient-mobile-light.gif"> <source media="(prefers-color-scheme: dark)" srcset="assets/readme/101-gradient-dark.gif"> <img src="assets/readme/101-gradient-light.gif" alt="Gradient descent moves scattered starting points toward the loss minimum. The mean loss decreases with each update." width="840"> </picture> </a> </p>

Adjust the learning rate in the lesson · Compare GD, momentum, and Adam in code

<a id="project-challenges"></a>

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.

<details> <summary><strong>01 · Retrieval Evaluation Lab</strong> · Python · Ranking metrics and regression checks</summary>

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

</details> <details> <summary><strong>02 · Agent Trace Debugger</strong> · TypeScript · Trace parsing and timing</summary>

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

</details> <details> <summary><strong>03 · Tool Call Firewall</strong> · Rust · Role checks and approval receipts</summary>

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

</details>

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.

<details> <summary>Tutor setup and host commands</summary>

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:

HostStart the courseStart Model Context Protocol (MCP)Start Agent SkillsRun a phase quiz
Codexstart-learning, or choose it from /skillslearn-mcp, or choose it from /skillslearn-agent-skills, or choose it from /skillscheck-understanding 13, or choose it from /skills
Claude Code/start-learning/learn-mcp/learn-agent-skills/check-understanding 13
Other compatible hostsUse 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

SkillWhat it does
start-learningOne-time onboarding: why you're learning, placement quiz, personalized plan saved to LEARNING.md.
learnThe tutor loop. Warm-up recall, then the next lesson taught interactively, then its quiz; records progress and a review queue.
course-guideTopic router. "Where do I learn attention?" or "my loss is NaN" → the exact lessons, with links.
learn-mcpFocused Model Context Protocol (MCP) tutor. Creates MCP-LEARNING.md, follows the 17-lesson manifest, and records wire, security, reliability, and conformance evidence.
learn-agent-skillsFocused Agent Skills tutor. Creates AGENT-SKILLS-LEARNING.md, teaches lessons 22, 24, 25, 26, and 27, and records real-host evidence.
learn-reverse-engineeringFocused Reverse Engineering tutor. Creates REVERSE-ENGINEERING-LEARNING.md, teaches Phase 13 lessons 32 to 45 on programs you build yourself, and records lab evidence.
claude-certificationCertification 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-certificationMCPA 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-levelTen-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.
</details>

<a id="local-setup"></a>

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.

<details> <summary>Use every lesson the same way</summary>

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.

</details>

<a id="study-guide"></a>

Choose a learning path

You do not need to scan 542 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 goalLearn on GitHubLearn on the website
I am new and want the complete foundationPhase 0: Setup and ToolingDev Environment
I know Python and want math plus ML foundationsPhase 1: Math FoundationsLinear Algebra Intuition
I want to build production LLM applicationsPhase 11: LLM EngineeringPrompt Engineering
I want to build agentsPhase 14: Agent EngineeringThe Agent Loop
I want to use coding agents on real repositoriesAgent-Assisted Engineering pathAgent-Assisted Engineering
I want to shape the right build before implementationProduct Judgment and Delivery pathProduct 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.

<details> <summary>Focused MCP, Agent Skills, and Reverse Engineering paths</summary>
Your goalLearn on GitHubLearn on the website
I want to build with Model Context Protocol (MCP)Model Context Protocol (MCP) routeModel Context Protocol (MCP) path
I want to write and ship Agent SkillsFocused Agent Skills routeAgent Skills path
I want to read compiled programsReverse Engineering routeReverse Engineering path
</details> <details> <summary>Prerequisites and study time</summary>

Prerequisites

  • You can write code (any language; Python helps).
  • You want to understand how AI actually works, not just call APIs.

Where to start

BackgroundStart atEstimated time
New to programming and AIPhase 0 — Setup~306 hours
Know Python, new to MLPhase 1 — Math Foundations~270 hours
Know ML, new to deep learningPhase 3 — Deep Learning Core~200 hours
Know deep learning, want LLMs and agentsPhase 10 — LLMs from Scratch~100 hours
Senior engineer, only want agent engineeringPhase 14 — Agent Engineering~60 hours
Only want to build production MCP systemsModel Context Protocol (MCP) path~23 hours 15 min
Only want to build production Agent SkillsAgent Skills Engineering path~9.5 hours
Only want to learn reverse engineeringReverse Engineering path~32.5 hours
</details>

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.

<p align="center"> <picture> <source media="(max-width: 600px) and (prefers-color-scheme: dark)" srcset="assets/readme/curriculum-map-mobile-dark.svg"> <source media="(max-width: 600px)" srcset="assets/readme/curriculum-map-mobile-light.svg"> <source media="(prefers-color-scheme: dark)" srcset="assets/readme/curriculum-map-dark.svg"> <img src="assets/readme/curriculum-map-light.svg" alt="The twenty phases in six volumes, from foundations at the bottom to production at the top. Volume 1, Foundations, phases 0 to 2: vectors, gradients, classic models. Volume 2, Deep Learning, phases 3, 4 and 6: from a perceptron to vision and speech. Volume 3, Language, phases 5 and 7: attention and the transformer, by hand. Volume 4, Large Language Models, phases 8 to 11: pre-train a mini GPT, align it, ship RAG. Volume 5, Agents, phases 12 to 16: the agent loop, tools, MCP servers, swarms. Volume 6, Production, phases 17 to 19: serving, observability, safety, capstones." width="840"> </picture> </p> <details> <summary>Phase dependency graph</summary>
%%{init: {'theme':'base','themeVariables':{'primaryColor':'#fafaf5','primaryTextColor':'#1a1a1a','primaryBorderColor':'#3553ff','lineColor':'#3553ff','fontFamily':'JetBrains Mono','fontSize':'12px'}}}%%
flowchart TB
  P0["Phase 0 — Setup &amp; 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 &amp; 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 &amp; Protocols"]
  P13 --> P14["Phase 14 — Agent Engineering"]
  P14 --> P15["Phase 15 — Autonomous Systems"]
  P15 --> P16["Phase 16 — Multi-Agent &amp; Swarms"]
  P14 --> P17["Phase 17 — Infrastructure &amp; Production"]
  P15 --> P18["Phase 18 — Ethics &amp; Alignment"]
  P16 --> P19["Phase 19 — Capstone Projects"]
  P17 --> P19
  P18 --> P19
  classDef phase fill:#fafaf5,stroke:#3553ff,color:#1a1a1a
  class P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19 phase
</details>

<a id="contents"></a>

Contents

Twenty phases. Click any phase to expand its lesson list.

<a id="phase-0"></a>

Phase 0: Setup & Tooling 13 lessons

Get your environment ready for everything that follows.

#LessonTypeLang
01Dev EnvironmentBuildPython, TypeScript, Rust
02Git & CollaborationLearn—
03GPU Setup & CloudBuildPython
04APIs & KeysBuildPython, TypeScript
05Jupyter NotebooksBuildPython
06Python EnvironmentsBuildShell
07Docker for AIBuildDocker
08Editor SetupBuild—
09Data ManagementBuildPython
10Terminal & ShellLearn—
11Linux for AILearn—
12Debugging & ProfilingBuildPython
13Python for AI EngineeringBuildPython, TypeScript
<details id="phase-1"> <summary><b>Phase 1 — Math Foundations</b> &nbsp;<code>22 lessons</code>&nbsp; <em>The intuition behind every AI algorithm, through code.</em></summary> <br/>
#LessonTypeLang
01Linear Algebra IntuitionLearnPython, Julia
02Vectors, Matrices & OperationsBuildPython, Julia
03Matrix Transformations & EigenvaluesBuildPython, Julia
04Calculus for ML: Derivatives & GradientsLearnPython, Julia
05Chain Rule & Automatic DifferentiationBuildPython, Julia
06Probability & DistributionsLearnPython, Julia
07Bayes' Theorem & Statistical ThinkingBuildPython, TypeScript
08Optimization: Gradient Descent FamilyBuildPython, Julia
09Information Theory: Entropy, KL DivergenceLearnPython, TypeScript
10Dimensionality Reduction: PCA, t-SNE, UMAPBuildPython, TypeScript, Julia
11Singular Value DecompositionBuildPython, Julia
12Tensor OperationsBuildPython, TypeScript
13Numerical StabilityBuildPython, TypeScript, Julia
14Norms & DistancesBuildPython, TypeScript
15Statistics for MLBuildPython, TypeScript
16Sampling MethodsBuildPython, TypeScript, Julia
17Linear SystemsBuildPython, TypeScript, Julia
18Convex OptimizationBuildPython, TypeScript, Julia
19Complex Numbers for AILearnPython, TypeScript
20The Fourier TransformBuildPython, TypeScript, Julia
21Graph Theory for MLBuildPython, TypeScript
22Stochastic ProcessesLearnPython, Julia
</details> <details id="phase-2"> <summary><b>Phase 2 — ML Fundamentals</b> &nbsp;<code>21 lessons</code>&nbsp; <em>Classical ML — still the backbone of most production AI.</em></summary> <br/>
#LessonTypeLang
01What Is Machine LearningLearnPython
02Linear Regression from ScratchBuildPython, Rust, Julia
03Logistic Regression & ClassificationBuildPython, Rust, Julia
04Decision Trees & Random ForestsBuildPython, TypeScript
05Support Vector MachinesBuildPython, Julia
06KNN & Distance MetricsBuildPython, TypeScript
07Unsupervised Learning: K-Means, DBSCANBuildPython, TypeScript
08Feature Engineering & SelectionBuildPython, TypeScript
09Model Evaluation: Metrics, Cross-ValidationBuildPython, Julia
10Bias, Variance & the Learning CurveLearnPython
11Ensemble Methods: Boosting, Bagging, StackingBuildPython
12Hyperparameter TuningBuildPython
13ML Pipelines & Experiment TrackingBuildPython
14Naive BayesBuildPython
15Time Series FundamentalsBuildPython
16Anomaly DetectionBuildPython
17Handling Imbalanced DataBuildPython
18Feature SelectionBuildPython
19ML System Design — From Problem to Deployed ModelBuildPython, TypeScript
20Monitoring Models in Production — Data Drift and Concept DriftBuildPython, TypeScript
21Feature Stores and Training-Serving SkewBuildPython, TypeScript
</details> <details id="phase-3"> <summary><b>Phase 3 — Deep Learning Core</b> &nbsp;<code>13 lessons</code>&nbsp; <em>Neural networks from first principles. No frameworks until you build one.</em></summary> <br/>
#LessonTypeLang
01The Perceptron: Where It All StartedBuildPython, TypeScript, Rust, Julia
02Multi-Layer Networks & Forward PassBuildPython, TypeScript, Julia
03Backpropagation from ScratchBuildPython, TypeScript, Rust, Julia
04Activation Functions: ReLU, Sigmoid, GELU & WhyBuildPython, TypeScript, Julia
05Loss Functions: MSE, Cross-Entropy, ContrastiveBuildPython, TypeScript, Julia
06Optimizers: SGD, Momentum, Adam, AdamWBuildPython, TypeScript, Julia
07Regularization: Dropout, Weight Decay, BatchNormBuildPython, TypeScript, Julia
08Weight Initialization & Training StabilityBuildPython, TypeScript, Julia
09Learning Rate Schedules & WarmupBuildPython, TypeScript, Julia
10Build Your Own Mini FrameworkBuildPython, TypeScript, Julia
11Introduction to PyTorchBuildPython
12Introduction to JAXBuildPython
13Debugging Neural NetworksBuildPython
</details> <details id="phase-4"> <summary><b>Phase 4 — Computer Vision</b> &nbsp;<code>28 lessons</code>&nbsp; <em>From pixels to understanding — image, video, 3D, VLMs, and world models.</em></summary> <br/>
#LessonTypeLang
01Image Fundamentals: Pixels, Channels, Color SpacesLearnPython, Julia
02Convolutions from ScratchBuildPython, Julia
03CNNs: LeNet to ResNetBuildPython
04Image ClassificationBuildPython
05Transfer Learning & Fine-TuningBuildPython
06Object Detection — YOLO from ScratchBuildPython
07Semantic Segmentation — U-NetBuildPython
08Instance Segmentation — Mask R-CNNBuildPython
09Image Generation — GANsBuildPython
10Image Generation — Diffusion ModelsBuildPython
11Stable Diffusion — Architecture & Fine-TuningBuildPython
12Video Understanding — Temporal ModelingBuildPython
133D Vision: Point Clouds, NeRFsBuildPython
14Vision Transformers (ViT)BuildPython
15Real-Time Vision: Edge DeploymentBuildPython, Rust
16Build a Complete Vision PipelineBuildPython
17Self-Supervised Vision — SimCLR, DINO, MAEBuildPython
18Open-Vocabulary Vision — CLIPBuildPython
19OCR & Document UnderstandingBuildPython
20Image Retrieval & Metric LearningBuildPython
21Keypoint Detection & Pose EstimationBuildPython
223D Gaussian Splatting from ScratchBuildPython
23Diffusion Transformers & Rectified FlowBuildPython
24SAM 3 & Open-Vocabulary SegmentationBuildPython
25Vision-Language Models (ViT-MLP-LLM)BuildPython
26Monocular Depth & Geometry EstimationBuildPython
27Multi-Object Tracking & Video MemoryBuildPython, Rust
28World Models & Video DiffusionBuildPython
</details> <details id="phase-5"> <summary><b>Phase 5 — NLP: Foundations to Advanced</b> &nbsp;<code>29 lessons</code>&nbsp; <em>Language is the interface to intelligence.</em></summary> <br/>
#LessonTypeLang
01Text Processing: Tokenization, Stemming, LemmatizationBuildPython, TypeScript
02Bag of Words, TF-IDF & Text RepresentationBuildPython, TypeScript
03Word Embeddings: Word2Vec from ScratchBuildPython, Julia
04GloVe, FastText & Subword EmbeddingsBuildPython, TypeScript
05Sentiment AnalysisBuildPython, TypeScript
06Named Entity Recognition (NER)BuildPython, TypeScript
07POS Tagging & Syntactic ParsingBuildPython, TypeScript
08Text Classification — CNNs & RNNs for TextBuildPython, TypeScript
09Sequence-to-Sequence ModelsBuildPython, TypeScript
10Attention Mechanism — The BreakthroughBuildPython, TypeScript
11Machine TranslationBuildPython, TypeScript
12Text SummarizationBuildPython, TypeScript
13Question Answering SystemsBuildPython, TypeScript
14Information Retrieval & SearchBuildPython, TypeScript, Rust
15Topic Modeling: LDA, BERTopicBuildPython, TypeScript, Julia
16Text GenerationBuildPython, TypeScript
17Chatbots: Rule-Based to NeuralBuildPython, TypeScript
18Multilingual NLPBuildPython, TypeScript
19Subword Tokenization: BPE, WordPiece, Unigram, SentencePieceLearnPython, TypeScript, Rust
20Structured Outputs & Constrained DecodingBuildPython, TypeScript, Rust
21NLI & Textual EntailmentLearnPython, TypeScript
22Embedding Models Deep DiveLearnPython, TypeScript
23Chunking Strategies for RAGBuildPython, TypeScript
24Coreference ResolutionLearnPython, TypeScript
25Entity Linking & DisambiguationBuildPython, TypeScript
26Relation Extraction & Knowledge Graph ConstructionBuildPython, TypeScript
27LLM Evaluation: RAGAS, DeepEval, G-EvalBuildPython, TypeScript
28Long-Context Evaluation: NIAH, RULER, LongBench, MRCRLearnPython, TypeScript
29Dialogue State TrackingBuildPython, TypeScript
</details> <details id="phase-6"> <summary><b>Phase 6 — Speech & Audio</b> &nbsp;<code>17 lessons</code>&nbsp; <em>Hear, understand, speak.</em></summary> <br/>
#LessonTypeLang
01Audio Fundamentals: Waveforms, Sampling, FFTLearnPython, TypeScript, Julia
02Spectrograms, Mel Scale & Audio FeaturesBuildPython, TypeScript, Julia
03Audio ClassificationBuildPython, TypeScript
04Speech Recognition (ASR)BuildPython, TypeScript
05Whisper: Architecture & Fine-TuningBuildPython, TypeScript
06Speaker Recognition & VerificationBuildPython, TypeScript
07Text-to-Speech (TTS)BuildPython, TypeScript
08Voice Cloning & Voice ConversionBuildPython, TypeScript
09Music GenerationBuildPython, TypeScript
10Audio-Language ModelsBuildPython, TypeScript
11Real-Time Audio ProcessingBuildPython, Rust
12Build a Voice Assistant PipelineBuildPython, TypeScript
13Neural Audio Codecs — EnCodec, SNAC, Mimi, DACLearnPython, TypeScript
14Voice Activity Detection & Turn-TakingBuildPython, TypeScript, Rust
15Streaming Speech-to-Speech — Moshi, HibikiLearnPython, TypeScript
16Voice Anti-Spoofing & Audio WatermarkingBuildPython, TypeScript
17Audio Evaluation — WER, MOS, MMAU, LeaderboardsLearnPython, TypeScript
</details> <details id="phase-7"> <summary><b>Phase 7 — Transformers Deep Dive</b> &nbsp;<code>16 lessons</code>&nbsp; <em>The architecture that changed everything.</em></summary> <br/>
#LessonTypeLang
01Why Transformers: The Problems with RNNsLearnPython, Julia
02Self-Attention from ScratchBuildPython, Rust, Julia
03Multi-Head AttentionBuildPython, Rust
04Positional Encoding: Sinusoidal, RoPE, ALiBiBuildPython, Rust, Julia
05The Full Transformer: Encoder + DecoderBuildPython, Julia
06BERT — Masked Language ModelingBuildPython, Rust
07GPT — Causal Language ModelingBuildPython, Rust
08T5, BART — Encoder-Decoder ModelsLearnPython, Rust
09Vision Transformers (ViT)BuildPython, Rust
10Audio Transformers — Whisper ArchitectureLearnPython, Rust
11Mixture of Experts (MoE)BuildPython, Rust
12KV Cache, Flash Attention & Inference OptimizationBuildPython, Rust
13Scaling LawsLearnPython, Rust
14Build a Transformer from ScratchBuildPython
15Attention Variants — Sliding Window, Sparse, DifferentialBuildPython, Rust
16Speculative Decoding — Draft, Verify, RepeatBuildPython, Rust
</details> <details id="phase-8"> <summary><b>Phase 8 — Generative AI</b> &nbsp;<code>15 lessons</code>&nbsp; <em>Create images, video, audio, 3D, and more.</em></summary> <br/>
#LessonTypeLang
01Generative Models: Taxonomy & HistoryLearnPython, TypeScript
02Autoencoders & VAEBuildPython, TypeScript
03GANs: Generator vs DiscriminatorBuildPython, TypeScript
04Conditional GANs & Pix2PixBuildPython, TypeScript
05StyleGANBuildPython, TypeScript
06Diffusion Models — DDPM from ScratchBuildPython, TypeScript
07Latent Diffusion & Stable DiffusionBuildPython, TypeScript
08ControlNet, LoRA & ConditioningBuildPython, TypeScript
09Inpainting, Outpainting & EditingBuildPython, TypeScript
10Video GenerationBuildPython, TypeScript
11Audio GenerationBuildPython, TypeScript
123D GenerationBuildPython, TypeScript
13Flow Matching & Rectified FlowsBuildPython, TypeScript, Julia
14Evaluation: FID, CLIP ScoreBuildPython, TypeScript
19Visual Autoregressive Modeling (VAR): Next-Scale PredictionBuildPython, Julia
</details> <details id="phase-9"> <summary><b>Phase 9 — Reinforcement Learning</b> &nbsp;<code>12 lessons</code>&nbsp; <em>The foundation of RLHF and game-playing AI.</em></summary> <br/>
#LessonTypeLang
01MDPs, States, Actions & RewardsLearnPython, TypeScript
02Dynamic ProgrammingBuildPython, TypeScript
03Monte Carlo MethodsBuildPython, TypeScript
04Q-Learning, SARSABuildPython, TypeScript
05Deep Q-Networks (DQN)BuildPython, TypeScript
06Policy Gradients — REINFORCEBuildPython, TypeScript
07Actor-Critic — A2C, A3CBuildPython, TypeScript
08PPOBuildPython, TypeScript
09Reward Modeling & RLHFBuildPython, TypeScript
10Multi-Agent RLBuildPython, TypeScript
11Sim-to-Real TransferBuildPython, TypeScript
12RL for GamesBuildPython, TypeScript
</details> <details id="phase-10"> <summary><b>Phase 10 — LLMs from Scratch</b> &nbsp;<code>24 lessons</code>&nbsp; <em>Build, train, and understand large language models.</em></summary> <br/>
#LessonTypeLang
01Tokenizers: BPE, WordPiece, SentencePieceBuildPython, Rust
02Building a Tokenizer from ScratchBuildPython, TypeScript
03Data Pipelines for Pre-TrainingBuildPython, Rust
04Pre-Training a Mini GPT (124M)BuildPython, Rust
05Distributed Training, FSDP, DeepSpeedBuildPython
06Instruction Tuning — SFTBuildPython
07RLHF — Reward Model + PPOBuildPython
08DPO — Direct Preference OptimizationBuildPython
09Constitutional AI & Self-ImprovementBuildPython
10Evaluation — Benchmarks, EvalsBuildPython
11Quantization: INT8, GPTQ, AWQ, GGUFBuildPython, Rust
12Inference OptimizationBuildPython, Rust
13Building a Complete LLM PipelineBuildPython, Rust
14Open Models: Architecture WalkthroughsLearnPython, Rust
15Speculative Decoding and EAGLE-3BuildPython, Rust
16Differential Attention (V2)BuildPython, Rust
17Native Sparse Attention (DeepSeek NSA)BuildPython, Rust
18Multi-Token Prediction (MTP)BuildPython, Rust
19DualPipe ParallelismLearnPython, Rust
20DeepSeek-V3 Architecture WalkthroughLearnPython, Rust
21Jamba — Hybrid SSM-TransformerLearnPython, Rust
22Async and Hogwild! InferenceBuildPython, Rust
25Speculative Decoding and EAGLEBuildPython
34Gradient Checkpointing and Activation RecomputationBuildPython
</details> <details id="phase-11"> <summary><b>Phase 11 — LLM Engineering</b> &nbsp;<code>17 lessons</code>&nbsp; <em>Put LLMs to work in production.</em></summary> <br/>
#LessonTypeLang
01Prompt Engineering: Techniques & PatternsBuildPython, TypeScript
02Few-Shot, CoT, Tree-of-ThoughtBuildPython
03Structured OutputsBuildPython, TypeScript
04Embeddings & Vector RepresentationsBuildPython, TypeScript
05Context EngineeringBuildPython, TypeScript
06RAG: Retrieval-Augmented GenerationBuildPython, TypeScript
07Advanced RAG: Chunking, RerankingBuildPython, TypeScript
08Fine-Tuning with LoRA & QLoRABuildPython
09Function Calling & Tool UseBuildPython, TypeScript
10Evaluation & TestingBuildPython, TypeScript
11Caching, Rate Limiting & CostBuildPython, TypeScript
12Guardrails & SafetyBuildPython, TypeScript
13Building a Production LLM AppBuildPython, TypeScript
14Model Context Protocol (MCP)BuildPython, TypeScript, Go
15Prompt Caching & Context CachingBuildPython, TypeScript
16Agent State Machines — Graphs, Nodes, CheckpointsBuildPython
17Agent Framework TradeoffsLearnPython, TypeScript
</details> <details id="phase-12"> <summary><b>Phase 12 — Multimodal AI</b> &nbsp;<code>25 lessons</code>&nbsp; <em>See, hear, read, and reason across modalities — from ViT patches to computer-use agents.</em></summary> <br/>
#LessonTypeLang
01Vision Transformers and the Patch-Token PrimitiveLearnPython, TypeScript
02CLIP and Contrastive Vision-Language PretrainingBuildPython, TypeScript
03BLIP-2 Q-Former as Modality BridgeBuildPython, TypeScript
04Flamingo and Gated Cross-AttentionLearnPython, TypeScript
05LLaVA and Visual Instruction TuningBuildPython, TypeScript
06Any-Resolution Vision — Patch-n'-Pack and NaFlexBuildPython, TypeScript
07Open-Weight VLM Recipes: What Actually MattersLearnPython, TypeScript
08LLaVA-OneVision: Single, Multi, VideoBuildPython, TypeScript
09Qwen-VL Family and Dynamic-FPS VideoLearnPython, TypeScript
10InternVL3 Native Multimodal PretrainingLearnPython, TypeScript
11Chameleon Early-Fusion Token-OnlyBuildPython, TypeScript
12Emu3 Next-Token Prediction for GenerationLearnPython, TypeScript
13Transfusion Autoregressive + DiffusionBuildPython, TypeScript
14Show-o Discrete-Diffusion UnifiedLearnPython, TypeScript
15Janus-Pro Decoupled EncodersBuildPython, TypeScript
16MIO Any-to-Any StreamingLearnPython, TypeScript
17Video-Language Temporal GroundingBuildPython, TypeScript
18Long-Video at Million-Token ContextBuildPython, TypeScript
19Audio-Language Models: Whisper to AF3BuildPython, TypeScript
20Omni Models: Thinker-Talker StreamingBuildPython, TypeScript
21Embodied VLAs: RT-2, OpenVLA, π0, GR00TLearnPython, TypeScript
22Document and Diagram UnderstandingBuildPython, TypeScript
23ColPali Vision-Native Document RAGBuildPython, TypeScript
24Multimodal RAG and Cross-Modal RetrievalBuildPython, TypeScript
25Multimodal Agents and Computer-Use (Capstone)BuildPython, TypeScript
</details> <details id="phase-13"> <summary><b>Phase 13 — Tools & Protocols</b> &nbsp;<code>45 lessons</code>&nbsp; <em>The interfaces between AI and the real world.</em></summary> <br/>
#LessonTypeLang
01The Tool InterfaceLearnPython, TypeScript
02Function Calling Deep DiveBuildPython, TypeScript
03Parallel and Streaming Tool CallsBuildPython, TypeScript, Go
04Structured OutputBuildPython, TypeScript
05Tool Schema DesignLearnPython, TypeScript
06MCP Fundamentals: Stateless Requests and JSON-RPCLearnPython, TypeScript
07Building an MCP Server: Stateless Python and TypeScriptBuildPython, TypeScript, Go
08Building an MCP Client: Discovery, Routing, and Dual-Era FallbackBuildPython, TypeScript
09MCP Transports: stdio and Stateless Streamable HTTPLearnPython, TypeScript, Go
10MCP Resources and Prompts: Addressable Context for Stateless ServersBuildPython, TypeScript
11MCP Model Input: Sampling Migration and Stateless MRTRBuildPython, TypeScript
12Explicit Scope and Stateless ElicitationBuildPython, TypeScript
13MCP Tasks Extension: Durable Work on a Stateless CoreBuildPython, TypeScript
14MCP Apps on the Stateless ProtocolBuildPython, TypeScript
15MCP Security: Poisoned Metadata, Routing, and MRTR StateLearnPython, TypeScript
16MCP Authorization: CIMD, Issuer Binding, PKCE, and Step-UpBuildPython, TypeScript, Go
17Stateless MCP Gateways and Registry AdmissionLearnPython, TypeScript, Go
18MCP Auth in Production: Issuer-Bound Enrollment and TokensBuildPython, TypeScript, Go
19A2A ProtocolBuildPython, TypeScript, Go
20OpenTelemetry GenAIBuildPython, TypeScript
21LLM Routing LayerLearnPython, TypeScript, Go
22Agent Skills: Portable Contract and Runtime BoundaryBuildPython, TypeScript
23Capstone: Stateless Tool EcosystemBuildPython, TypeScript
24Skill Discovery and Progressive DisclosureBuildPython, TypeScript
25Skill Invocation and RoutingBuildPython, TypeScript
26Skill Permissions, Sandboxes, and TrustBuildPython, TypeScript
27Skill Evals, Packaging, and PortabilityBuildPython, TypeScript
28MCP Tool Contracts and ContentBuildPython, TypeScript
29MCP Reliability, Cancellation, and Flow ControlBuildPython, TypeScript
30MCP Registry Supply Chain: Admission, Drift, and RollbackBuildPython, TypeScript
31MCP Conformance Engineering: Versioning, Evidence, and OperationsBuildPython, TypeScript
32Program Anatomy: An ELF Reader From ScratchBuildPython, TypeScript, Rust
33Disassembly and Control Flow: From Bytes to a Graph You Can CheckBuildPython, TypeScript, Rust
34Lifting to Pseudocode: IR, SSA, and Structuring From ScratchBuildPython, TypeScript
35Evidence, Confidence, and Unknowns in Binary AnalysisBuildPython, TypeScript
36Rebuild and Prove Equal: Differential Tests, Byte Comparison, and the Evidence LoopBuildPython, TypeScript
37The Reverse Engineering Landscape: History, Tool Families, and How a Decompiler Is BuiltBuildPython, TypeScript
38Calling Conventions and Stack Frames: System V, Windows x64, and AArch64BuildPython, TypeScript
39Compiler Idioms: What Optimization Does to Your Code and How to Read It BackBuildPython, TypeScript
40Linking, Loading, and Stripped Binaries: PLT, GOT, Imports, Fixups, and Function IdentificationBuildPython, TypeScript, Rust
41Recovering Data and Types: Structs, Arrays, C++ Objects, and DWARFBuildPython, TypeScript
42Dynamic Analysis of Your Own Program: Debuggers, Traces, and Confirming Static ClaimsBuildPython, TypeScript
43Beyond Native Code: Python, JVM, .NET, and WebAssembly BytecodeBuildPython, TypeScript
44Binary Diffing and Symbolic Execution: Matching Functions and Solving for InputsBuildPython, TypeScript
45AI-Assisted Reverse Engineering: LLM Decompilers, Analysis Agents, and Ground TruthBuildPython, TypeScript

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.

</details> <details id="phase-14"> <summary><b>Phase 14 — Agent Engineering</b> &nbsp;<code>54 lessons</code>&nbsp; <em>Build agents from first principles, use coding agents reliably, and shape the work before implementation.</em></summary> <br/>
#LessonTypeLang
01The Agent LoopBuildPython, TypeScript
02ReWOO and Plan-and-ExecuteBuildPython, TypeScript
03Reflexion and Verbal Reinforcement LearningBuildPython, TypeScript
04Tree of Thoughts and LATSBuildPython, TypeScript
05Self-Refine and CRITICBuildPython, TypeScript
06Tool Use and Function CallingBuildPython, TypeScript
07Agent Memory — Virtual Context and Memory PagingBuildPython, TypeScript
08Memory Blocks and Sleep-Time ComputeBuildPython, TypeScript
09Hybrid Memory — Vector + Graph + KVBuildPython, TypeScript
10Skill Libraries and Lifelong Learning (Voyager)BuildPython, TypeScript
11Planning with HTN and Evolutionary SearchBuildPython, TypeScript
12Anthropic's Workflow PatternsBuildPython, TypeScript
13Stateful Graph Orchestration — Durable Execution and CheckpointsBuildPython, TypeScript
14The Actor Model for AgentsBuildPython, TypeScript
15Role-Based Agent Teams — Roles, Tasks, ProcessesBuildPython
16OpenAI Agents SDK — Handoffs, Guardrails, TracingBuildPython, TypeScript
17The Harness as a Library — Subagents and Session StoreBuildPython, TypeScript
18Production Agent RuntimesLearnPython, TypeScript
19Benchmarks — SWE-bench, GAIA, AgentBenchLearnPython, TypeScript
20Benchmarks — WebArena and OSWorldLearnPython, TypeScript
21Computer Use — Claude, OpenAI CUA, GeminiBuildPython, TypeScript
22Voice Agents — Pipecat and LiveKitBuildPython, TypeScript
23OpenTelemetry GenAI Semantic ConventionsBuildPython, TypeScript, Go
24Agent Observability — Langfuse, Phoenix, OpikLearnPython, TypeScript
25Multi-Agent Debate and CollaborationBuildPython, TypeScript
26Failure Modes — Why Agents BreakBuildPython, TypeScript
27Prompt Injection and the PVE DefenseBuildPython, TypeScript
28Orchestration Patterns — Supervisor, Swarm, HierarchicalBuildPython, TypeScript
29Production Runtimes — Queue, Event, CronLearnPython, TypeScript, Go
30Eval-Driven Agent DevelopmentBuildPython, TypeScript
31Agent Workbench: Why Capable Models Still FailLearnPython, TypeScript
32The Minimal Agent WorkbenchBuildPython, TypeScript
33Agent Instructions as Executable ConstraintsBuildPython, TypeScript
34Repo Memory and Durable StateBuildPython, TypeScript
35Initialization Scripts for AgentsBuildPython, TypeScript
36Scope Contracts and Task BoundariesBuildPython, TypeScript
37Runtime Feedback LoopsBuildPython, TypeScript
38Verification GatesBuildPython, TypeScript
39Reviewer Agent: Separate Builder from MarkerBuildPython, TypeScript
40Multi-Session HandoffBuildPython, TypeScript
41The Workbench on a Real RepoBuildPython, TypeScript
42Capstone: Ship a Reusable Agent Workbench PackBuildPython, TypeScript
43Frame the Task Before the Agent Writes CodeBuildPython, TypeScript
44Build an Evidence-Backed Execution PlanBuildPython, TypeScript
45Delegate Agent Work with Isolation and Merge ContractsBuildPython, TypeScript
46Turn Every Agent Correction into a System ImprovementBuildPython, TypeScript
47Define the Outcome Before You Choose the OutputBuildPython, TypeScript
48Discover the Workflow People Actually PerformBuildPython, TypeScript
49Map Assumptions and Resolve the Riskiest One FirstBuildPython, TypeScript
50Choose the Smallest Slice That Can Change the DecisionBuildPython, TypeScript
51Write Specifications That Preserve JudgmentBuildPython, TypeScript
52Design Success Metrics Before the Result ExistsBuildPython, TypeScript
53Choose Prototype, Pilot, or Production DeliberatelyBuildPython, TypeScript
54Build a Feedback Ratchet with Ownership and RetirementBuildPython, TypeScript

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.

</details> <details id="phase-15"> <summary><b>Phase 15 — Autonomous Systems</b> &nbsp;<code>22 lessons</code>&nbsp; <em>Long-horizon agents, self-improvement, and the 2026 safety stack.</em></summary> <br/>
#LessonTypeLang
01From Chatbots to Long-Horizon Agents (METR)LearnPython, TypeScript
02STaR, V-STaR, Quiet-STaR: Self-Taught ReasoningLearnPython, TypeScript
03AlphaEvolve: Evolutionary Coding AgentsLearnPython, TypeScript
04Darwin Gödel Machine: Self-Modifying AgentsLearnPython, TypeScript
05AI Scientist v2: Workshop-Level ResearchLearnPython, TypeScript
06Automated Alignment Research (Anthropic AAR)LearnPython, TypeScript
07Recursive Self-Improvement: Capability vs AlignmentLearnPython, TypeScript
08Bounded Self-Improvement DesignsLearnPython, TypeScript
09Autonomous Coding Agent Landscape (SWE-bench, CodeAct)LearnPython, TypeScript
10Permission Modes for Autonomous AgentsLearnPython, TypeScript
11Browser Agents and Indirect Prompt InjectionLearnPython, TypeScript
12Durable Execution for Long-Running AgentsLearnPython, TypeScript, Go
13Action Budgets, Iteration Caps, Cost GovernorsLearnPython, TypeScript
14Kill Switches, Circuit Breakers, Canary TokensLearnPython, TypeScript
15HITL: Propose-Then-CommitLearnPython, TypeScript
16Checkpoints and RollbackLearnPython, TypeScript
17Constitutional AI and Rule OverridesLearnPython, TypeScript
18Llama Guard and Input/Output ClassificationLearnPython, TypeScript
19Anthropic Responsible Scaling Policy v3.0LearnPython, TypeScript
20OpenAI Preparedness Framework and DeepMind FSFLearnPython, TypeScript
21METR Time Horizons and External EvaluationLearnPython, TypeScript, Julia
22CAIS, CAISI, and Societal-Scale RiskLearnPython, TypeScript
</details> <details id="phase-16"> <summary><b>Phase 16 — Multi-Agent & Swarms</b> &nbsp;<code>25 lessons</code>&nbsp; <em>Coordination, emergence, and collective intelligence.</em></summary> <br/>
#LessonTypeLang
01Why Multi-AgentLearnTypeScript
02FIPA-ACL Heritage and Speech ActsLearnPython, TypeScript
03Communication ProtocolsBuildTypeScript
04The Multi-Agent Primitive ModelLearnPython, TypeScript
05Supervisor / Orchestrator-Worker PatternBuildPython, TypeScript
06Hierarchical Architecture and Decomposition DriftLearnPython, TypeScript
07Society of Mind and Multi-Agent DebateBuildPython, TypeScript
08Role Specialization — Planner / Critic / Executor / VerifierBuildPython, TypeScript
09Parallel Swarm and Networked ArchitecturesBuildPython, TypeScript, Go
10Group Chat and Speaker SelectionBuildPython, TypeScript
11Handoffs and Routines (Stateless Orchestration)BuildPython, TypeScript
12A2A — The Agent-to-Agent ProtocolBuildPython, TypeScript, Go
13Shared Memory and Blackboard PatternsBuildPython, TypeScript
14Consensus and Byzantine Fault ToleranceBuildPython, TypeScript
15Voting, Self-Consistency, and Debate TopologyBuildPython, TypeScript
16Negotiation and BargainingBuildPython, TypeScript
17Generative Agents and Emergent SimulationBuildPython, TypeScript
18Theory of Mind and Emergent CoordinationBuildPython, TypeScript
19Swarm Optimization (PSO, ACO)BuildPython, TypeScript, Julia
20MARL — MADDPG, QMIX, MAPPOLearnPython, TypeScript
21Agent Economies, Token Incentives, ReputationLearnPython, TypeScript
22Production Scaling — Queues, Checkpoints, DurabilityBuildPython, TypeScript
23Failure Modes — MAST, Groupthink, MonocultureLearnPython, TypeScript
24Evaluation and Coordination BenchmarksLearnPython, TypeScript
25Case Studies and 2026 State of the ArtLearnPython, TypeScript
</details> <details id="phase-17"> <summary><b>Phase 17 — Infrastructure & Production</b> &nbsp;<code>29 lessons</code>&nbsp; <em>Ship AI to the real world.</em></summary> <br/>
#LessonTypeLang
01Managed LLM Platforms — Bedrock, Azure OpenAI, Vertex AILearnPython, TypeScript
02Inference Platform Economics — Fireworks, Together, Baseten, ModalLearnPython, TypeScript
03GPU Autoscaling on Kubernetes — Karpenter, KAI SchedulerLearnPython, TypeScript
04Serving Engine Internals — PagedAttention, Continuous Batching, Chunked PrefillLearnPython, TypeScript, Rust
05EAGLE-3 Speculative Decoding in ProductionLearnPython, TypeScript
06Prefix-Cache Serving — RadixAttention and KV ReuseLearnPython, TypeScript, Rust
07Hardware-Specialized Inference Compilation — FP8 and NVFP4 on BlackwellLearnPython, TypeScript
08Inference Metrics — TTFT, TPOT, ITL, Goodput, P99LearnPython, TypeScript
09Production Quantization — AWQ, GPTQ, GGUF, FP8, NVFP4LearnPython, TypeScript
10Cold Start Mitigation for Serverless LLMsLearnPython, TypeScript
11Multi-Region LLM Serving and KV Cache LocalityLearnPython, TypeScript
12Edge Inference — ANE, Hexagon, WebGPU, JetsonLearnPython, TypeScript
13LLM Observability Stack SelectionLearnPython, TypeScript
14Prompt Caching and Semantic Caching EconomicsLearnPython, TypeScript
15Batch APIs — the 50% Discount as Industry StandardLearnPython, TypeScript
16Model Routing as a Cost-Reduction PrimitiveLearnPython, TypeScript
17Disaggregated Prefill/Decode — NVIDIA Dynamo and llm-dLearnPython, TypeScript
18Production Serving Stack — KV Offloading and Cache-Aware RoutingLearnPython, TypeScript
19AI Gateways — LiteLLM, Portkey, Kong, BifrostLearnPython, TypeScript
20Shadow, Canary, and Progressive DeploymentLearnPython, TypeScript
21A/B Testing LLM Features — GrowthBook and StatsigLearnPython, TypeScript, Julia
22Load Testing LLM APIs — k6, LLMPerf, GenAI-PerfBuildPython, TypeScript
23SRE for AI — Multi-Agent Incident ResponseLearnPython, TypeScript
24Chaos Engineering for LLM ProductionLearnPython, TypeScript
25Security — Secrets, PII Scrubbing, Audit LogsLearnPython, TypeScript
26Compliance — SOC 2, HIPAA, GDPR, EU AI Act, ISO 42001LearnPython, TypeScript
27FinOps for LLMs — Unit Economics and Multi-Tenant AttributionLearnPython, TypeScript
28Self-Hosted Serving Selection — Matching Engine to Hardware and ScaleLearnPython, TypeScript
29Model Demo Interfaces — From a Function to a Shareable AppBuildPython, TypeScript
</details> <details id="phase-18"> <summary><b>Phase 18 — Ethics, Safety & Alignment</b> &nbsp;<code>30 lessons</code>&nbsp; <em>Build AI that helps humanity. Not optional.</em></summary> <br/>
#LessonTypeLang
01Instruction-Following as Alignment SignalLearnPython, TypeScript
02Reward Hacking & Goodhart's LawLearnPython, TypeScript
03Direct Preference Optimization FamilyLearnPython, TypeScript
04Sycophancy as RLHF AmplificationLearnPython, TypeScript
05Constitutional AI & RLAIFLearnPython, TypeScript
06Mesa-Optimization & Deceptive AlignmentLearnPython, TypeScript
07Sleeper Agents — Persistent DeceptionLearnPython, TypeScript
08In-Context Scheming in Frontier ModelsLearnPython, TypeScript
09Alignment FakingLearnPython, TypeScript
10AI Control — Safety Despite SubversionLearnPython, TypeScript
11Scalable Oversight & Weak-to-StrongLearnPython, TypeScript
12Red-Teaming: PAIR & Automated AttacksBuildPython, TypeScript
13Many-Shot JailbreakingLearnPython, TypeScript
14ASCII Art & Visual JailbreaksBuildPython, TypeScript
15Indirect Prompt InjectionBuildPython, TypeScript
16Red-Team Tooling: Garak, Llama Guard, PyRITBuildPython, TypeScript
17WMDP & Dual-Use Capability EvaluationLearnPython, TypeScript
18Frontier Safety Frameworks — RSP, PF, FSFLearnPython, TypeScript
19Model Welfare ResearchLearnPython, TypeScript
20Bias & Representational HarmBuildPython, TypeScript
21Fairness Criteria: Group, Individual, CounterfactualLearnPython, TypeScript
22Differential Privacy for LLMsBuildPython, TypeScript, Julia
23Watermarking: SynthID, Stable Signature, C2PABuildPython, TypeScript
24Regulatory Frameworks: EU, US, UK, KoreaLearnPython, TypeScript
25EchoLeak & CVEs for AILearnPython, TypeScript
26Model, System & Dataset CardsBuildPython, TypeScript
27Data Provenance & Training-Data GovernanceLearnPython, TypeScript
28Alignment Research Ecosystem: MATS, Redwood, Apollo, METRLearnPython, TypeScript
29Moderation Systems: OpenAI, Perspective, Llama GuardBuildPython, TypeScript
30Dual-Use Risk: Cyber, Bio, Chem, NuclearLearnPython, TypeScript
</details> <details id="phase-19"> <summary><b>Phase 19 — Capstone Projects</b> &nbsp;<code>85 lessons</code>&nbsp; <em>17 end-to-end products + 9 deep-build tracks. 20-40 hours per project; 4-12 lessons per track.</em></summary> <br/>
#ProjectCombinesLang
01Terminal-Native Coding AgentP0 P5 P7 P10 P11 P13 P14 P15 P17 P18Python, TypeScript
02RAG over Codebase (Cross-Repo Semantic Search)P5 P7 P11 P13 P17Python, TypeScript
03Real-Time Voice Assistant (ASR → LLM → TTS)P6 P7 P11 P13 P14 P17Python, TypeScript
04Multimodal Document QA (Vision-First)P4 P5 P7 P11 P12 P17Python, TypeScript
05Autonomous Research Agent (AI-Scientist Class)P0 P2 P3 P7 P10 P14 P15 P16 P18Python, TypeScript
06DevOps Troubleshooting Agent for KubernetesP11 P13 P14 P15 P17 P18Python, TypeScript
07End-to-End Fine-Tuning PipelineP2 P3 P7 P10 P11 P17 P18Python, TypeScript
08Production RAG Chatbot (Regulated Vertical)P5 P7 P11 P12 P17 P18Python, TypeScript
09Code Migration Agent (Repo-Level Upgrade)P5 P7 P11 P13 P14 P15 P17Python, TypeScript
10Multi-Agent Software Engineering TeamP11 P13 P14 P15 P16 P17Python, TypeScript
11LLM Observability & Eval DashboardP11 P13 P17 P18Python, TypeScript, Go
12Video Understanding Pipeline (Scene → QA)P4 P6 P7 P11 P12 P17Python, TypeScript
13Stateless MCP Server with Registry and GovernanceP11 P13 P14 P17 P18Python, TypeScript, Go
14Speculative-Decoding Inference ServerP3 P7 P10 P17Python, TypeScript
15Constitutional Safety Harness + Red-Team RangeP10 P11 P13 P14 P18Python, TypeScript
16GitHub Issue-to-PR Autonomous AgentP11 P13 P14 P15 P17Python, TypeScript
17Personal AI Tutor (Adaptive, Multimodal)P5 P6 P11 P12 P14 P17 P18Python, TypeScript

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

#ProjectCombinesLang
20Agent Harness Loop ContractA. Agent harnessPython, TypeScript
21Tool Registry with Schema ValidationA. Agent harnessPython, TypeScript
22JSON-RPC 2.0 Over Newline-Delimited StdioA. Agent harnessPython, TypeScript
23Function Call DispatcherA. Agent harnessPython, TypeScript
24Plan-Execute Control FlowA. Agent harnessPython, TypeScript
25Verification Gates and Observation BudgetA. Agent harnessPython, TypeScript
26Sandbox Runner with Denylist and Path JailA. Agent harnessPython, TypeScript
27Eval Harness with Fixture TasksA. Agent harnessPython, TypeScript
28Observability with OTel GenAI Spans and Prometheus MetricsA. Agent harnessPython, TypeScript
29End-to-End Coding Agent on the HarnessA. Agent harnessPython, TypeScript
30BPE Tokenizer From ScratchB. NLP LLMPython, TypeScript, Rust
31Tokenized Dataset with Sliding WindowB. NLP LLMPython
32Token and Positional EmbeddingsB. NLP LLMPython
33Multi-Head Self-AttentionB. NLP LLMPython
34Transformer Block from ScratchB. NLP LLMPython
35GPT Model AssemblyB. NLP LLMPython
36Training Loop and EvaluationB. NLP LLMPython
37Loading Pretrained WeightsB. NLP LLMPython
38Classifier Fine-Tuning by Head SwapB. NLP LLMPython
39Instruction Tuning by Supervised Fine-TuningB. NLP LLMPython
40Direct Preference Optimization from ScratchB. NLP LLMPython
41Full Evaluation PipelineB. NLP LLMPython
42Large Corpus DownloaderC. Train end-to-endPython, TypeScript
43HDF5 Tokenized CorpusC. Train end-to-endPython
44Cosine LR with Linear WarmupC. Train end-to-endPython
45Gradient Clipping and Mixed PrecisionC. Train end-to-endPython
46Gradient AccumulationC. Train end-to-endPython
47Checkpoint Save and ResumeC. Train end-to-endPython
48Distributed Data Parallel and FSDP from ScratchC. Train end-to-endPython
49Language Model Evaluation HarnessC. Train end-to-endPython, TypeScript
50Hypothesis GeneratorD. Auto researchPython, TypeScript
51Literature RetrievalD. Auto researchPython, TypeScript
52Experiment RunnerD. Auto researchPython, TypeScript
53Result EvaluatorD. Auto researchPython
54Paper WriterD. Auto researchPython, TypeScript
55Critic LoopD. Auto researchPython, TypeScript
56Iteration SchedulerD. Auto researchPython, TypeScript
57End-to-End Research DemoD. Auto researchPython, TypeScript
58Vision Encoder PatchesE. Multimodal VLMPython
59Vision Transformer EncoderE. Multimodal VLMPython
60Projection Layer for Modality AlignmentE. Multimodal VLMPython
61Cross-Attention FusionE. Multimodal VLMPython
62Vision-Language PretrainingE. Multimodal VLMPython
63Multimodal EvaluationE. Multimodal VLMPython
64Chunking Strategies, ComparedF. Advanced RAGPython, TypeScript
65Hybrid Retrieval with BM25 and Dense EmbeddingsF. Advanced RAGPython, TypeScript
66Cross-Encoder RerankerF. Advanced RAGPython
67Query Rewriting: HyDE, Multi-Query, and DecompositionF. Advanced RAGPython, TypeScript
68RAG Evaluation: Precision, Recall, MRR, nDCG, Faithfulness, Answer RelevanceF. Advanced RAGPython, TypeScript
69End-to-End RAG SystemF. Advanced RAGPython
70Task Spec FormatG. Eval frameworkPython, TypeScript
71Classical MetricsG. Eval frameworkPython, TypeScript
72Code Exec MetricG. Eval frameworkPython, TypeScript
73Perplexity and CalibrationG. Eval frameworkPython, TypeScript
74Leaderboard AggregationG. Eval frameworkPython, TypeScript
75End-to-End Eval RunnerG. Eval frameworkPython, TypeScript
76Collective Ops From ScratchH. Distributed trainPython
77Data Parallel DDP From ScratchH. Distributed trainPython
78ZeRO Optimizer State ShardingH. Distributed trainPython
79Pipeline Parallel and Bubble AnalysisH. Distributed trainPython
80Sharded Checkpoint and Atomic ResumeH. Distributed trainPython
81End-to-End Distributed TrainingH. Distributed trainPython
82Jailbreak TaxonomyI. Safety harnessPython
83Prompt Injection DetectorI. Safety harnessPython, TypeScript
84Refusal EvaluationI. Safety harnessPython
85Content Classifier IntegrationI. Safety harnessPython, TypeScript
86Constitutional Rules EngineI. Safety harnessPython
87End-to-End Safety GateI. Safety harnessPython, TypeScript
</details>

Books and certifications

<details> <summary>Read the core curriculum as a book</summary>

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.

VolTitlePhasesDownload
1Foundations · Math, Tooling, and Classical Machine Learning00-02EPUB · PDF
2Deep Learning · Networks, Vision, and Speech03, 04, 06EPUB · PDF
3Language · NLP Foundations and the Transformer05, 07EPUB · PDF
4Large Language Models · Generation, Reinforcement, Pretraining, and Engineering08-11EPUB · PDF
5Agents · Multimodality, Protocols, Autonomy, and Swarms12-16EPUB · PDF
6Production · Infrastructure, Safety, and Capstones17-19EPUB · 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.

</details> <details> <summary>Prepare for Claude certifications</summary>

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.

</details> <details> <summary>Prepare for MCP Associate (MCPA)</summary>

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.

</details>

The toolkit

Every lesson produces a reusable artifact. Install one in your agent or use the scripts below from the repository root.

<details> <summary>Lesson structure and reusable artifacts</summary>

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, Go)
├── 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>"]
  classDef beat fill:#fafaf5,stroke:#3553ff,color:#1a1a1a
  class M,Pr,C,B,U,S beat

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.

<table> <tr> <th align="left" width="25%"><img src="site/assets/figures/001-a-prompts.svg" width="120" height="120" alt="FIG_001.A prompts"/><br/><sub>FIG_001 · A</sub><br/><b>PROMPTS</b></th> <th align="left" width="25%"><img src="site/assets/figures/001-b-skills.svg" width="120" height="120" alt="FIG_001.B skills"/><br/><sub>FIG_001 · B</sub><br/><b>SKILLS</b></th> <th align="left" width="25%"><img src="site/assets/figures/001-c-agents.svg" width="120" height="120" alt="FIG_001.C agents"/><br/><sub>FIG_001 · C</sub><br/><b>AGENTS</b></th> <th align="left" width="25%"><img src="site/assets/figures/001-d-mcp-servers.svg" width="120" height="120" alt="FIG_001.D MCP servers"/><br/><sub>FIG_001 · D</sub><br/><b>MCP SERVERS</b></th> </tr> <tr> <td valign="top">Paste into any AI assistant for expert-level help on a narrow task.</td> <td valign="top">Drop into Claude, Cursor, Codex, OpenClaw, Hermes, or any agent that reads <code>SKILL.md</code>.</td> <td valign="top">Deploy as autonomous workers — you wrote the loop yourself in Phase 14.</td> <td valign="top">Plug into any MCP-compatible client. Built end-to-end in Phase 13.</td> </tr> </table> </details> <details> <summary>Install lesson artifacts</summary>

The lesson artifacts. The repo ships 414 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 <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:

--layoutPath 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
</details> <details> <summary>Drop the agent workbench into your own repo</summary>

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

</details> <details> <summary>Browse the entire course as JSON</summary>

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.

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.

</details> <details> <summary>Smoke-check every lesson's Python code</summary>

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

</details> <details> <summary>Foundational papers and protocols</summary>
  • 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
</details>

Contributing

GoalRead
Contribute a lesson or fixCONTRIBUTING.md
Fork for your team or schoolFORKING.md
Lesson templateLESSON_TEMPLATE.md
Track progressROADMAP.md
Glossaryglossary/terms.md
Code of conductCODE_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.

<a id="supporters"></a>

Sponsor the work

<!-- STATS:START (generated from site/stats.json by build.js — do not edit by hand) --> <p align="center"><sub><b>114,584</b> readers &nbsp;·&nbsp; <b>181,995</b> page views in the last 30 days &nbsp;·&nbsp; as of 2026-08-29</sub></p> <!-- STATS:END -->

Free, MIT-licensed, 542 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.

<sub> <a href="https://x.com/ghumare64">@ghumare64</a> &nbsp;·&nbsp; <a href="https://aiengineeringfromscratch.com">aiengineeringfromscratch.com</a> &nbsp;·&nbsp; <a href="https://github.com/rohitg00/ai-engineering-from-scratch/issues/new/choose">Report / Suggest</a> </sub>

AI Engineering From Scratch alternatives

View more →

Similar ai agents in Learning Resources, ranked by GitHub stars. Compare licence, recent activity and scan status before you choose.

NameStarsLicenceLast updatedScan
AI Engineering From Scratch (this page)
rohitg00
76kMITOct 29, 2026Scanned, no flagged issues
Prompt Engineering Guide
dair-ai
80kMITMar 11, 2026Scanned, no flagged issues
Learn Claude Code
shareAI-lab
80kMITOct 27, 2026Scanned, no flagged issues
Front End Checklist
thedaviddias
75kMITOct 31, 2026Scanned, no flagged issues
System Prompts Leaks
asgeirtj
71kCC0-1.0Nov 1, 2026Scanned, no flagged issues
Claude Code Best Practice
shanraisshan
68kMITNov 1, 2026Scanned, no flagged issues