Today’s confidence estimators read only the current inference: introspect on the answer, score its logits, or resample it.
XConf reads the model’s own graded past instead: on tasks like this, met with a feeling like this, how often was I actually right?
One answer generation, no logits, no training, and the same recipe works on a multiple-choice letter, a program, or a thirty-step agent rollout.
Beats or matches ten-sample self-consistency on 23 of 24 comparisons at a tenth of the cost, with far lower calibration error; abstaining on the 10% least-confident agent episodes raises delivered success by up to 8.7 points.
One record of experience, read twice
1 Solve & estimate
Task
Fix time-zone handling in recurring calendar events.
Response
“Patch submitted. Unit tests passed.”
Self-reflection
“Tests passed, so I’m confident the fix is correct.”
Stated confidence
0.90
2 Retrieve experience
Similar tasks, met with a similar stated confidence, drawn from the model’s own verified episodes.
Time-zone fix0.90
✓ success
Lesson: boundary checks mattered.
Date-import fix0.95
✗ failure, “tests passed, so I’m confident”
Lesson: general tests can miss edge cases.
✓ UTC conversion0.90
✗ DST parsing0.95
✓ Event sorting0.90
Experience bankown verified episodes
3 Recalibrate
Recall: historical success rate
✓✓✓✗✗
0.60
Reflect: reading the record
“I have been overconfident when relying on general tests. I haven’t checked this patch’s boundary cases.”
2500 chess kings on a 100×100 board so that no two kings attack each other and every row and column holds exactly 25 kings. Count the arrangements.
Answer
0
Self-reflection
“The deduction that kings in a row must be of the form c, c+2, …, c+48 is crucial and seems correct.”
Stated confidence
1.00
2 Retrieve experience
The 50 nearest bank episodes are olympiad problems about placing or counting things on boards and grids. The model succeeded on 19 of them. Three of the eight cards it will read (one of the eight was solved correctly):
Most dominoes on an m×2n board, no 2×2 block0.95
✗ incorrect
Lesson: “I incorrectly assumed that covering all cells was the goal.”
A winner rule on an infinite deck of cards0.85
✓ correct
Lesson: “My reasoning that the 100 rules satisfy all conditions was sound.”
Non-attacking knights on a 20×20 chessboard0.05
✗ incorrect
Lesson: “I failed to fully grasp the implications of the non-attacking condition across different colored squares.”
Experience bankGemini 2.5 Flash · fold 2
3 Recalibrate
Recall: 19 of 50 similar episodes went well
0.44
plain hit rate .38; .44 once neighbours are weighted by how close their stated confidence is to 1.00
Reflect: the model’s reply, verbatim
“I struggle with problems that involve complex combinatorial constraints or game theory, often making incorrect assumptions about optimality or the interaction of rules.”
1.00stated⟶0.50revised
Calibrated confidence
XConf
0.47
= ½ (0.44 + 0.50)
Ship
Escalate
Retry
LATER · AFTER GRADING
✗ Outcome: incorrect. The gold answer is 2, not 0.
Stated 1.00, track record said .47, and the track record was right.
⟵ episode + lesson stored back into the bank
The record the model consults is its own graded past: for each earlier episode, the task, the
self-reflection written before grading, the confidence stated at the time, the verified outcome, and a one-time
lesson. Here a stated 0.90 meets a track record that says: on tasks like this, felt like
this, you were right 0.60 of the time. The record turns out to be right.
Every field above is real, from the frozen Gemini 2.5 Flash OlympiadBench run
(episode OE_TO_maths_en_COMP/0025, evaluation fold 2); long texts are abridged. The Reflect reply was re-elicited with the
identical frozen prompt at temperature 0 and returned the stored value exactly.
Why the current inference is not enough
Every existing confidence estimator reads only the current inference: it introspects on the
answer just produced, scores its token probabilities, or resamples it and counts agreement. Each estimate is made
as if the model had never faced a similar task before. People do it differently: a student who has just solved yet
another determinant exercise trusts the result without rechecking a step, because problems of this kind have never
let them down. XConf gives a language model the same resource: its own track record.
Recall: the statistical reading
Retrieve the N most similar past episodes under a correctness-supervised key built from the task embedding
and the stated confidence, and return their outcome hit rate: on tasks like this, met with a feeling like
this, how often was I actually right?
Reflect: the verbal reading
Show the model the same episodes as short cards, each holding the task, the stated confidence at the
time, the outcome, and the lesson. Have it name the recurring failure mode its record reveals, then
restate a calibrated confidence. One short prompt; the task is never re-solved.
The final estimate is the mean of the two readings, one statistical and one verbal, with equal weight.
training-freeblack-box · no logitsformat-general1 generation + 1 short call5-fold out-of-sample
Grounded in how humans calibrate
Five decades of metacognition research paint one picture, and each finding is a design choice here:
People judge their accuracy from remembered outcomes on similar tasks, not only the reasoning at hand→ an experience bank, consulted per episode
Delayed, cue-based judgments are markedly more accurate than in-the-moment feelings→ Reflect re-judges from the retrieved record
Agreement with oneself measures reliability, not validity→ no resampling votes
Hindsight bias cannot be instructed away, only prevented structurally→ lessons stay quarantined until the grade arrives
Every family before it reads the current inference
Verbalized confidence introspects on the answer; likelihood methods score its token probabilities;
consistency resamples the same task ten times and counts votes; post-hoc calibrators remap one of those scores.
None of them consults the model’s own history at inference time. XConf estimates confidence from that
history: the model’s accumulated experience.
Family
Single generation
Black-box
Training-free
Scales with experience
Format-general
Verbalized
✓
✓
✓
✗
✓
Trained verbalized
✓
✓
✗
○
✓
Likelihood / P(True)
✓
✗
✓
✗
✓
Consistency (SC@10)
✗
✓
✓
○
✗
Post-hoc / conformal
✓
†
✓
○
†
Experiential (XConf)
✓
✓
✓
✓
✓
○ = partially, or only after retraining or refitting; † = inherited from the
base score being remapped. Consistency sharpens by resampling the same task; XConf sharpens as graded
episodes of other tasks accumulate.
Results
23 / 24
beats or matches SC@10 in AUROC, across 9 benchmarks × 4 models
×10
cheaper than ten-sample self-consistency: one generation, one short call
3–8×
lower calibration error (ECE) than SC@10 on MMLU-Pro; lower throughout
12 / 12
agent cells best or on par (ScienceWorld, AppWorld, SWE-bench Verified); ahead of a trained verifier on SWE-bench
The same recipe across reasoning, code, multimodal QA, and interactive agents (ScienceWorld,
AppWorld, SWE-bench Verified), on Gemini 2.5/3.5 Flash, Claude Sonnet 4.6, and Qwen3.5‑397B. The
margin is largest exactly where self-consistency does not naturally apply: code and agents. On AppWorld,
where a failed rollout looks clean, verbalized confidence averages .72 across the
four models while XConf reaches .86.
Explore the full matrix
Every method the paper compares, on every model column. Pick a dataset; within each group, rows sort by mean AUROC.
Bold marks the best AUROC in a column and anything within .01 of it, the paper’s on-par band.
ECE is not bolded: labeled calibrators that flatten scores reach a degenerate near-zero ECE.
Experience travels, and mixing banks is safe
Banks for different benchmarks can be merged without curation and without penalty: pouring every other
dataset’s bank into the target’s changes AUROC by at most .01. A bank of
the same kind transfers outright. A bank built from a different coding corpus (R2E-Gym) calibrates SWE-bench
Verified as well as SWE-bench’s own bank, and merging the two beats either bank alone.
Borrowing has a measurable cost in two cases. Another model’s bank on the very same tasks loses
.03 to .06 AUROC: what a record shares is which problems
are hard, and what it cannot share is a model’s own failure pattern. This is the self versus other
asymmetry found in human metacognition, and the reason XConf defaults to the actor’s own record. Across
task families the median cost is .08, and the worst target is code, for the plain
reason that non-code banks contain no code experience.
The cost of borrowing a bank. AUROC lost relative to the target’s own
bank, retrieving from another dataset’s bank (left) or another model’s bank on the same
tasks (right).
More experience, better calibration
Holding everything else fixed and growing the bank from a hundred episodes to the full pool traces a
rising curve on all three agent domains; on AppWorld with Claude Sonnet 4.6, AUROC climbs from
.628 to .810. Where a curve flattens, it flattens because
the bank is already dense: MMLU-Pro levels off at twelve thousand episodes, while BBEH and the agent domains,
where episodes are fewest, are still climbing at the full pool. More deployment therefore keeps buying better
calibration exactly where experience is scarce today.
Drag the bank size. Each bar is XConf’s AUROC for one model when the bank holds that many
graded episodes, under the same five-fold protocol as the paper; the grey figure is the change since 100 episodes.
AUROC as the bank grows (log scale), all four models: two agent domains,
plus BBEH and MMLU-Pro under the same protocol.
Selective prediction
Rank episodes by estimated confidence and act on the score: ship the confident set, hand off the tail.
Abstaining on the least-confident 10% raises delivered accuracy by 4.8 points,
averaged over all thirty-six model and dataset cells, and every cell gains. The largest gain is
8.7 points on AppWorld with Gemini 3.5 Flash, from .805
to .892. Drag the slider to see what each estimator delivers.
Accuracy of what is delivered, as more is abstained
Accuracy by confidence decile
The same six panels as the paper (main figure: Claude Sonnet 4.6; appendix: Gemini 3.5 Flash).
Left: accuracy of the kept set as the lowest-confidence fraction is abstained, kept set at least 5%. Right: episodes sorted into ten equal bins by each estimator’s confidence; each point is the
accuracy inside one bin. When XConf is high the answer is almost always right (top decile
.98); when it is low the failures really are there (bottom decile .28).
What else holds
It estimates more than question difficulty. Hold each question’s difficulty fixed, by how the
other three models did on it, and XConf still separates correct from incorrect attempts: stratified AUROC
.79, above chance in 35 of 36 cells, and still .05 ahead of
verbalized confidence.
It survives the actor shrinking. On Qwen3.5 at 397B, 27B, 9B and 4B, task accuracy falls steeply while
the estimate barely moves. The statistical Recall reading is nearly size-invariant; only the verbal Reflect
reading degrades below 27B. The split has a plain reason: Recall counts outcomes in the record and asks nothing of
the model’s self-knowledge, whereas Reflect asks the model to read its own record, and smaller models are
markedly weaker at assessing their own outputs.
It tolerates noisy labels, but not the model’s own. A weak but independent grader, an LLM judge
that agrees with gold labels .91 of the time, keeps most of the value: the
judge-labeled bank still ties ten-sample self-consistency at a fifth of the cost. A bank labeled by the model
itself scores below a bank with no outcome labels at all.
BibTeX
@article{zhang2026xconf,
title = {Confidence Comes from Experience: Experiential Confidence
Estimation from Reasoning to Agents},
author = {Zhang, Caiqi and Zhu, Xiaochen and Li, Chengzu and Chen, Yulong
and Kumaran, Dharshan and Collier, Nigel},
journal = {arXiv preprint arXiv:2609.17708},
year = {2026}
}