Pattern · intermediate
Human-in-the-Loop Pattern
HITL patterns pause agents for human approval, clarification, or takeover on risky or ambiguous steps.
Human-in-the-loop (HITL) inserts people at critical points in an agent run: approvals, clarifications, or full takeover.
When to require HITL
- Payments, legal sends, prod changes
- Low-confidence classifications with high impact
- Conflicting evidence
- First-time actions in a new environment
Implementation pattern
if action.risk >= threshold or confidence < min:
pause(run_id, payload_for_human)
wait_for(approval | edit | reject)
resume(run_id)
UX requirements
- Show the proposed action and rationale
- Show tool diffs / previews
- Allow edit-then-approve
- SLA timers and escalation paths
Anti-patterns
- Approving every trivial step (alert fatigue)
- No timeout handling
- Approval without enough context
HITL is a control, not a substitute for evals and least-privilege tools.
FAQ
Frequently asked questions
What is human-in-the-loop for agents?
Human-in-the-loop (HITL) means the agent pauses for a person to approve actions, answer questions, or take over before continuing—especially for irreversible or ambiguous work.