# The problem in one sentence AI agents become useful when they do more than generate text. The moment they can update a CRM, approve a refund, create a purchase order, change a price, or send a customer response, you must decide which actions they can perform automatically and which need human approval.
# Why full autonomy should not be the default
# Classify actions by risk Group the actions the agent may perform into three levels and set approval behavior accordingly.
- Easy to verify and easy to reverse: drafting an email, summarizing a ticket, categorizing a document, preparing a CRM update, generating a report.
- These can often run automatically, especially when output remains internal or requires later human action.
- Affect business records or external communication but are recoverable: updating a CRM field, scheduling a meeting, sending a standard follow-up, creating a draft invoice, assigning a ticket, updating an order status.
- Create financial, legal, compliance, security, or customer-impacting consequences: issuing refunds, approving payments, changing contract terms, altering production access, deleting records, changing pricing, sending regulated communications.
- Require explicit approval except for narrow, well-tested exceptions.
Assign risk to the action rather than granting broader permissions because the same model can be used for safe and risky tasks.
# Put approval gates before irreversible steps Place the gate immediately before the action that creates external or irreversible impact. Don't force humans to approve plans or partial work that the agent must complete to produce a final, reviewable action. Recommended sequence:
- 1Receive the request. 2. Gather relevant data. 3. Validate identity, permissions, and workflow state. 4. Generate the proposed action. 5. Evaluate policy and risk. 6. Request approval if required. 7. Execute. 8. Verify the result. 9. Write to the audit log.
The approval screen should include the proposed action, the reason, the source data used, expected impact, the agent's confidence, relevant policy checks, and available alternatives so a reviewer can decide without reconstructing the agent's reasoning across systems.
# Use policy-based approval, not confidence alone Confidence scores are useful signals but not sufficient for approval decisions. Combine multiple signals into an approval policy: action type, transaction value, customer or account sensitivity, confidence thresholds, data completeness, policy exceptions, unusual activity, and model or tool failures. This reduces false positives and helps automate safe cases while flagging risky ones.
# Additional operational controls
- Role-based permissions: limit which roles can approve which action classes. - Auditability and reversible execution: keep detailed logs and prefer reversible changes or staged commits. - Escalation and review queues: route medium- and high-risk items to appropriate reviewers and prioritize by potential impact. - Continuously tune rules and exceptions based on incidents and post-approval outcomes.
# Practical payoff A human-in-the-loop design that focuses attention where decisions matter reduces operational and compliance risk without turning the system into a blocking approval pipeline. Bounded autonomy makes agents useful by letting them finish preparatory work and reserving human time for the final decision.