Most conversations about agent autonomy start with model quality: how often it is right, how confident it is, how it scores on the evaluation suite. Those numbers matter, but they do not determine how much an agent should be allowed to do on its own. The deciding factor is the cost of being wrong, and that cost is set by the systems the agent acts on, not by the model. An agent that drafts a purchase order into a staging table can be wrong a hundred times at no cost. The same agent posting directly to the ledger is a different risk category, even with identical accuracy.
This is why reversibility deserves to be treated as a first class architectural property. Every action an agent can take falls somewhere between trivially undoable and permanent. Writing a draft, adding a comment, or updating a status field sits at one end. Sending an email, issuing a refund, deleting a record, or calling a partner API sits at the other. When teams map their agent’s tool surface against that spectrum, the review burden usually collapses. Most actions are cheap to reverse and can run unattended; only a small set needs a human, and that set is small enough to actually get attention.
The engineering practices that make this work are not new. Compensating transactions, the saga pattern, and soft deletes have been part of distributed systems for decades. A workflow where the agent proposes and a separate step commits is just a staged write with a review gate. The difference is that these patterns are now being applied to a caller that is nondeterministic and occasionally confidently wrong, so discipline that was optional for a well tested service becomes mandatory. If a tool cannot be undone, it should not be exposed to the agent without an explicit commit boundary in front of it.
There is a governance dividend as well. When every agent action carries an identifier, a recorded intent, and a known compensating action, the audit question shifts from “did a human approve this” to “can we roll this back, and how quickly.” That is a more defensible posture for a regulator or a risk committee, because it does not depend on reviewer vigilance holding up over time. It also changes incident response. An agent that misbehaves for twenty minutes against reversible tools produces a cleanup job; against irreversible tools it produces a legal exposure.
The practical starting point is an inventory. List every tool or API your agents can call, classify each by how it can be undone and how long the undo window lasts, and note where the irreversible ones sit in the workflow. Move as many as possible behind a staging step. Add idempotency keys so retries are safe and a compensating action can find exactly what it needs to reverse. Then set autonomy levels per action class instead of per agent, which is a far more precise control than a single global approval switch.
Autonomy is not something a model earns by scoring well. It is something a system grants when the blast radius of a mistake is bounded and recoverable. Umplify helps enterprise teams build agent architectures with reversibility designed into the tool layer from the start; if you are deciding how much your agents should be allowed to do, book a free discovery call and we will walk through the inventory together.