Chip Li李鸿铭

Read AI confidence as a ranking, not a probability

When an AI says it is 90% sure, should people believe it?

LLM confidence, 2025–2026. When can AI be trusted to judge?

My role
First author. Designed the three studies, built the evaluation and steering pipeline, ran the analysis.
Method
A cross-model calibration study (ECE, AUC, Spearman’s ρ), a prompt-anchoring experiment, and activation steering on an open-weight model, on 633 expert-coded student–AI dialogues.
Key insight
Self-reported confidence behaves like a learned habit, not an uncertainty estimate. It ranks correctness moderately well and is a poor probability.
Outcome
Concrete rules for human-in-the-loop review workflows, open-source steering code, and a long paper at AIED 2026.

Teams were about to let AI confidence decide what people review

Research teams increasingly use LLMs to code qualitative data: student messages, interview transcripts, support tickets. The common workflow is simple. Accept the codes the model is confident about, and send the low-confidence ones to a person.

That only works if the confidence number means something. Classic classifiers output calibrated probabilities. LLMs write a confidence score as just another token. Before building a review pipeline on top of it, we needed to know whether that number can be trusted.

Try the finding yourself

Before the results, make the call a reviewer would make: how often is a 90%-confident model right?

Can you give me a Java example of a for-loop?

AI says: exampleconf. ≈ 0.9

80

Three studies, each answering the question the last one raised

  • How calibrated is it?Compared self-reported confidence with accuracy for gpt-5-mini, gemini-3-flash, and the open-weight llama-3.1-8b. ECE measures overconfidence; AUC and Spearman’s ρ measure whether higher confidence at least means more likely correct.
  • Why can’t prompting fix it?Changed the example confidence shown in the prompt, to see whether the model could be talked into honesty.
  • Can we fix it below the prompt?Used representation engineering to find a “well-calibrated” direction in the model’s activations and nudged it at inference time, evaluated on held-out data.

The data: 633 prompts students sent to ChatGPT in a graduate intro CS course, independently coded by two trained researchers into nine categories (Cohen’s κ 0.65 to 0.94). With nine overlapping categories, chance is about 11%.

Consistent overconfidence, and a habit prompts cannot move

0.89–0.92mean self-reported confidence
34–52%actual accuracy
0.69 vs 0.57AUC, best commercial vs open-weight model
  • Accuracy is not calibrationgemini was the most accurate model, yet ranked its own correctness slightly worse than gpt-5-mini. Knowing the answer and knowing when you know it look like different abilities.
  • The model only adopts plausible numbersShowing 0.95 in the prompt collapsed 96.5% of outputs to exactly 0.95. Showing 0.05 was ignored completely.
  • Steering helps a littleActivation steering lifted AUC from about 0.565 to 0.585 on held-out data. A real signal exists inside the model, and the overconfidence gap stays large.
Confusion matrix for gpt-5-mini across nine categories
gpt-5-mini: concrete categories are recognized well; intent-based ones smear off the diagonal.
Confidence distributions under three anchoring conditions
A 0.95 anchor collapses the distribution; a 0.05 anchor is not adopted.

What changes for teams building human-in-the-loop AI

  • Triage depends on AUC, not accuracyAround AUC 0.68, routing low-confidence items to people helps. Near 0.56 it barely beats random order. Measure discrimination on your own data first.
  • Rank, don’t thresholdWith ECE above 0.40, “0.9” is not a 90% chance of being right. Use confidence to order the review queue, not to auto-accept.
  • Be careful with few-shot confidenceFixed confidence values in examples can silently collapse or be ignored, changing calibration without anyone noticing.
  • An option for private deploymentsFor privacy-bound, locally hosted models, activation steering gave small, consistent gains. The steering code is open source.
if I ran it again

One dataset, one coding scheme, single-turn prompts, and Studies 2 and 3 on one open-weight model. Next I want per-category calibration, which would tell research teams which codes are safe to automate and which still need a person, plus replication on larger models and multi-turn elicitation.