The Three Tiers
It helps to see AI assistance as three tiers, each handing you a bit more rope.
- In-editor completions. The AI suggests the next line or block as you type. You're in full control; you accept or reject each suggestion. The unit of work is a few lines, and you review all of them by default because they appear right under your cursor.
- Repo-level assistants. You chat with an assistant that can see your whole project, edit several files at once, run commands, and read the output. This is where most of the work in this book happens. The unit of work is a step or a small feature, and you review the diff after each turn.
- Autonomous agents. You give a goal — "make the test suite pass," "migrate this module to the new (Application Programming Interface, the set of commands one piece of software exposes for others to use)" — and the plans, edits, runs, reads errors, and tries again across many steps. You review the result, not each individual action. The unit of work is a whole task.
Each tier hands you more rope: a bigger unit of work, less continuous steering, and a later point where you review:
TIER UNIT OF WORK YOU REVIEW CONTROL
┌──────────────────────────────────────────────────────────────┐
│ completions a few lines each suggestion ███████ tight
│ ▼ ─────────── ─────────────
│ repo assistant a step/feature the diff/turn ████░░░
│ ▼ ─────────── ─────────────
│ autonomous a whole task the RESULT █░░░░░░ loose
│ agent
└──────────────────────────────────────────────────────────────┘
more rope ▼ ── steer continuously → set loose, check outcome
The jump that matters is the last one. With the first two tiers you steer continuously; with an autonomous agent you set it loose and check the outcome. That's a different skill, and it's the rest of this chapter.