Problem · 20 studies

How to reduce bias in LLM-as-a-judge evaluations

LLM judges react to order, authorship, earlier scores, labels and confident wording, not only to quality. The fixes that measured best are de-anchoring, pairwise comparison in both orders, a fresh context per item and separate criteria.

The symptom: the verdict changes when the evidence does not

You ask a model to pick the better of two answers, grade a draft or score a batch of resumes, and the result depends on things that have nothing to do with quality: which option came first, whose style the text resembles, what the previous score was, how confidently the text praises itself, or whether a candidate is labelled as yours. The scores look reasonable one by one. The bias only shows up when you change something irrelevant and the verdict moves.

The size of the effect is not small. In an audit of image-edit judges, swapping option A and option B flipped up to 60.9% of verdicts for one model, while repeating the same request in the same order changed only 1–10%. A judge that sees a previous score in the prompt lowered its new rating in 7 out of 8 models tested, even though the text was identical.

Why LLM judges are biased

A judge model does not measure quality in isolation. It reads the whole context and continues it, so every cue in the prompt is treated as evidence: position, labels, earlier verdicts in the chat, the wording of the answer under review. Four mechanisms recur across the studies:

  • Order effects. Coding judges in CodeJudgeBench tended to prefer the option that came last; another position-bias test notes that primacy or recency can win and which one is hard to predict.
  • Style recognition. Judges favour text that looks like their own. In a study of 20 models, self-preference was stronger in the more capable judges, not weaker.
  • Context momentum. A run of rejections in the same chat makes the next rejection more likely; across 11 models, accumulated history hurt 1.6 times more than a run of approvals helped and reached its full size after 5 previous ratings.
  • Coarse scales. Asked for 0–100, a GPT-5 judge used only about 20 distinct values, so 67% of comparisons ended in a tie and the choice became a coin toss.

Fixes ranked by measured effect

  1. Let the judge answer first, then compare. For checks with a correct answer, de-anchoring has the model write its own answer before it sees the one under review; false positives fell from 72% to 1.2% in that study.
  2. Compare pairs instead of scoring. Replacing 0–100 scores with "A, B or TIE" cut ties from 60% to 4% and raised the value of the choice from 21% to 61% on Chatbot Arena prompts.
  3. Run both orders and keep only agreeing verdicts. Swapping positions exposes order bias that a plain repeat cannot; if the winner changes with the order, treat the pair as a tie.
  4. Remove scoring history. No attempt numbers, no "previous score". With that metadata, GPT-4.1's probability of the top score dropped from 93% to 0%. For batches, give each item a fresh chat.
  5. Split one verdict into criteria. Judging relevance, accuracy, depth, logic and clarity separately and summing the wins reduced self-preference by 31.5% on average.
  6. Write the evaluation plan before judging. Declaring primary and secondary criteria, with length marked as secondary, reduced length bias by 16-32% in reasoning models and 7-17% in ordinary LLMs.
  7. Narrow the criterion and average several samples. One sentence naming what to focus on plus eight independent ratings added 11.9 pp of accuracy together.
  8. Strip cues that are not the work. Replace "ours/theirs" with neutral labels: across six model families, group-label bias disappeared without labels. Remove raw data previews that make a judge invent rules, and demand evidence so confident wording does not count as merit.
  9. Pick the answer format deliberately. When many options are listed, Llama-3.1-8B chose the last option 20 times more often than the first; asking for a probability per option sidesteps that. For binary calls, Claude showed a yes/no ordering bias of up to −0.86 that a 0–10 scale avoids.
  10. Tune the rubric on your own disagreements. Reflect-and-revise turns a vague rubric into explicit thresholds over 3-10 rounds of comparing the judge's scores with yours.

A combined prompt stack

For a decision that matters, layer the fixes rather than picking one:

  1. Clean the input: anonymous labels (Text A, Text B), no authorship, no prior scores, no other people's opinions.
  2. State one primary criterion and, if needed, separate sub-criteria, with length and polish named as secondary.
  3. Ask for reasoning per criterion, then a verdict of A, B or TIE, then a confidence rating.
  4. Run it in a new chat with the order reversed. Accept the winner only if both runs agree.
  5. If there is a correct answer, add a step zero where the judge writes its own answer before seeing the candidates.

