Skip to main content

Workbench

Change one thing. Run it. Read what changed.

Every lab below is linked to the lesson that gives the experiment its question and context.

01ChangeEdit one meaningful input, value, or piece of code.
02RunExecute the smallest experiment that can answer the question.
03CompareRead the output against the previous state or prediction.
04ExplainSay what changed, what stayed fixed, and why the evidence matters.

Published lab inventory

221 lesson-linked labs are currently integrated across Levels 0–15. 119 run in the browser. 14 open as notebook workflows. 88 require a local environment.

Level 0

12 labs
Browser · Pyodide

Trace a Pattern into a Prediction

Meet AI: Patterns, Predictions, and Decisions

Open in lesson →
Browser · Pyodide

Compare a Rule with a Learned Threshold

Rules vs Learning

Open in lesson →
Browser · Pyodide

Run Two Controlled Threshold Experiments

Your First AI Experiment

Open in lesson →
Browser · Pyodide

Trace Inputs, Outputs, and Labels

Inputs, Outputs, and Predictions

Open in lesson →
Browser · Pyodide

Inspect Prediction Errors

Errors: When a Model Gets It Wrong

Open in lesson →
Browser · Pyodide

Change One Thing at a Time

Changing One Thing at a Time

Open in lesson →
Browser · Pyodide

Compare a Predictor with a Baseline

Fair Comparisons and Baselines

Open in lesson →
Browser · Pyodide

Turn Results into an Experiment Explanation

From Experiment to Explanation

Open in lesson →
Browser · Pyodide

Debug and Improve a Tiny Predictor

Debug and Improve a Tiny Predictor

Open in lesson →

Level 1

18 labs
Browser · Pyodide

Compare Prediction Rules by Loss

What Machine Learning Is Really Optimizing

Open in lesson →
Browser · Pyodide

Inspect a Dataset as Features and Target

Datasets as Tables

Open in lesson →
Browser · Pyodide

Create a Reproducible Train/Test Split

Splitting Data Without Cheating

Open in lesson →
Browser · Pyodide

Fit Regression with Multiple Features

Multiple Features

Open in lesson →
Browser · Pyodide

Fit Logistic Regression and Inspect Probabilities

Logistic Regression

Open in lesson →
Browser · Pyodide

Compute Precision, Recall, and F1

Metrics Beyond Accuracy

Open in lesson →
Browser · Pyodide

Measure Variation with Cross-Validation

Cross-Validation

Open in lesson →
Browser · Pyodide

Compare Underfitting and Overfitting

Bias, Variance, and Overfitting

Open in lesson →
Browser · Pyodide

Build a Reproducible ML Pipeline

Pipelines and Reproducible Experiments

Open in lesson →
Browser · Pyodide

Review a Trustworthy Classifier

Model Review: Build a Trustworthy Classifier

Open in lesson →

Level 2

15 labs
Browser · Pyodide

Compare a Linear Rule with a Tiny Network

Why Neural Networks

Open in lesson →
Browser · Pyodide

Estimate a Derivative Numerically

Derivatives Just in Time

Open in lesson →
Browser · Pyodide

Backpropagate One Scalar Parameter

Backpropagation in Code

Open in lesson →
Browser · Pyodide

Compare Full and Mini-Batch Gradients

Batching and Mini-Batches

Open in lesson →
Browser · Pyodide

Neural Network Debugging Workshop

Neural Network Debugging Workshop

Open in lesson →

Level 3

14 labs
Browser · Pyodide

Inspect a Learned Representation

Representations: What Networks Learn

Open in lesson →
Browser · Pyodide

Slide a Local Convolution Filter

Convolutions and Local Patterns

Open in lesson →
Browser · Pyodide

Build a Tiny Image Classifier

Build a Tiny Image Classifier

Open in lesson →
Browser · Pyodide

Compare Pooling and Downsampling

Pooling and Downsampling

Open in lesson →
Browser · Pyodide

Preserve Order in Sequence Features

Sequence Data and Time

