Answer
How do you undo something an AI agent did?
Decide before you switch it on. Actions divide into reversible, compensable and irreversible, and only the first has an undo.
By having decided in advance which actions are reversible. A record change can be restored, a payment can be refunded, a sent message cannot be unsent — so the third category needs a hold rather than an undo.
Sort the actions first, because the sorting is the whole answer. A reversible action can be put back exactly as it was: a field edited, a record updated, a file changed where the previous version exists. A compensable action cannot be undone but can be answered by another action with roughly the opposite effect: a payment refunded, an order cancelled, a booking released. An irreversible action has already reached somebody: a message sent, a public post published, a document shared, a record deleted from a system with no history. Only the first has an undo, and treating all three as one category is why recovery is usually improvised.
The practical consequence is that permissions should be granted by category rather than by system. Give an agent reversible actions freely, because a mistake costs a restore. Give it compensable actions with a ceiling, because the compensation has a cost and the cost is what needs bounding. Give it irreversible actions only through a hold — a queue where a person releases the item — or not at all. This is a more useful frame than trusting a system more as confidence grows, because the categories do not change as confidence does.
Restoring requires a before-state that somebody actually kept, and this is the step most often missing. An agent that updated a field can only be undone if the previous value was captured, and most systems overwrite. Capturing the before-state at the moment of the write — not from a nightly backup, which loses everything since — is the difference between an undo that takes seconds and a reconstruction that takes a day. It is cheap to build at the start and awkward to add afterwards.
Blast radius matters more than correctness for the same reason it does in any automated system. One wrong record is a correction. Four thousand records updated by a loop that ran overnight is an incident, and the difference is not the error rate but the absence of anything that stopped it. A rate limit and a cap on the number of items a single run may touch are the two controls that keep a mistake in the first category, and they cost almost nothing until the day they are the only thing that saved you.
Detection is the other half and it is usually the weaker one. An undo you cannot trigger because nobody noticed for three weeks is not a control. The realistic mechanisms are a log somebody reads, an alert on volume rather than on error, and a check that compares what the agent changed against what it was asked to change. Volume is the more useful signal: agents fail by doing a great deal of something, and a run that touched ten times its usual number of records is visible without anybody understanding what it did.
Finally, the irreversible category is where the design should be attacked rather than defended. Most workflows have an irreversible step because nobody separated the composing from the sending. An agent that drafts every reply and a person who releases them has a workflow with no irreversible agent action in it at all, and it captures most of the time saving. Moving an action out of the third category is almost always cheaper than building a way to survive it.
Undo is not something you add to an agent. It is a property of the actions you let it take, and the time to choose it is before the first one.
Siddharth Sharma, Context Theory
Related questions
Is a database backup enough?
For disaster, yes; for an agent's mistake, rarely. Restoring a backup rolls back everything, including the legitimate work that happened alongside the error, so using it costs more than the error did except in the worst cases. What is needed is a per-action before-state that lets one change be reverted while everything around it stands, which is a different mechanism with a different cost.
How do you undo something a customer already saw?
You do not, and planning as though you might is the mistake. The available responses are correction and explanation, and both work better the faster they arrive — which makes detection, rather than reversal, the control worth investing in for anything customer-facing. This is also the strongest argument for the release queue: it converts an apology into a rejected draft.
METHOD
Every figure below carries its source and the date it was verified. Nothing on this page is asserted.
The numbers on this page.
| What | Value | Specific to |
|---|---|---|
| Sub-15-minute compliance — automated routing vs manual only | 62.5% vs 39.1% | Category-wide |
| Leads cold past 5 minutes | 93% | Category-wide |
2026 speed-to-lead benchmark · derived: 100% − 7% responding within five minutes · verified
What is specific to this page.
| Kind | Claim | Check it against |
|---|---|---|
| Workflow | Agent actions divide into reversible ones that can be restored exactly, compensable ones answered by an opposing action at a cost, and irreversible ones that have already reached a person, and only the first category has an undo at all. | Listing every action the agent is permitted to take and assigning each to one of the three categories before deployment. |
| Software | Restoring a changed record requires the previous value to have been captured at the moment of the write, since most systems overwrite and a nightly backup discards everything that happened after it was taken. | Attempting to recover the prior value of one field the agent changed yesterday, using only what the system already retains. |
| Response | The controls that keep an agent error inside the recoverable category are a rate limit and a cap on items touched per run, because the difference between a correction and an incident is the absence of anything that stopped a loop. | Checking whether any configured limit would halt a run that began updating far more records than usual. |
| Constraint | Volume is a stronger detection signal than error rate for automated work, because agents fail by doing a great deal of something and an unusually large run is visible without anyone needing to understand what it did. | Comparing the record counts touched by each of the last several runs and checking whether an outlier would raise anything. |
Each row would be wrong on another industry's page. Where a sourced figure exists it is in the table above instead; these are the constraints that shape the work and do not happen to be numbers.
Start with the measurement.
Reading about a benchmark is not the same as knowing your own number. The audit produces yours, measured rather than estimated.
$497 · delivered in 5 business days · credited against month one