← All articles
Tracify Team17 min read

LLM-as-a-Judge Evaluation: When It Works, When It Fails, and What to Measure

A three-layer routing model for deciding when to use an LLM judge, a deterministic check, or a human reviewer, plus the judge biases that quietly break trust in a score.

evaluation
A black canvas diagram of three parallel lanes labeled RULE, JUDGE, and HUMAN, each receiving different labeled evaluation criteria flowing in, illustrating routing criteria to the right evaluation method

At a glance

A team adopts an LLM judge to score "helpfulness" across thousands of production runs. The aggregate score climbs for two release cycles, so the team treats it as evidence the product is improving. Then someone finally samples the judge's transcripts against human reviewers and finds the pattern: the judge was consistently rating longer answers higher, independent of whether those answers were correct. The score had been measuring verbosity, not helpfulness, and nobody caught it because the judge's output was never checked against a human baseline.

LLM-as-a-judge means using one model to score another model's output against a rubric. It is a useful, cost-effective way to evaluate criteria that are too subjective or too expensive for a fixed rule, but it is not ground truth. It works reasonably well for criteria with a clear, describable rubric — tone, format adherence, relative preference between two answers. It works poorly for criteria that need a verified fact, a precise count, or resistance to a judge's own biases toward length, position, or its own outputs. Those need a deterministic check or a human reviewer instead. This guide is for engineers and applied-AI practitioners deciding which evaluation criteria belong in which lane, and how to keep a judge honest once it is running in production.

This article is scoped narrowly to judge methodology: when to trust an LLM judge, its known failure modes, and how to calibrate it. It does not re-cover general evaluation metric taxonomy — see AI evaluation metrics for that — or dataset construction. If you have not yet decided what to measure at all, start there and come back here once you know which criteria you plan to hand to a model.

The Three-Layer Evaluation Routing Model

Every evaluation criterion should be routed to exactly one of three layers: a deterministic check, an LLM judge, or human review. The routing decision comes from two questions, asked in order:

  1. Can this be checked with fixed logic? If yes, route it to a deterministic check. Do not spend a model call — or a person's attention — on something a regex, a schema validator, or a lookup can already verify.
  2. Does it require subjective or comparative judgment that a rubric can describe? If yes, and the criterion is not high-stakes or fact-dependent, route it to an LLM judge with a written rubric. If the judgment is high-stakes, requires verified facts, or the judge's agreement with humans hasn't been established, route it to human review.
Criterion typeCan fixed logic check it?Needs describable subjective judgment?RouteExample
Format and schema complianceYes—DeterministicOutput matches required JSON schema
Policy and safety hard blocksYes—DeterministicForbidden tool never called
Exact factual lookupsYes (if source is structured)—DeterministicRefund amount matches order record
Tone and style adherenceNoYes, describableLLM judgeReply matches brand voice guidelines
Relative preference between two answersNoYes, describableLLM judgeWhich of two drafts reads more clearly
Rubric-scored helpfulness (calibrated)NoYes, describableLLM judgeDid the answer address the stated need
Open-ended factual correctnessNoPartially — needs ground truthHuman reviewIs this medical or legal claim accurate
High-consequence or irreversible actionsNoNo — needs accountabilityHuman reviewApprove a large refund or account closure
Judge-human disagreement casesNoUnresolvedHuman reviewCalibration sample flags low agreement

What LLM-as-a-judge means and doesn't mean

LLM-as-a-judge is a specific technique: you write a rubric, hand it and a candidate output (sometimes alongside a reference or a second candidate for comparison) to a model, and ask it to produce a score or a preference along with a justification. It is not a certification that the scored output is correct. It is not a substitute for ground truth. And it is not free of the same failure modes — hallucination, inconsistency, sensitivity to phrasing — that affect the model being judged.

The appeal is obvious: human review does not scale to thousands of production runs a day, and deterministic checks cannot describe "does this response sound appropriately empathetic" or "is this the better of two summaries." An LLM judge fills that gap at a fraction of the cost of a human panel, and it can run continuously rather than on a sampled cadence.

The risk is just as obvious once you've seen it happen: a judge score can look stable, trustworthy, and improving while measuring something other than what you think it measures. The opening scenario — a verbosity-biased judge quietly rewarding longer answers for two release cycles — is not a contrived edge case. It is the default outcome of deploying a judge without ever checking its agreement with a human baseline.

The two routing questions, applied

Before writing a rubric for anything, ask the two questions from the Three-Layer Model above.

"Can this be checked with fixed logic?" covers more ground than teams usually assume. Schema validity, required fields, forbidden actions, numeric ranges, and lookups against a structured source of truth are all deterministic by nature — a judge model adds latency, cost, and a new source of error to a check that a script already answers with certainty. If a criterion can be reduced to a boolean or a lookup, it should never reach a judge.

