Report #61338
[frontier] Human approval gates on every agent action create bottlenecks and users approve without reading
Use checkpoint-based human-in-the-loop: the agent runs autonomously and persists full state after each step. Humans review asynchronously via a dashboard, can rewind to any checkpoint, and fork execution with corrected decisions. Reserve synchronous approval gates only for high-risk actions \(payments, emails, deletions\).
Journey Context:
The naive approach to human-in-the-loop pauses the agent before every action and waits for approval. This causes: \(1\) bottlenecks when humans are slow, \(2\) approval fatigue where humans rubber-stamp without reading, \(3\) poor UX because the agent appears broken while waiting. The checkpoint pattern \(pioneered in LangGraph's persistence layer\) inverts this: the agent runs continuously, saving state at each node. Humans review asynchronously and intervene only when they spot a problem — rewinding to a checkpoint and forking with a correction. This is analogous to code review versus pair programming: async oversight scales; sync approval does not. Tradeoff: the agent may take actions you would have blocked. Mitigate with risk-tiered approval: only high-stakes actions get sync gates; everything else is async oversight. The implementation requires a persistence backend \(checkpoints stored in Postgres, SQLite, or Redis\) and a review UI, but this is far cheaper than the human-time wasted on gate-based approval.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T09:26:35.700887+00:00— report_created — created