The prompts below are the building blocks for these layers. They cost more calls than a single score, but every layer targets a bias that was measured, not assumed.

What does not work

  • Telling the judge to be unbiased. The standard MT-Bench prompt already says to avoid positional bias and ignore length, and it was the prompt with the highest self-preference.
  • "Think step by step" or "ignore the previous score". Neither removed anchoring on numeric scores; the explicit warning helped only for right/wrong decisions.
  • "Evaluate each item independently" inside one long chat. It reduces history drift but does not remove it; only a fresh context does.
  • Calibrating numeric scores after the fact. It recovered only +2.6% in the best-of-N study; calibration examples and adaptive routing gave no reliable gain in the ensemble study.
  • Asking more models. Judges disagree with each other almost completely (agreement 0.04 out of 1.0), and for correctness checks they share the same blind spot. A model grading its own output is the weakest setup of all: it approves its own bugs.

One honest contradiction: a grading study found a 0–5 scale agrees with humans better than 0–10, while the pairwise study argues against absolute scales altogether. Both can hold: if you must score, use a short anchored scale; if you must choose, compare pairs.

Fixes ranked by measured effect

StudyLab scoreFindingEffect
Verification Asymmetry: LLMs Judge Persuasiveness, Not Correctness — And How to Fix ItJul 7, 2026 91 Having the judge write its own answer before seeing the one under review cut false positives from 72% to 1.2% across three judge models. Helps
LLM-Judge Scores Lie: Pairwise Comparison Works Three Times BetterMar 12, 2026 91 Pairwise A/B/TIE instead of 0–100 scores cut ties from 60% to 4% and raised best-of-N value from 21% to 61% with a GPT-5 judge. Helps
EditJudgeBias: How Multimodal AI Judges Get Thrown Off by Things That Have Nothing to Do With Edit QualityOct 1, 2026 80 Swapping A and B flipped up to 60.9% of image-edit verdicts for one judge; requiring agreement across both orders filters these pairs. Helps
Anchoring Bias in LLM Judges: Mentioning a Past Score Spoils the New ReviewAug 26, 2026 91 Mentioning a prior score lowered new ratings in 7 out of 8 models; chain-of-thought and 'ignore the previous score' did not fix numeric scores. Hurts
AMEL: The Accumulated History Effect, or Why LLM Ratings "Drift" Within a Single ChatMay 21, 2026 87 Rating items in one chat made each verdict drift toward earlier ones in all 11 models; negative runs hit 1.6 times harder than positive ones. Hurts
Self-Preference Bias + Structured Multi-Dimensional Evaluation: Why a Strong Model Is an Unfair Judge, and How to Fix ItApr 24, 2026 90 Splitting one verdict into five criteria reduced self-preference bias by 31.5% on average; stronger judges were more self-biased. Helps
PlanJudge: Two-Stage Evaluation to Reduce Bias in Reasoning ModelsJan 7, 2026 83 Writing an evaluation plan with primary and secondary criteria reduced length bias by 16-32% in reasoning models and 7-17% in ordinary LLMs. Helps
Criteria + Ensemble: How to Make LLM Ratings ReliableApr 15, 2026 87 One focusing sentence (+3 pp) plus eight independent ratings (+9.8 pp) raised judge accuracy by 11.9 pp together. Helps
Group Labels in a Prompt Create a Systematic Bias: The LLM Quietly "Sides" with Whichever Group It Sees in the ContextMay 27, 2026 77 Group labels like 'ours' and 'theirs' biased judges in six model families; neutral labels removed the effect. Helps
LLM as judge: pairwise comparison instead of a scale, plus a positional-bias checkJul 14, 2025 83 Coding judges showed positional bias toward the last option; pairwise comparison in one prompt beat scoring each answer separately. Mixed
The Position Bias Test: How to Check That an LLM Judges on Substance, Not OrderJul 23, 2025 71 Asking twice with the options swapped reveals whether a verdict reflects order or substance. Helps
How You Structure Questions in a Prompt: Battery Saves 6x the Tokens, but Recency Bias Shifts Answers 20xDec 9, 2025 73 With A/B/C options, Llama-3.1-8B picked the last one 20 times more often than the first; probabilities per option sidestep it. Hurts
Yes-No Bias: Why Claude Says "No" Because of Where a Word Sits on the Page, Not Because of LogicJul 6, 2026 81 Claude showed a yes/no ordering bias of up to −0.86 on a ±1 scale; a 0–10 scale exposed a stable position. Mixed
GRADE-HALLUCINATION: how an LLM judge invents rules that were never in the taskSep 9, 2026 84 A judge shown raw data invented rules and wrongly rejected a correct answer in 77% of hard cases; removing the preview reduced false positives. Helps
Rhetorical reward hacking: how a confident delivery fools an AI reviewer without changing the substanceAug 10, 2026 87 Confident rewording of the same content raised AI review scores; a strict evidence-only prompt lowered but did not remove the effect. Mixed
Evaluative Fingerprints: Every LLM Judge Grades by Its Own Theory of QualityJan 8, 2026 90 Nine judges applied their own hidden theory of quality: inter-model agreement was 0.04 out of 1.0 while each stayed self-consistent. Mixed
A 0-5 Scale Maximizes Agreement Between LLMs and Humans When GradingJan 6, 2026 72 A 0–5 scale agreed with human grades better than 0–10 on subjective criteria. Helps
Reflect-and-Revise: Iteratively Improving Scoring Criteria by Reflecting on MistakesOct 1, 2025 93 Iteratively rewriting the rubric from the judge's mistakes turned vague criteria into explicit thresholds in 3-10 rounds. Helps
LLM-as-a-Judge: The Model Approves Bugs It Wrote ItselfJul 22, 2025 72 Models asked to judge their own code systematically inflated scores and missed logic bugs. Hurts

