Back to Insights
July 16, 20265 min readInsightAgent AutonomyAI Operationspharma and biotech eventsworkforce development

Make the Wrong Answer Cheap

I run two inbox agents. The one nobody supervises acts on anything above 0.7 confidence. The one with a human review queue behind it refuses to act below 0.8. Every engineer I have explained this to assumes I typed the numbers backwards. I did not. The agent with no safety net earned the lower bar, and how it earned it changed the way I think about autonomy.

01The backwards numbers

The first agent reads the inbox for a pharma and biotech events business. When a lead comes in, it classifies the email, upserts the contact by email address, and creates an opportunity in the CRM. Nobody checks its work. No queue, no reviewer. Its floor is 0.7.

The second reads the inbox for a workforce development program. It matches candidates to funding vouchers and moves their status in a tool I built called Voucher HQ. That tool has a real review queue with a real person working it. The agent only auto-applies a decision at 0.8 or higher. Anything below that lands in the queue, and a human decides.

So the supervised agent is timid and the unsupervised one is bold. For a while that bothered me. It looks like a mistake. It is the most deliberate pair of numbers in either system.

02What a wrong answer costs

The confusion clears up when you stop asking how confident each agent is and start asking what happens when it is wrong.

Take the events agent. It upserts by email address, so it cannot create a duplicate contact. It skips any contact with an open opportunity, so it cannot stomp on a live deal. Walk the failure all the way through: the model misreads an email, fires at 0.72, and the result is a note on a record that already existed. Someone sees it later and shrugs. The wrong answer costs almost nothing, because the writes were built to absorb it.

Now take the workforce agent. When it is wrong, a real candidate moves into a real column in a pipeline that ends in money. A voucher attaches to the wrong person, a caseworker acts on it, and unwinding that means phone calls and apologies. Same kind of model, same kind of inbox. A completely different price for a false positive.

Key insight

Set an agent's threshold from the cost of its wrong answers, not from how nervous it makes you.

The result

The events agent runs with no human in the loop, and the worst a bad call can do is leave an extra note on a contact that already exists. The autonomy came from making the mistakes small, not from making the model sure.

03The dial and the wall

A threshold feels like control. It is one number, you can move it, and moving it up makes you feel safer. But it does not change what the agent does when it is wrong. It only changes how often it acts. The dial measures your nerves, not your risk.

A confidence threshold is a dial you turn when you are nervous. Idempotence is a wall you build so you do not have to be.

The wall is different: upserts instead of inserts, guards that refuse to touch live records, actions that degrade into notes instead of state changes. These change what a mistake is. I did not buy the events agent's autonomy with a number. I bought it by making its worst day cheap.

I keep meeting the same idea in work that has nothing to do with inboxes. My denial engine reads medical claim denials and recommends what to do next. In its early eval runs it picked the right operational action 36.7% of the time. My first instinct was the dial: sterner prompts, more warnings, trust it less. The fix that worked was a wall. I anchored every recommendation to a deterministic per-code action table, so the model stopped inventing actions and started selecting from ones that were already correct. Action accuracy went to 76.7%, and classification accuracy on the same runs was 93.3%.

What broke

The denial engine's early runs picked the right action 36.7% of the time, and I burned real hours turning the dial: tighter prompts, more caveats, more nervous instructions. None of it moved the number much. The action table did.

0.7
confidence floor, no human in the loop
0.8
confidence floor, human review queue behind it
76.7%
action accuracy, up from 36.7%
93.3%
classification accuracy on the same runs

04What I check now

Before any agent of mine goes autonomous, I walk its failure to the end. Not the demo path, the wrong path. What exactly happens, record by record, when it fires on a false positive? If the answer is a note, it can run alone. If the answer is money moving or a person being acted on, it gets a queue, a higher bar, or both.

  1. 1Price the false positive before you set the threshold. The number means nothing on its own.
  2. 2Buy autonomy with structure. Idempotent writes and guards on live records beat any amount of confidence.
  3. 3Spend human review where mistakes touch money or people. A queue is a scarce resource, not a default.
  4. 4When accuracy is low, fix the structure before you turn the dial. The dial mostly measures how you feel.

I run systems in events, in workforce development, in healthcare, and this pattern holds in all of them. That is how I know it is a pattern and not a preference. The agents I trust most are not the ones that are most sure. They are the ones whose mistakes I made too cheap to fear. If your thresholds keep creeping up, stop and price a wrong answer first. And if you have built walls that beat the dial, I want to hear about them. The builders doing this for real need to find each other.