AI agents · A scripted run · Space to play
How a team of AI models can build a software feature in a loop. The biggest model plans the work and reviews it, a mid-sized one writes the code, and the smallest reads files and clicks through the browser. The checks that decide pass or fail are plain code, not models. Press play to watch one run, failures included.
The task: Add a decade filter to a movie list
0:00 into the run · step 1 of 23
✓ a check passed · ✕ a check failed and the run went back to Build. Tap any block to jump to it.
Person
Asks for the feature, approves the ship
Add a decade filter to the movies page, so I can see just the nineties.
A person: no tokens
Total $0.00
| Model | Calls | In | Out | Cost |
|---|---|---|---|---|
| Opus 5.5$4.00 in / $20.00 out per million | 0 | 0.0k | 0.0k | $0.00 |
| Sonnet 5.5$2.00 in / $10.00 out per million | 0 | 0.0k | 0.0k | $0.00 |
| Haiku 5.5$0.10 in / $0.50 out per million | 0 | 0.0k | 0.0k | $0.00 |
| Gates (code) | 0 | – | – | $0 |
The same tokens all on Opus 5.5 would have cost $0.00. List prices, without prompt caching.
A loop framework gives an agent a fixed path to follow. First write down what done looks like as checks anyone can run: “picking 1990s shows only films from 1990 to 1999”, not “it looks good”. Then build, and go round until every check passes. Any failure, at any stage, sends the work back to Build with the reason attached. Nothing reaches production until a person says yes.
The run above adds a decade filter to a page of movies. It fails twice, which is normal and the point: a type error caught by the compiler, and a bug the browser check missed but the review caught.
The work in a loop is uneven. A little of it is judgment, where a mistake is expensive: deciding what to build and whether the result is right. Much more of it is reading files and clicking through pages, where a mistake is cheap and the next check catches it. So each kind of work gets its own model.
Each model sees only what its job needs. The scouts hand the lead a short summary, not every file they opened, so the lead's context stays small and sharp.
A model asked whether its own work is finished tends to say yes. The compiler, the linter and the build cannot be talked round, so they hold the gates, and they cost nothing. Where a check needs eyes, such as clicking through a page, a model does it, but against checks written down before any code existed.
The layers catch different things. In this run the compiler caught a type error, and the review caught a bug the browser check had walked straight past, because nobody had told it to click “All”.