The Autonomy Ladder
The same classifier, more self-direction one level at a time.
Each level is the same classifier with more self-direction. The axis is who drives. A reach for a tool does not move a level. A decision the system makes for itself does.
The measurements sit in the rungs below.
L1 a human runs it → L2 + a tool → L3 it decides it is done → L4 agents coordinate
-
L1 Single call Shipped · v1
Prompt, structured output, the eval harness.
Who drives A human runs each item.
-
L2 Augmented Shipped v2.0.0, then retired
BM25 retrieval grounds the label in a corpus.
Who drives A human runs it; the model reaches for a tool.
-
L3 Autonomous loop Climbed · both rungs
Wrapped in a loop that iterates to an explicit done-signal.
Who drives The system decides when it’s done.
- rung 1 — prompt-optimization loop shipped, rode the v2.1.0 tag
- rung 2 — agent-driven ML loop built · its live run gamed its own metric, and got caught
-
L4 Multi-agent Built, measured · declined
Decomposed: triage, classify, and a critic that can hand work backward.
Who drives Multiple agents coordinate.
L2 asks one question. Does something to lean on help the model? I asked it three ways.
- Retrieved neighbor documents as context Harmful
- Machine-mined keyword features Helpful on the set they were mined from, harmful off it
- Retrieved labeled examples as few-shot exemplars Inert
L2 stays on the record as climbed, then retired.
L3’s two rungs each have a recorded run on the run replay. Rung 1 is the prompt-optimization loop. It gained on the set it tuned against, and it slipped on held-out gold. Rung 2 is an agent that does error-driven feature engineering on a trained baseline (ADR-018). It gained 6.0 macro-F1 points on the split that selected it. It lost 8.6 macro-F1 points on the human-labeled gold set that no decision read. The loop’s design gave the held-out set veto power, and it used it.
L4’s honesty test is the backward edge. I aimed the critic at the one named, rule-checkable error cluster. That cluster is seven of the 54 gold rows. In each row the model inferred a region from the US actor, and the text stated no place. The critic fixed six of the seven. The honesty test passed.
The pipeline still lost (ADR-020). The critic’s restraint lived only in its prompt. It challenged 4× more often than its charter allowed. Outside its target it broke more labels than it fixed. That is the repo’s first statistically significant harm: domain 91.3% → 86.7% on the n=300 paired test, p=0.016, at 4× the cost.
Both halves are the finding. The backward edge works. An agent whose scope rests on prose instead of code will spend that power freely.
ADR-006 records the decision to make the ladder the spine. The living roadmap holds the per-level detail. A reader can check what shipped against what I promised.