"Does this require subjective or comparative judgment that a rubric can describe?" is where the judge layer earns its place. Tone, clarity, adherence to a style guide, and relative preference between two candidate answers are all criteria a written rubric can describe precisely enough for a model to apply consistently — not perfectly, but consistently enough to be useful once calibrated. Criteria that fail this test — because they require verified facts the judge cannot check, or because the judgment is too high-stakes to delegate — belong in human review instead.

What LLM judges are reasonably good at

Used inside their actual competence, LLM judges are a legitimate part of an evaluation system. They tend to hold up well for:

  • Relative preference between two answers. "Which of these two responses better addresses the user's question" is a comparison a judge can make more reliably than an absolute score, because it removes the need to anchor to an abstract scale.
  • Style and tone adherence. Whether a response matches a brand voice, a required formality level, or a communication policy is a describable, rubric-friendly judgment.
  • Rubric-scored dimensions with clear criteria. When a rubric spells out exactly what counts as a 1 versus a 5, with concrete examples at each point, a judge can apply it more consistently than it can invent a definition of "good" on the fly.
  • High-volume triage. Flagging the subset of runs that look risky, off-tone, or worth a closer look, so that human attention goes to the highest-value cases instead of a random sample.

They are considerably less reliable at anything that requires verifying a fact against the world, counting precisely, resisting surface features of the text (like length or formatting) that correlate with but do not cause quality, or judging its own or a closely related model's output without a documented tendency toward self-preference. AI agent evaluation covers where judges fit inside a broader evaluation program, alongside deterministic checks and regression suites.

Known judge failure modes

Every documented judge bias below is a tendency, not a guaranteed failure on every run. None of these biases are eliminated by a mitigation — they are reduced, and the residual risk should stay visible in how you interpret the score.

Bias typeDescriptionMitigation (reduces, does not eliminate)
Position biasThe judge favors whichever answer is shown first (or second) in a comparison, regardless of qualityRandomize answer order across evaluations; run each comparison both ways and check for order-flip disagreement
Verbosity biasThe judge rates longer answers as better independent of correctness or actual usefulnessInstruct the rubric to explicitly penalize unnecessary length; calibrate against human judgments across a length-varied sample; report length alongside the score
Self-preference / agreement biasA judge model rates outputs from the same model family, or outputs that match its own stylistic habits, more favorablyUse a judge model from a different family or lineage than the model being evaluated where practical; track agreement rates by model pairing
Rubric driftThe judge's effective interpretation of the rubric shifts over time as the model, prompt, or rubric wording changes, even when the written rubric hasn't changedVersion the rubric, prompt, and judge model together; re-run a fixed calibration set on every change and compare score distributions

Position bias

A judge asked to compare Answer A and Answer B will, in a documented pattern across LLM-judge research, show a measurable lean toward one position in the prompt — sometimes the first answer, sometimes the second, depending on the model and prompt structure. This is why any comparative judge setup should randomize which answer appears first, and ideally run the comparison in both orders to see whether the verdict flips. A verdict that flips with position order is not a reliable verdict; it is noise dressed as a score.

Verbosity bias

This is the failure mode from the opening scenario, and it deserves emphasis because it is easy to introduce accidentally. A judge instructed to score "helpfulness" or "completeness" without an explicit length constraint will often reward the longer of two answers, because longer answers look more thorough even when they pad with restatement, hedging, or tangential detail. The mitigation is not to cap length arbitrarily — that trades one bias for another — but to write the rubric so it explicitly separates thoroughness from length, and to calibrate the judge against human scores across a sample that varies deliberately in length so the bias becomes visible if it's still present.

A black canvas showing two answer transcripts side by side, a short 46-word correct answer scored 3 out of 5 by an LLM judge, and a 210-word padded answer scored 5 out of 5 by the same judge, with a human reviewer's scores of 4 and 4 shown beneath both

Self-preference / agreement bias

When the judge model and the model being evaluated share a lineage — the same provider, the same base model, or even the same model at a different checkpoint — some evaluations show the judge favoring outputs that match its own stylistic tendencies. This does not mean judge and candidate must always come from different vendors; it means the possibility of self-preference should be treated as a risk to check for, not assumed absent. Comparing agreement rates when the judge and candidate are matched versus mismatched is one way to surface whether this is happening in your setup.

Rubric drift

