In short
An AI agent must be accurate enough that its right answers pay for its wrong ones. So for each slice of work, divide the damage of a wrong answer by the saving of a right one to get N; the break-even bar is N ÷ (N + 1). That is 50% where a mistake costs what a success saves, 80% where it costs four times as much, 98% at fifty times, and lower if a person holds the action and cuts the damage.
In this lesson you'll learn:
- where the accuracy an agent needs actually comes from, and the one-line formula;
- why every slice needs its own bar, and how to cut a feature into slices;
- how a human hold lowers the bar, and when a bar is telling you to redesign.
Sound familiar?#
- Every acceptance bar in the spec is 80%, because 80% sounds rigorous.
- One accuracy number for the whole feature, and the refunds hide inside it.
- The model is at 91%, the target is 98%, and the team has spent a month trying to close the gap with prompts.
Each is a bar that was chosen instead of derived. Derived bars are different for every slice, and one of them usually says the design needs changing, not the model.
Where does the bar come from?#
From what a right answer saves and what a wrong one costs. If a right answer saves s and a wrong one costs d, then at accuracy a the agent earns a × s and loses (1 − a) × d per case. It breaks even when those are equal, which gives:
N = damage ÷ saving, and bar = N ÷ (N + 1)
One wrong case undoes the saving from N right ones, so the agent breaks even at N right for every wrong. Anything above the bar is value; anything below it costs more than it saves.
Set the bar, step by step#
Step 1 · Cut the feature into slices that fail differently#
A slice is a group of cases whose mistakes cost about the same. SkyWays, the fictional airline this manual follows, cut its rebooking assistant into same-day moves, codeshare rebookings and refunds, because a wrong same-day suggestion costs a few dollars of an agent's time and a wrong refund costs the refund.
Step 2 · Put a saving and a damage on each slice#
| Slice | Saving | Damage | N | Bar |
|---|---|---|---|---|
| Same-day lookup | $4 | $4 | 1 | 50% |
| Codeshare rebooking | $9 | $36 | 4 | 80% |
| Refund, no hold | $12 | $600 | 50 | 98% |
| Refund, with a human hold | $12 | $30 | 2.5 | 71% |
Damage is not always money: a wrongly refused benefit, a misleading medical summary. Put a number on it anyway; if you genuinely cannot, that is the finding: the step needs a person regardless of any bar.
Step 3 · Read the bars for design, not just for testing#
The last two rows are the lever. A hold lowers the damage, so it lowers the bar: a person checking refunds before they go out cuts the damage of a wrong one from $600 to $30, and the bar from 98% to 71%. Nothing about the model changed. That is why a human in the loop is a commercial instrument, not friction, and why a bar above about 95% is usually a design smell: it says the step is too dangerous to run unheld, and the answer is a hold, not a better prompt.
Where you'll use it#
- In P1, before any prompt is written: the bars go into the eight-field spec and are signed at the hard gate.
- When the team is arguing about "accuracy": ask which slice, and what a mistake costs in it.
- When an agent is stuck below a very high bar: redesign with a hold, and re-derive the bar.
Why it matters#
A bar that is not derived cannot be defended when a regulator, a customer or a finance director asks why the agent was allowed to launch. A derived bar is a sentence: it breaks even at 80% on codeshare, because a wrong one costs four times what a right one saves. And one bar per feature ships the hard slice below its bar while the easy one is held back for no reason.
Try it#
A support agent drafts replies that a person always reads before sending (saving $2 a case, damage $1 when a person must rewrite it). It also issues goodwill credits alone (saving $3, damage $45 when one is issued wrongly). What bar does each need, and what would you change?
Show the answer
Drafts: 33%. Credits: about 94%. For drafts N = 1 ÷ 2 = 0.5 and the bar is 0.5 ÷ 1.5 ≈ 33%: the person reading each draft keeps the damage small. For credits N = 45 ÷ 3 = 15 and the bar is 15 ÷ 16 ≈ 94%, which is close to the design-smell line. The change: put a hold on credits (a person approves any credit above a threshold) and re-derive; if the hold cuts the damage to $6, N = 2 and the bar falls to about 67%.
Key takeaways#
- The bar comes from money: N = damage ÷ saving, bar = N ÷ (N + 1), per slice.
- Every slice gets its own bar: one bar per feature hides the slice that matters.
- A hold lowers the damage, so it lowers the bar; a bar above about 95% means redesign, not re-prompt.
FAQ#
What accuracy is good enough for an AI agent?#
It depends on the slice. Divide what a wrong answer costs by what a right answer saves; the agent breaks even at N ÷ (N + 1) of that ratio. Low-stakes, easily-corrected work can break even near 50%; money actions without a human check can need 98% or more.
Why not just use 80% or 90% as the target?#
Because a round number is not connected to anything a mistake costs, so it is either too strict for the easy slices, which then wait for no reason, or too loose for the dangerous ones, which ship below the level that pays. It also cannot be defended to anyone who asks where it came from.
How does human-in-the-loop change the accuracy needed?#
A person who checks an action before it takes effect lowers the damage of a wrong answer, and so lowers the bar. At SkyWays a hold on refunds cut the damage from $600 to $30 and the bar from 98% to 71%, which is often the difference between shipping and never shipping.
Is a derived bar enough to launch?#
No: it is the target. Proving the agent meets it takes a golden set per slice and the lower bound of the score, not the score itself, followed by a shadow run on live traffic. Prove it with a sample.
Apply it in your role#
| If you are… | Do this | The AI-augmented shortcut |
|---|---|---|
| A QA lead | Make each slice's bar executable: the harness compares the slice's lower bound, never its score, with its bar, and blocks the merge below it. A bar no check reads is a number in a document. | Ask a model how many golden cases each slice needs before its lower bound can clear its bar, and flag the slices that are short. Your eight steps as a QA lead → |
| A forward-deployed engineer | Derive the bar with the customer's finance and operations people, in their numbers. It turns "how accurate is it?" into a decision they own. | Have a model draft damage and saving estimates per slice from the customer's data, marked as assumptions. |
| A product manager or FDPM | Present a bar per slice, not one target, and show how a human hold on the risky step lowers it. | Ask a model to compute each bar with and without a human hold. |
| A GenAI or agentic AI engineer | Keep the bars in a file the harness reads, so changing a bar is a reviewed change. | Ask a coding agent to add bars.yaml and a check that every slice in the golden set has a bar. |
Across the enterprise. Standardise the bar sheet so bars are comparable across products. A governance board then reviews damage and saving assumptions, not arbitrary accuracy targets.
The ten-minute workflow. A bar derivation that refuses to invent your numbers:
For each slice below, ask me what one wrong answer costs (the damage, including the fix and any
refund) and what one right answer saves. Do not estimate these yourself. Then compute N = damage ÷
saving and the bar N ÷ (N + 1), and the bar again if a person holds the action so that the damage
falls to the reviewer's time. Slices: <list>Sources and credits#
| Idea | Origin | Source |
|---|---|---|
| The break-even bar N ÷ (N + 1), per slice, and the hold as a lever | Original: this manual | Formulas · Mental Models |
| Expected-value break-even for a decision under uncertainty | Borrowed | Standard decision theory; see Raiffa, H. (1968). Decision Analysis. Addison-Wesley |
| The SkyWays slices and figures | Illustrative: a fictional airline | Try the bar calculator |