More studies on this technique:

Prompts to copy

Pairwise verdict with tie and confidence

Evaluate two versions of {what_we_compare}.

Version A:
{version_A}

Version B:
{version_B}

Selection criterion: {criterion}

First explain how they differ on this criterion.
Then give your verdict: A / B / TIE.
Rate your confidence: 1 (nearly equal) — 5 (clear winner).

From: LLM-Judge Scores Lie: Pairwise Comparison Works Three Times Better

Criterion-by-criterion comparison (against self-preference)

Evaluate two versions of {content type}.

Text A:
{first version}

Text B:
{second version}

Rate EACH criterion separately. For each one: the winner (A / B / tie)
+ one sentence on why.

1. {criterion_1} — {what exactly we're evaluating}
2. {criterion_2} — {what exactly we're evaluating}
3. {criterion_3} — {what exactly we're evaluating}
4. {criterion_4} — {what exactly we're evaluating}
5. {criterion_5} — {what exactly we're evaluating}

Summary: add up the wins per criterion and name the overall winner.

From: Self-Preference Bias + Structured Multi-Dimensional Evaluation: Why a Strong Model Is an Unfair Judge, and How to Fix It

Isolated single-item rating (fresh chat per item)

You are a {expert role} evaluating {item type}.

This is the only item you are seeing.
Evaluate it strictly on its own content.

Evaluation criteria:
— {criterion 1}
— {criterion 2}
— {criterion 3}

{item to evaluate}

Output: {answer format: PASS/FAIL or YES/NO}
+ {number} specific reasons.

From: AMEL: The Accumulated History Effect, or Why LLM Ratings "Drift" Within a Single Chat

Questions people ask

What is position bias in LLM-as-a-judge?

The verdict depends on where an option sits in the prompt rather than on its quality. Some judges favour the last option, others the first. The practical test is to swap the options in a new chat: if the winner changes, the original verdict reflected order.

Should an LLM judge give scores or compare pairs?

For choosing between candidates, pairwise A/B/TIE comparison was far more reliable than 0-100 scores, which collapse into ties. If you need an absolute score, use a short scale with described anchors and a narrow criterion.

Can I just tell the judge to ignore bias?

Mostly no. The standard judge prompt already asks to avoid position and length bias, and an explicit request to ignore a previous score did not fix numeric ratings. Removing the cue from the prompt works better than asking the model to disregard it.

Is it safe to let a model grade its own output?

It is the weakest setup. Judges prefer text in their own style and tend to approve their own code even when it has bugs. Anonymise the texts, split the verdict into criteria, and keep a human or an executable check for anything critical.