A rubric is text, and text is interpreted differently by different model versions, different prompt phrasings around it, and even the same model at different points if the underlying provider updates it silently. Rubric drift is what happens when the written rubric stays the same but the judge's effective behavior under it changes — scores creep up, down, or become less consistent without anyone editing the rubric file. The only reliable way to catch this is to keep a fixed calibration set and re-run it whenever the judge model, prompt, or rubric changes, comparing the new score distribution against the old one.

Writing a rubric a judge can actually follow

A rubric that works for a human reviewer is not automatically a rubric that works for a model. Vague criteria like "score the response's quality from 1 to 10" invite exactly the biases above, because the model has nothing concrete to anchor to and will fall back on surface heuristics like length and confidence. A rubric a judge can actually follow needs:

  • Named criteria, each scored separately rather than folded into one composite number.
  • A bounded scale with a concrete description of what separates each point on the scale — not just "1 = bad, 5 = good."
  • A required justification field, so the judge has to point to specific evidence in the output rather than emitting a bare number. This also gives a human reviewer something to check during calibration.
  • Explicit counter-instructions against known biases — for example, telling the judge directly that length alone should not raise the score, and that answer order in a comparison should not influence the verdict.

Illustrative rubric-as-structured-prompt example

The following is illustrative — adapt the criteria and scale to your actual product and rubric, and verify the prompt format against your model provider's current tool-use or structured-output conventions before using it.

text
# Illustrative — verify against your provider's structured-output conventions before use.

You are scoring a single customer support response against the rubric below.
Do not favor a longer response unless the extra length adds information the
user needs. Base every score on the response text only, not on how
confident or fluent it sounds.

## Criteria (score each 1-5 independently)

1. correctness — Does the response accurately reflect the account/order
   data provided in context? 1 = contradicts the data, 5 = fully consistent.
2. completeness — Does it address every part of the user's stated request?
   1 = ignores parts of the request, 5 = addresses all of it, no more.
3. tone — Does it match the brand's support tone (direct, respectful,
   no over-apologizing)? 1 = off-tone, 5 = on-tone.
4. actionability — If the user needs to do something next, is it stated
   clearly? 1 = unclear or missing, 5 = a single unambiguous next step.

## Required output (JSON)

{
  "correctness": <1-5>,
  "completeness": <1-5>,
  "tone": <1-5>,
  "actionability": <1-5>,
  "justification": "<cite the specific sentence(s) in the response that
    drove each score below its expected value; state 'none' if all
    scores matched expectation>"
}

The justification field is not decoration. It is what makes calibration possible: a human reviewer can read the justification against the actual response and judge whether the model's reasoning holds up, rather than only comparing two numbers.

Calibrating a judge against human review

A judge that has never been compared against a human baseline is a judge you are trusting on faith. Calibration is the process of checking that faith periodically and honestly.

Calibration-process checklist

  • [ ] Sample size. Pull a sample large enough to see the failure modes that matter for your use case — a small, curated sample that deliberately includes length-varied, order-varied, and edge-case examples is more useful than a larger but uniform random sample. Report the sample size and how it was selected alongside every calibration result.
  • [ ] Agreement threshold. Decide, before looking at results, what level of judge-human agreement is acceptable for this criterion to stay routed to the judge layer. There is no universal number to cite here — the threshold should reflect how costly a judge error is for that specific criterion, and it should be written down before the calibration run so it can't drift to fit an inconvenient result.
  • [ ] Disagreement classification. When the judge and a human reviewer disagree, classify why: ambiguous rubric, missing context the judge didn't have, a genuine judge error, or a human reviewer error. Not all disagreement means the judge is wrong.
  • [ ] Re-calibration cadence. Re-run the fixed calibration set whenever the judge model, prompt, or rubric changes, and on a regular schedule even when nothing has changed, since provider-side model updates can shift behavior silently. Tie the cadence to your release cadence, not to a fixed calendar interval that might miss an intermediate change.
  • [ ] Versioned record. Keep the judge model version, rubric version, calibration sample version, and agreement result together as one artifact, so a later reviewer can tell which judge configuration a historical score actually came from.

Decision rule: If judge-human agreement on the calibration sample falls below the threshold you set in advance, move that criterion to human review — or narrow the rubric and recalibrate — before trusting the judge's score in a release decision again.

Confidence thresholds and escalation to a human

Even a calibrated judge should not resolve every case on its own. A practical pattern is to let the judge's own output signal when it is uncertain — a low or borderline score, a justification that hedges, or a case that falls in a category the calibration sample showed disagreement on — and route those cases to a human reviewer rather than accepting the judge's verdict automatically. This keeps the volume advantage of an LLM judge (most cases never need a human) while keeping the accountability advantage of human review for the cases where it matters most. Human-in-the-loop review covers how to design that escalation path so it doesn't become a bottleneck or a rubber stamp.

