Where agents need a human in the loop
Not everywhere, and not nowhere. A practical way to decide which steps a model can take alone.
Two bad defaults
Approve everything, and the agent is a demo. Approve nothing, and you have built a very expensive autocomplete. The useful answer sits between, and it is different for every step of the workflow.
Three questions per step
Is the action reversible? Is it cheap if wrong? Can the model show its source? A step that passes all three can run alone. A step that fails any of them gets a person, and the interface should make that review take seconds, not minutes.
if (!flag.citation) return null; // no source, no flag
if (flag.confidence < 0.7) flag.route = "needs-human";
audit.log({ clause: clause.id, flag, model: MODEL_VERSION });Design the review, not just the model
Most of the engineering is in the queue the reviewer sees: what the model did, why, and the one button that confirms or undoes it. Get that right and you can widen the model's autonomy later, with evidence.