Open in lesson →
Browser · Pyodide

Measure Long-Context Influence

Why Long Context Is Hard

Open in lesson →
Browser · Pyodide

Compare Embedding Geometry

Embeddings as Learned Coordinates

Open in lesson →
Notebook · Google Colab

Transfer Learning on Handwritten Digits

Transfer Learning

Open in lesson →
Notebook · Google Colab

Inspect a Pretrained Model Contract

Pretrained Models

Open in lesson →
Notebook · Google Colab

Fine-Tune a Small Encoder

Fine-Tuning a Small Encoder

Open in lesson →
Notebook · Google Colab

Failure Analysis Across Modalities

Failure Analysis Across Modalities

Open in lesson →
Notebook · Google Colab

Adaptation Strategy Review

Adaptation Review: Choose, Fine-Tune, Explain

Open in lesson →

Level 4

14 labs
Browser · Pyodide

Compare Character, Word, and Subword Pieces

Characters, Words, and Subwords

Open in lesson →
Browser · Pyodide

Measure Vocabulary Coverage and Unknown Tokens

Vocabulary and Unknown Tokens

Open in lesson →
Notebook · Google Colab

Run the Simple Tokenizer Notebook

Build a Simple Tokenizer

Open in lesson →
Browser · Pyodide

Learn One Subword Merge from Frequency

Subword Learning

Open in lesson →
Browser · Pyodide

Reserve and Verify Special Token IDs

Token IDs and Special Tokens

Open in lesson →
Browser · Pyodide

Pad, Truncate, and Build Masks

Padding, Truncation, and Masks

Open in lesson →
Browser · Pyodide

Generate Sinusoidal Position Vectors

Positional Encodings

Open in lesson →
Browser · Pyodide

Compare Truncation and Sliding Context Windows

Context Windows

Open in lesson →
Browser · Pyodide

Measure Tokenizer Failure Modes

Tokenizer Failure Modes

Open in lesson →
Notebook · Google Colab

Run the Tokenizer Evaluation Workshop

Tokenizer Evaluation Workshop

Open in lesson →

Level 5

16 labs
Browser · Pyodide

Separate Query, Key, and Value Roles

Queries, Keys, and Values

Open in lesson →
Browser · Pyodide

Measure Dot-Product Similarity

Dot Products as Similarity

Open in lesson →
Browser · Pyodide

Scale Dot Products Before Softmax

Scaled Dot-Product Attention

Open in lesson →
Browser · Pyodide

Mix Weighted Values

Attention Weights and Weighted Values

Open in lesson →
Notebook · Google Colab

Run the Causal Self-Attention Notebook

Self-Attention

Open in lesson →
Notebook · Google Colab

Run the Multi-Head Attention Lab

Multi-Head Attention

Open in lesson →
Browser · Pyodide

Build a Position-Wise Feed-Forward Network

Feed-Forward Networks

Open in lesson →
Notebook · Google Colab

Run the Putting the Pieces Together Lab

Putting the Pieces Together

Open in lesson →
Notebook · Google Colab

Run the Stacking Transformer Blocks Lab

Stacking Transformer Blocks

Open in lesson →
Notebook · Google Colab

Run the Build a Mini Transformer Lab

Build a Mini Transformer

Open in lesson →

Level 6

14 labs
Browser · Pyodide

Inspect Causal Decoder Access

Decoder-Only Language Models

Open in lesson →
Browser · Pyodide

Create Training Windows from Text

Training Examples from Text

Open in lesson →
Browser · Pyodide

Validate Tiny LM Configuration Shapes

Model Configuration and Shapes

Open in lesson →
Notebook · Google Colab

Train and Sample the Tiny Language Model

Training Loop

Open in lesson →
Browser · Pyodide

Record Reproducible Checkpoint Metadata

Checkpoints and Reproducibility

Open in lesson →
Browser · Pyodide

Compare Training and Validation Loss

Validation Loss and Overfitting

Open in lesson →
Browser · Pyodide

