← Writing
6 min read

Human-in-the-loop is an architecture, not a checkbox

Every agent system makes one decision that matters more than the model, the prompt, or the framework you picked. Where does the human sit. Most teams answer it by accident, and usually late, after something went out the door that shouldn't have.

The vocabulary for the answer is old. The Department of Defense wrote it down in 2012, in a directive about autonomous weapons of all things. Directive 3000.09 draws three lines. Human in the loop: the system only acts on something a person selected. Human on the loop: the system acts on its own, a person watches and can halt it. Human out of the loop: it just goes. The highest-stakes autonomous-systems program on the planet settled this taxonomy over a decade ago. The agent industry is still shipping "human-in-the-loop" as a bullet on a pricing page.

I build agents for insurance back-office work, where approvals are the whole game. Nobody lets software bind coverage on its own. So I've had to get specific about where the human sits, and it turns out that isn't one decision. It's a ladder.

An escalation ladder: four tiers from routine high-confidence work the agent handles alone, up through ambiguous-but-reversible work it logs, to money-moving or low-confidence work a human approves, to out-of-policy work that fails closed and escalates to a senior human.
The human sits at more than one rung. Which rung depends on the stakes, not the model's mood.

At the bottom is the routine, high-confidence work. The agent acts and nobody gets paged. One rung up, things are ambiguous but reversible, so the agent proceeds and writes an event you can review later. Higher still, money moves or the model is unsure, and the agent pauses and waits for a person to approve before anything commits. At the top, it's out of policy or something the system has never seen, and the whole thing fails closed. Nothing commits. A senior human gets pulled in.

Notice what the rungs are gated on. Not the model's confidence. That's the mistake I see most. A model that reports 90% sure is right closer to three quarters of the time, and once you chain a few of those calls together the real number gets ugly. Gating on self-reported confidence is gating on a number the model made up. So the ladder gates on the action instead. Reversible and cheap, let it run. Irreversible or money-moving, a human commits it, however confident the model claims to be. Fail closed on the consequence, not the vibe.

Fail closed is the rung people skip. When the agent is unsure, the default has to be stop and wait, not proceed and hope. A gate that fails open when it's confused isn't a gate. It's a formality.

Fallback, or the product

Here's the reframe that's worth the whole post. Sometimes the human is the fallback. The agent does the work, a person catches the rare bad one, and the goal is to page that person as little as possible. Other times the human is the product. The entire point is a person deciding, and the agent exists to tee up the decision, not to make it and ask forgiveness.

In underwriting, binding coverage is the second kind. You do not want an agent that binds and lets a human audit it afterward. You want an agent that pulls the submission, the loss runs, the guidelines, the prior quotes, lays it all out, and hands a human the pen. Get this backwards and you build something that demos beautifully and no one can actually use, or worse, something that quietly commits things nobody signed off on.

Anthropic put numbers on the drift between these two modes. In their study of agent autonomy in the wild, roughly 73% of agent tool calls still had a human in the loop, and only a sliver of actions were irreversible. But as people got experienced, they approved more automatically, from around 20% up past 40%, and at the same time they interrupted more often. That's the pattern. Oversight matures from approving every step to monitoring the stream and reaching in when something smells wrong. Human in the loop for the sharp end, human on the loop for the rest.

The scaling objection

The strongest attack on all of this: human oversight doesn't scale, so isn't the ladder just a nicer coffin? At machine speed a person can't meaningfully review each action, and stacking a human in front of everything relocates the bottleneck instead of removing it.

It's a fair hit, and it only lands if you review actions. The ladder exists so you review exceptions. Most work never reaches a human rung. What reaches you is the small, weird tail, and the volume of that tail grows a lot slower than the volume of work. That's the trick. Oversight goes sub-linear. It's the only version that scales, and it's why watching a few dozen agents at once isn't a few dozen times harder than watching one.

Though there's a catch that pilots and on-call engineers already know. The human who only ever handles the rare exception gets rusty at it. Aviation has a name for the failure, the out-of-the-loop problem: the supervisor who lets automation fly the routine loses the situational awareness they need the moment it hands control back, and the surprise lands hardest after long, quiet stretches. Your fallback human atrophies in exactly the conditions that make them the fallback. So the approval surface can't be a naked approve/deny button. It has to carry the context, fast, because the person deciding hasn't looked at a case in three hours and needs to know why they're being asked.

And yes, someone will say this is just workflow engineering with a new coat of paint. Durable state machines, approval queues, and gates predate LLMs by decades. That's exactly right, and it's the point. Human-in-the-loop as architecture is boring, proven workflow discipline pointed at a domain everyone else is treating as a magic box. The only novel move is refusing to let the word "agent" exempt you from it.

The checkbox version of HITL asks whether a human is involved. The architecture version asks which human, at which rung, seeing what, with what default when the agent is unsure. Nobody puts "designed the escalation ladder" in a demo. It's the least impressive thing in the system, and it's the reason anyone trusts the rest of it.

Comments