Borderline-score escalation is a mitigation, not a guarantee: a confidently wrong judge score will not trigger escalation, which is exactly why the calibration sample — not the live confidence signal alone — is what tells you whether the judge deserves this much trust in the first place.

Rubric Selector

Pick an evaluation criterion below to see which of the three layers — deterministic check, LLM judge, or human review — is recommended, and why, using the two routing questions from the model above.

Rubric Selector

Select a criterion to see its recommended layer and the reasoning behind it.

Recommended layer

Human review

Can this be checked with fixed logic?

No — the claim isn't checkable against a structured source the system has access to.

Does it require subjective or comparative judgment a rubric can describe?

Partially — judging accuracy needs verified ground truth, not just a describable rubric.

Why this layer

A judge can flag a claim as suspicious, but confirming it as true or false against the world is a human (or a verified-source deterministic check, if one exists) job, not a rubric-following one.

This is a static reference bound to a fixed, illustrative mapping: selecting a criterion swaps locally rendered text answering the two routing questions. It does not call a model or read production data.

If the interaction above doesn't render in your reading environment, the same five mappings are captured in the routing table near the top of this article and in the rows above.

Worked example: judging a support-agent response for tone and policy adherence

A support team wants to evaluate whether their agent's responses stay on-brand and inside policy across thousands of daily conversations. Running every response past a human reviewer isn't feasible at that volume, so they route the criteria using the two questions.

Policy hard blocks — did the agent avoid offering unauthorized discounts, avoid confirming account changes without verification, and avoid disclosing internal policy details — are all checkable with fixed logic against the conversation transcript and the agent's tool calls. These go to deterministic checks: a rule engine that flags any response containing a disallowed pattern or an unauthorized tool call. No judge call is spent here.

Tone adherence — does the response sound direct and respectful rather than over-apologetic or curt — is subjective but describable. The team writes a rubric with three or four concrete examples of on-tone and off-tone responses at each score level, adds a required justification field, and routes this to an LLM judge.

Escalation-worthy edge cases — a customer expressing genuine distress, an ambiguous refund request near a policy boundary, or any case where the judge's score falls in the lowest band or its justification hedges — are routed to human review. The team calibrates the tone judge monthly against a 150-example sample stratified to include length variation and known-difficult cases, using an 80%-agreement threshold they set before the first calibration run. When agreement fell to 71% after a judge-model provider update, they treated that as a signal to hold the judge score out of the next release gate until the rubric was tightened and recalibrated — not as an anomaly to explain away.

Leave the reader with the next move

  • [ ] Every criterion the team scores has been routed through the two questions to deterministic, judge, or human — not defaulted to "judge" because it's convenient.
  • [ ] Every judge-scored criterion has a written rubric with named sub-criteria, a bounded scale, and a required justification field.
  • [ ] A calibration sample exists with a documented size, selection method, and pre-set agreement threshold.
  • [ ] Re-calibration is tied to judge-model, prompt, and rubric changes, not left to run only when something looks wrong.
  • [ ] Borderline or low-confidence judge scores escalate to a human reviewer rather than resolving automatically.
  • [ ] Nobody on the team is treating an uncalibrated judge score as ground truth in a release decision.

An LLM judge earns a place in an evaluation system the same way any other signal does: by being checked against something more trustworthy before it's trusted on its own, and by staying inside the criteria it's actually good at. Route the easy checks to code, keep the accountable decisions with a person, and let the judge do the volume work in between — with a calibration process that keeps it honest as your model, prompt, and traffic all keep changing underneath it. RAG evaluation covers a closely related case — judging groundedness and citation quality — where several of the same biases, especially verbosity and rubric drift, show up in a different shape.

Frequently asked questions

What is LLM-as-a-judge?

Using one model to score another model's output against a defined rubric, typically for criteria too subjective or too expensive for a deterministic check.

Is an LLM judge's score ground truth?

No. It should be calibrated against human judgment on a representative sample and treated as an estimate, not an objective fact.

What is position bias?

A judge's tendency to favor whichever answer is presented first (or second) in a comparison regardless of quality, which is why answer order should be randomized during evaluation.

What is verbosity bias?

A judge's tendency to rate longer answers as better independent of their actual correctness or usefulness.

When should a human review instead of a judge?

When the criterion requires ground-truth fact-checking, high-stakes or irreversible judgment, or when judge-human agreement on a calibration sample falls below the threshold the team set in advance.

Written byTracify Team

Practical field notes from the team building Tracify and operating AI agents in production.

#LLM as a judge#LLM evaluation#judge bias#AI output grading

Next in the loop

AI Agent Release Checklist: What to Verify Before Changing a Prompt, Model, or Tool

Keep reading →