Calibrated escalation for AI agents.

Nobody can tell you what your escalation threshold buys.

Every agent in production hands off below some confidence number somebody picked in a pilot. Abstain replaces that number with an error budget you choose and a threshold that provably holds it.

No spam. One email when it is ready to try.

Budget was 2.0%Support agent · 2,000 held-out ticketssplit conformal, calibrated on 800 labelled outcomes
Hand-picked 0.9
5.9%
error rate, escalating 12.8%
Calibrated threshold
0.953
derived from outcomes
Error rate it delivers
2.2%
on traffic it never saw
What it costs
34.6%
of tickets go to a human

A support agent on 2,000 held-out tickets, then the same agent after a model upgrade. Thresholds, error rates, and the tradeoff curve computed live from the outcomes.

The problem

A confidence score is a ranking. You are treating it as a probability.

An agent doing work with consequences needs a rule for when to stop and ask a human. Every team writes that rule as a threshold on the model’s self-reported confidence, and that score is not calibrated: 0.9 does not mean nine times out of ten. So the threshold has no operational meaning. It is not tuned to an error rate, because nobody computed the error rate it produces, and it silently changes meaning every time the model, the prompt, or the retrieval index moves underneath it.

5.9%
Error rate the hand-picked 0.90 threshold actually delivers in the demo deployment, against a 2% budget the business signed off on. It escalates 12.8% of tickets to buy that.
Counted on 2,000 held-out tickets in the demo data. Reproduce it in the demo
0.95 vs 87%
Mean self-reported confidence against realised accuracy for the same agent on the same tickets. The ordering the score gives you is real. The scale is not.
Same 2,000 tickets
No answer
What a team can say today when asked what error rate their threshold delivers. The number gets chosen during a pilot, written into a config, and never revisited against outcomes.

The insight

You do not need the score to be calibrated.

Split conformal takes any score, however badly calibrated, and converts it into a threshold with a finite-sample guaranteed error rate on the answers you do give. It never tries to fix the score. It only needs the score to rank, and then it reads the threshold off labelled outcomes. That inverts the question a team cannot answer into one they can: instead of "is 0.8 the right threshold", you decide "we can live with 2% wrong answers", and the method tells you that costs 34.6% of tickets going to a human. The first is unanswerable. The second is a business decision, and it is the decision the buyer was always trying to make.

Method

Split conformal risk control. Sort a labelled calibration slice by score, walk down from the most confident, and take the deepest threshold whose running error rate among answered items stays inside the budget. Distribution-free and finite-sample: it assumes the calibration slice is exchangeable with live traffic and nothing else. No calibration of the score, no assumed error distribution, no asymptotics. Re-fit on a rolling window and the threshold tracks the model instead of the model drifting away from the threshold.

How it works

Four steps, no data science team

01
Log the score you already have

Whatever your agent emits as confidence: a logprob, a self-rating, a reranker score, an ensemble agreement rate. It does not have to mean anything. It has to rank.

02
Label a calibration slice

A few hundred outcomes a human already reviewed. Most teams have this sitting in their QA queue and have never used it for anything but a weekly accuracy number.

03
Pick the error budget, not the threshold

You choose what error rate the business can absorb. Abstain returns the threshold that holds it and the escalation volume it costs, so the tradeoff is priced before you ship it.

04
Re-calibrate on every model change

New model, new prompt, new index: the threshold is re-derived and the routing config updated. A fixed number would have gone stale here, which is the failure mode this exists to remove.

Who it is for

Whoever owns the agent’s error budget

Teams running agents in workflows where a wrong answer costs real money. Support refunds, claims, order changes, provisioning, anything where the agent commits the company to something.

Pricing

Free
$0
Open-source calibrator and CLI
  • Threshold calibration from a CSV
  • Abstention curve
  • Public, no account
Most common
Team
$500/mo
One agent in production
  • Hosted routing policy with a served threshold
  • Automatic re-calibration on model change
  • Per-queue budgets
  • Drift alarm when the calibration slice goes stale
Scale
$2,000/mo
Unlimited agents and queues
  • Self-hosted
  • Class-conditional budgets
  • Audit log of every routing decision and the threshold in force
  • SSO

Competition

What exists, and what it does not do

WhoWhat they doThe gap
Guardrails AI / NeMo GuardrailsRule and classifier checks on agent output before it is released.Catches specified failure classes. Says nothing about the residual error rate on everything it passed, which is the number the business actually cares about.
LangSmith / Braintrust / LangfuseTracing and evaluation. Will show you accuracy by confidence bucket.Measures after the fact. The routing rule is still a constant in someone’s config, set by hand and not connected to the measurement.
Human-in-the-loop platformsRoute escalations to a human queue and manage the review workflow.Solve the plumbing of the handoff. The decision of when to hand off is left to a threshold the customer picks.
A threshold in a config fileWhat almost everyone does now, plus a dashboard someone checks weekly.Cannot state the error rate it buys, and breaks silently on model upgrades in the direction that produces more wrong answers, not fewer.
How this fails

The guarantee needs the calibration slice to look like tomorrow’s traffic. In a support queue that assumption breaks whenever a product launch shifts the ticket mix, which happens more often than the model changes. If we cannot detect that shift and force a re-calibration before the threshold goes stale, we ship a policy that claims a 2% error rate while delivering something much closer to the unfiltered one, and that is strictly worse than the hand-picked threshold it replaced because the team now trusts it. The company rests on making the staleness detector work and on making labelled outcomes cheap enough to keep re-fitting weekly. The second risk is cost of goods: this needs labels, and a customer who cannot afford to review a few hundred outcomes a month cannot use it.

Market

Attached to the agent deployment budget, alongside the human review team it sizes

The buyer is already paying for the escalation queue. A team routing 50,000 tickets a month with a 15% handoff rate employs a handful of reviewers; moving the handoff rate by five points is worth more than this costs. Two thousand teams at the Team tier is $12M ARR, and the Scale tier is priced against a single avoided incident.

Get early access

No spam. One email when it is ready to try.

Or just go look at the demo first →