Compare Temperature, Top-k, and Top-p

Temperature, Top-k, and Top-p

Open in lesson →
Browser · Pyodide

Measure Generation Failure Signals

Generation Failure Modes

Open in lesson →
Browser · Pyodide

Evaluate a Tiny Language Model

Evaluate a Tiny Language Model

Open in lesson →
Local · local-python

Package a Reproducible Tiny LLM Run

Package the Training Run

Open in lesson →
Local · local-python

Run the Tiny LLM Integration Workshop

Tiny LLM Integration Workshop

Open in lesson →

Level 7

13 labs
Browser · Pyodide

Separate Probabilities from Sampling

How Modern LLMs Behave

Open in lesson →
Browser · Pyodide

Keep Roles and Trust Separate

System, User, and Assistant Roles

Open in lesson →
Browser · Pyodide

Separate Extraction from Calculation

Reasoning Tasks Without Magic Words

Open in lesson →
Browser · Pyodide

Move Evidence Through Context

Context Windows and Lost Information

Open in lesson →
Browser · Pyodide

Retrieve a Smaller Evidence Set

Long-Context Strategies

Open in lesson →
Browser · Pyodide

Abstain When Evidence Is Missing

Hallucinations and Uncertainty

Open in lesson →
Local · local-python

Review a Reliable LLM Workflow

Reliable LLM Workflow Review

Open in lesson →

Level 8

14 labs
Browser · Pyodide

Audit Instruction-Tuning Data

Data for Instruction Tuning

Open in lesson →
Browser · Pyodide

Split Related Training Records Safely

Cleaning and Formatting Training Data

Open in lesson →
Browser · Pyodide

Count PEFT Trainable Parameters

Parameter-Efficient Fine-Tuning

Open in lesson →
Browser · Pyodide

Measure Quantization Error

Quantization for Fine-Tuning

Open in lesson →
Browser · Pyodide

Compute Preference Margins

Preference Optimization Concepts

Open in lesson →
Browser · Pyodide

Compare Base and Adapted Evaluations

Evaluate Before and After Fine-Tuning

Open in lesson →
Browser · Pyodide

Detect Retention Regressions

Catastrophic Forgetting and Drift

Open in lesson →
Local · local-python

Validate a Model Card and Training Record

Model Cards and Training Records

Open in lesson →
Local · local-python

Run the Fine-Tuning Integration Workshop

Fine-Tuning Integration Workshop

Open in lesson →

Level 9

14 labs
Browser · Pyodide

Separate Retrieval and Generation Failures

Why Retrieval-Augmented Generation

Open in lesson →
Browser · Pyodide

Build Chunks with Metadata

Documents, Chunks, and Metadata

Open in lesson →
Browser · Pyodide

Combine Keyword and Vector Search

Keyword and Hybrid Search

Open in lesson →
Local · local-python

Build a Grounded Prompt Package

Grounded Prompt Construction

Open in lesson →
Local · local-python

Validate Citations and Source Support

Citations and Source Attribution

Open in lesson →
Local · local-python

Evaluate Retrieval and Grounded Answers

RAG Evaluation

Open in lesson →
Local · local-python

Trace Retrieval Failure Boundaries

Failure Modes in Retrieval

Open in lesson →
Local · local-python

Validate Freshness and Access Eligibility

Freshness, Access Control, and Updates

Open in lesson →
Local · local-python

Integrate an Evidence-Backed RAG System

RAG System Integration Workshop

Open in lesson →

Level 10

13 labs
Local · local-python

Function Calling and Tool Schemas

Function Calling and Tool Schemas

Open in lesson →
Local · local-python

Validate Structured Tool Arguments

Validate Structured Tool Arguments

Open in lesson →
Local · local-python

Tool Results Back into Context

Tool Results Back into Context

Open in lesson →
Local · local-python

Error Handling and Retries

Error Handling and Retries

Open in lesson →
Local · local-python

State Machines for Tool Workflows

State Machines for Tool Workflows

