The Five Levels of
AI-Assisted Coding

Not all AI use is equal. The Five Levels framework is a vocabulary for making deliberate choices about how much of a task you hand to the AI — and how much oversight you keep.

Not a hierarchy of worth. Higher is not better. If you need a one-line function, Level 2 is the right call. The skill is choosing the right level for the task in front of you.
The Five Levels overview slide — the map that runs through every module and project Module 1, L1.2 · The Five Levels of AI-Assisted Coding · Slide 2
Level 1

AI as Reference

Ask. Get an answer. Apply it yourself.

You ask the AI a question. It answers it. What's the I2C address range for peripherals on an Arduino Uno? What does this linker error mean? What's the difference between SPI mode 0 and mode 3?

This maps directly onto what most people already do with search engines, except the AI synthesises and explains rather than returning links. For a maker digging into an unfamiliar datasheet, this is genuinely useful. It's also the level with the lowest ceiling — you're getting knowledge, not code.

Prompt →

What's the difference between SPI mode 0 and mode 3?

Output ↓

A clear explanation of clock polarity (CPOL) and clock phase (CPHA), with a timing diagram...

Level 2

AI for Snippets

You own the architecture. AI fills one piece.

You own the code. The AI fills in one piece of it. You're writing firmware for a sensor interface and you need a function that converts a 12-bit ADC reading to a voltage given a 3.3V reference.

You're still the architect. You decided the program structure, the data types, where this function sits. The AI handled one implementation detail. The key discipline is that you're not asking for the whole program — you're asking for a piece you can evaluate on its own terms.

Prompt →

Write a Python function that converts a 12-bit ADC value to voltage given a 3.3V reference.

Output ↓

def adc_to_voltage(adc_val: int, vref: float = 3.3) -> float: return (adc_val / 4095) * vref

Level 3

AI for Modules

Describe the interface. AI implements the class.

Covered in this course

The AI isn't filling in a snippet. It's implementing a complete, self-contained piece of your design. You need a Python class that manages a serial connection to an Arduino: opens the port, sends JSON commands, reads responses, handles timeouts, raises a clean exception if the connection drops.

You designed the interface; the AI wrote the implementation. You still need to understand the result well enough to test it and integrate it. Domain knowledge pays off here: knowing the edge cases — dropped connections, malformed responses — is what makes the specification precise enough for the AI to get it right.

Prompt →

Create a Python class SerialBridge that opens a serial port at 9600 baud, sends dict commands as JSON lines, reads JSON responses, and raises ConnectionError on timeout.

Output ↓

class SerialBridge: def __init__(self, port, baud=9600, timeout=2): ...

Level 4

AI for Complete Files

You specify. AI builds the whole thing.

Covered in this course

You provide a specification. The AI returns a working file or sub-system. A concrete example: write a single-file Python script that reads sensor data from a serial port at 9600 baud, plots three channels live, and saves to CSV when the user closes the window.

You are the architect and the reviewer. You specify what the system does; the AI codes the whole thing. The quality of the output depends almost entirely on the quality of your specification. Underspecify and you get something that technically works but doesn't fit your requirements. This is where framing becomes the bottleneck.

Prompt →

Create a single-file Python script that reads comma-separated lines (timestamp, voltage, current) from serial at 9600 baud, plots all three on a live-updating chart, and saves to CSV on close. No external dependencies beyond pyserial and matplotlib.

Output ↓

# A complete 120-line Python script ready to run

The Level 4 spec example — what a complete, well-framed prompt looks like in practice Module 1, L1.3 · Framing a Problem for an AI · Strong prompt slide
Level 5

AI as Agent

Set a goal. AI reads, runs, fixes, reports.

Covered in this course

The AI doesn't just generate code. It reads your files, runs commands, observes the output, and responds to what it finds. You set a goal; the AI executes the steps. You point Claude Code at a half-built serial plotter and say: "The graph freezes when the Arduino sends malformed data. Find the issue and fix it."

Claude Code reads the source files, identifies where the parser fails on unexpected input, writes a fix, runs the script to verify it, and reports what it changed. You didn't write any of that code. You reviewed the diff and decided whether to accept it. Level 5 is the most powerful mode — and the one that requires the most from you.

Prompt →

The graph freezes when the Arduino sends malformed data. Find the issue and fix it. Run the tests after to confirm nothing regressed.

Output ↓

// Agent reads 4 files, identifies parser bug, writes fix, runs tests, returns diff

Level 5 in action — Claude Code reading files, running tests, and returning a diff Module 5, L5.4 · Building a Multi-file Project with an Agent

Where you start, where you finish

Most makers enter at Level 1 or 2. By the end of this course you'll work confidently at Levels 3–4, with hands-on Level 5 experience. The projects build in a deliberate sequence.

P1 — RC Filter Analyser
Level 3–4
Built in Claude browser. No editor, no agent.
P2 — CLI Tool
Level 4
Multi-file Python, Cline or Claude Code in editor.
P3 — Serial Plotter GUI
Level 4
Multi-file with agent assist for debugging.
P4 — Datasheet Q&A Tool
Level 4–5
First agent-directed multi-step build.
P5 — Resource Booking System
Level 5
Full autonomous agent run across 10+ files.

The progression is deliberate. Without the lower-level experience, you can't evaluate what an agent produces. The projects give you that foundation before asking you to use it at full power.

Ready to level up?

The Five Levels framework runs through the entire course. Start at Level 1 and work your way to confident Level 5 use by the capstone.