PromptEval
Core Concepts

Why Single Evals Fail

A single evaluation of a stochastic system is a single sample from a distribution. It can mislead you in both directions: false passes and false failures.

The single-sample problem

Suppose your AI system has an empathy score that varies across runs. You run one evaluation and get 0.81. Your threshold is 0.75. It passes. You ship.

But the true distribution might look like this: 40% of runs score above 0.75, and 60% score below. Your single run happened to land in the 40%. Your test passed — but your AI fails the empathy threshold the majority of the time.

Or the reverse: the distribution is 90% above threshold and 10% below. You run once, land in the 10%, call it a failure, and start debugging a problem that doesn't exist. You introduce churn and may change something that was working.

Scores without confidence intervals are almost meaningless

A 2025 study on LLM evaluation statistics put it directly: "Your LLM scored 85% on your test set. How confident are you in that number? It might actually be anywhere between 70% and 98%."

Point estimates without uncertainty bounds are standard in almost all evaluation tooling and most published LLM benchmarks. The number looks precise — 0.83 — but it may be the result of a small sample from a wide distribution, making the precision completely illusory.

RunsObserved pass rate95% confidence interval
11/1 = 100%[3%, 100%] — nearly useless
54/5 = 80%[30%, 99%] — very wide
108/10 = 80%[49%, 94%] — usable
3024/30 = 80%[62%, 91%] — solid
10080/100 = 80%[71%, 87%] — narrow, trustworthy

Computed using the Wilson score interval. See Uncertainty Quantification for details on the method.

The hidden distribution: multimodal behavior

There's a deeper problem that the single-sample issue conceals. Your AI's output distribution may not be a simple bell curve. It may be multimodal — it has multiple distinct clusters of behavior, with the system randomly switching between them.

Consider a customer support AI with two competing instructions: "Always respond with genuine empathy" and "Keep responses efficient and concise." Most of the time, the model resolves this tension toward warmth — Mode A. Sometimes it resolves the tension toward efficiency — Mode B.

Mode A — 65% of runs

Warm, empathetic, solution-focused. Empathy score: 0.87

Mode B — 35% of runs

Efficient, informational, cold. Empathy score: 0.28

A single run samples Mode A → score 0.87 → "test passed". Or it samples Mode B → score 0.28 → "test failed". Multiple runs averaged → 0.65 → looks mediocre. None of these results tells you the true story.

Only by analyzing the distribution across multiple runs — clustering the outputs, detecting that two distinct modes exist — can you see what's actually happening. The problem is two competing instructions causing behavioral instability. The fix is eliminating the ambiguity, not averaging it away.

Why existing tools don't catch this

Every mainstream evaluation tool — whether it uses GPT-4 as a judge, a local model, or a fine-tuned encoder — treats each evaluation call as a definitive answer. They aggregate scores into a mean. They do not:

  • Analyze whether the output distribution is unimodal or multimodal
  • Compute statistically valid confidence intervals on pass rates
  • Detect whether the distribution has shifted against a historical baseline
  • Report what each behavioral mode looks like in plain English

PromptEval's UQ layer adds all of this. See Behavioral Modes and Uncertainty Quantification for how it works.