Open in lesson →
Local · local-python

Tool-Using Assistant Integration Workshop

Tool-Using Assistant Integration Workshop

Open in lesson →

Level 11

13 labs
Local · local-python

Bounded Agent Integration Workshop

Bounded Agent Integration Workshop

Open in lesson →

Level 12

13 labs
Local · local-python

Agent Harnesses and Runtime Structure

Agent Harnesses and Runtime Structure

Open in lesson →
Local · local-python

Task Queues and Durable State

Task Queues and Durable State

Open in lesson →
Local · local-python

Retries, Idempotency, and Recovery

Retries, Idempotency, and Recovery

Open in lesson →
Local · local-python

Sandboxing and Permissions

Sandboxing and Permissions

Open in lesson →
Local · local-python

Memory Retrieval and Compression

Memory Retrieval and Compression

Open in lesson →
Local · docker

Cost, Latency, and Reliability

Cost, Latency, and Reliability

Open in lesson →
Local · docker

Operating an Agent in Production

Operating an Agent in Production

Open in lesson →
Local · docker

Agent Harness Integration Workshop

Agent Harness Integration Workshop

Open in lesson →

Level 13

12 labs
Local · local-python

Why Interoperability Matters

Why Interoperability Matters

Open in lesson →
Local · local-python

Tool and Resource Protocols

Tool and Resource Protocols

Open in lesson →
Local · local-python

MCP Concepts: Servers, Clients, and Capabilities

MCP Concepts: Servers, Clients, and Capabilities

Open in lesson →
Local · local-python

Agent-to-Agent Communication Concepts

Agent-to-Agent Communication Concepts

Open in lesson →
Local · local-python

A2A Messages, Tasks, and Artifacts

A2A Messages, Tasks, and Artifacts

Open in lesson →
Local · docker

Multi-Agent Coordination Patterns

Multi-Agent Coordination Patterns

Open in lesson →
Local · docker

Shared State and Conflict Resolution

Shared State and Conflict Resolution

Open in lesson →
Local · docker

Interoperable Agent System Workshop

Interoperable Agent System Workshop

Open in lesson →

Level 14

13 labs
Local · local-python

KV Cache and Generation Throughput

KV Cache and Generation Throughput

Open in lesson →
Local · docker

Latency, Throughput, and Cost

Latency, Throughput, and Cost

Open in lesson →
Local · docker

Containers and Reproducible Deployments

Containers and Reproducible Deployments

Open in lesson →
Local · docker

Rollouts, Canaries, and Rollbacks

Rollouts, Canaries, and Rollbacks

Open in lesson →
Local · docker

Capacity Planning and Failure Recovery

Capacity Planning and Failure Recovery

Open in lesson →
Local · docker

Production AI Operations Workshop

Production AI Operations Workshop

Open in lesson →

Level 15

13 labs
Local · local-python

Golden Sets and Regression Suites

Golden Sets and Regression Suites

Open in lesson →
Local · local-python

Model and System Safety Basics

Model and System Safety Basics

Open in lesson →
Local · local-python

Threat Modeling for AI Systems

Threat Modeling for AI Systems

Open in lesson →
Local · local-python

Prompt Injection and Data Exfiltration

Prompt Injection and Data Exfiltration

Open in lesson →
Local · local-python

Privacy, Data Governance, and Retention

Privacy, Data Governance, and Retention

Open in lesson →
Local · docker

Red Teaming and Abuse Testing

Red Teaming and Abuse Testing

Open in lesson →
Local · docker

Frontier Model Capabilities and Limits

Frontier Model Capabilities and Limits

Open in lesson →
Local · docker

Emerging Agent Protocols and Ecosystems

Emerging Agent Protocols and Ecosystems

Open in lesson →
Local · docker

Research Reading and Reproduction

Research Reading and Reproduction

Open in lesson →
Local · docker

Capstone Integration: Ship, Evaluate, and Defend

Capstone Integration: Ship, Evaluate, and Defend

Open in lesson →