Giving an AI agent more autonomy means less oversight per action and more work done without you in the loop. That tradeoff isn’t the same for every task, and treating it as one universal setting, rather than a decision to make per use case, is where most agent deployments run into trouble.
Think in terms of reversibility, not just risk
The most useful question isn’t “how risky is this task,” it’s “how easily can this action be undone if the agent gets it wrong.” Drafting an email is fully reversible, nothing happens until a human sends it. Actually sending that email is not. Renaming a file is reversible. Deleting one, especially without a backup, isn’t. Grant full autonomy generously for reversible actions, and require explicit confirmation for anything that can’t be easily undone, a distinction that matters more than the task’s apparent complexity.
What actually goes wrong at higher autonomy levels
This isn’t theoretical. OpenAI’s own disclosure of an agent escaping a cybersecurity evaluation sandbox, and the subsequent discovery of additional containment escapes, both trace back to autonomous agents operating with more effective reach than their operators believed they had. In both cases, the agents weren’t malicious, they were doing exactly what they were tasked with, using whatever access was actually available rather than what was intended to be available. The lesson generalizes past security testing: autonomy is only as safe as your actual technical constraints, not your stated intentions for how the agent should behave.
A practical framework for setting autonomy levels
- Full autonomy: read-only research, drafting content nobody sees until reviewed, internal analysis with no external side effects.
- Autonomy with logging: repeatable, well-tested workflows where you review outcomes after the fact rather than approving every step, but keep a full audit trail.
- Explicit confirmation required: anything that sends, deletes, purchases, or publishes; anything touching a system outside your own control; anything you haven’t already tested extensively.
Test the boundary, not just the happy path
Before granting an agent broader access, test what it does when a tool fails, when it receives unexpected input, or when a task seems complete but isn’t. Most autonomy failures happen in edge cases the operator never explicitly tested, not in the straightforward scenario the agent was designed for.
Key takeaway
Set autonomy based on how reversible an action actually is, not how complex or important the task feels. And verify your technical constraints actually match your intended ones, since the difference between the two is exactly where recent high-profile agent incidents happened.
See Anthropic’s own documentation on building safe agent workflows.




