The more autonomous the system, the more one question matters: which actions require a human’s yes? Human in the loop isn’t an admission of failure — it’s a deliberate pattern: let the AI do 95% of the work, and place a human checkpoint exactly where errors are expensive or irreversible.
The analogy
The co-signature at the bank. The advisor prepares the entire loan file — analysis, scoring, paperwork. But above a threshold, the branch manager must sign. Not because the advisor is bad: because some mistakes you can’t undo, and a second pair of eyes there is worth its cost.
The principle
flowchart LR
AI["AI prepares the work"] --> Q{sensitive action?}
Q -->|routine| E[execute]
Q -->|sensitive| H["human: approve / edit / reject"]
H -->|approved| E
H -->|rejected| S([stop])
The design work is drawing the threshold line. Good rules of thumb:
- Reversible & cheap → let the AI proceed (drafting, reading, analyzing, running tests).
- Irreversible or outward-facing → checkpoint (sending, publishing, deleting, paying, deploying).
- The human must see enough context to really judge — an approval screen nobody reads is theater, not safety.
A concrete example
An agent that answers customer emails:
routine → drafts reply, saves as draft (auto)
refund < €50 → sends reply directly (auto)
refund ≥ €50 → drafts + notifies a manager:
"approve / edit / reject" (human)
angry customer detected → escalates to human (human)
95% flows without friction; the 5% that could cost money or reputation waits for a signature.
When to use it
- Actions are irreversible (delete, send, pay) or public (publish, reply).
- Errors are rare but expensive — the human reviews exceptions, not everything.
- Regulations or trust demand accountability: someone must own the decision.
- Combine it with an agent loop and guardrails: the loop works, the rules filter, the human arbitrates.
When to avoid it
- Everything requires approval → you’ve built a slow suggestion box, and the human rubber-stamps out of fatigue. Approve categories of risk, not every step.
The classic trap
Checkpoint fatigue. Fifty approval requests a day and the human clicks “yes” on autopilot — the safety net becomes decorative. Keep checkpoints rare and meaningful, and make each one show exactly what will happen if approved.