LLM-as-a-Judge: How It Works, Where It Fails, and What It Costs in Production

Key Takeaways

  • Use an LLM judge only where no deterministic check can assess the behavior, and keep code-based checks for anything with an exact answer.
  • Put the reasoning field before the score field in structured output.
  • Treat the headline 85% judge-human agreement as a tie-excluded figure; with ties counted it falls to 66%, so measure agreement on a team-owned labeled set.
  • Judge every pairwise comparison in both orders and count disagreements as ties, because position bias flips verdicts.
  • At list prices, a frontier judge costs about two orders of magnitude more per evaluation than a small model, so route full-traffic scoring to a small in-environment evaluator and reserve the frontier judge for sampled or borderline cases.

In a hypothetical production scenario, an agent team wires a frontier-model judge to score every trace for faithfulness and task completion. Each judgment sends the rubric, the retrieved context and the full response to an external API. The evaluation line on the LLM bill now exceeds the application’s own, and the scoring queue trails production. Where the judge runs has become an architecture decision.

What Is LLM-as-a-Judge?

LLM-as-a-Judge is an evaluation method in which a large language model receives an evaluation prompt containing criteria or a rubric, plus one or more candidate outputs, and returns a score, a label or a preference between candidates, usually with a written rationale. The judge is a specific model paired with a specific prompt template; change either and the scores are no longer directly comparable.

Teams use the method alongside two older approaches:

  • Human review: Teams use it as the reference standard and the ceiling for any automated grader, but it does not scale to production traffic, so teams calibrate against it rather than run it per request.
  • N-gram overlap metrics: Reference-based metrics such as BLEU and ROUGE scale without limit but need a reference answer and track human judgment poorly on open-ended generation. On the SummEval summarization benchmark, ROUGE-L averaged a Spearman correlation of 0.165 with human ratings, while a GPT-4-based judge using the G-Eval method reached 0.514 [1].

With LLM-as-a-Judge evaluation, teams trade the determinism of a metric for the flexibility to grade criteria with no reference, such as faithfulness to retrieved documents or whether an agent completed the user’s task.

For the full taxonomy of methods, see LLM evaluation and the broader AI evaluation guide.

How an LLM Judge Scores an Output

Every judge call takes criteria and the output under test and returns a verdict with reasoning; modes differ in how many outputs the judge sees and whether it gets a correct answer to compare against. The MT-Bench paper describes single-output scoring and pairwise comparison, with reference-guided grading available alongside either mode, which teams can combine in an LLM-as-a-judge framework [2].

Single-Output Scoring Against a Rubric

Single-output scoring grades one response on a defined scale with a reasoning field, and it fits production monitoring because each request produces exactly one output. MT-Bench scores each turn on a 10-point scale with this mode [2]. Its weakness is drift. Absolute scores fluctuate more than pairwise results when the judge model changes, and the judge may miss subtle differences between near-identical answers [2]. Teams handle drift by pinning the judge model and re-calibrating when it changes, and use pairwise mode for near-identical candidates.

Pairwise Comparison

Pairwise comparison presents the judge with a question and two answers and asks which is better or whether they tie. It fits comparisons of two prompt versions, models or configurations on the same inputs, because ranking is an easier task than assigning a calibrated absolute score. The cost is scalability. The number of pairs grows quadratically with candidates [2], and every pair should be judged twice with the order swapped, for reasons covered under biases below.

Reference-Guided Grading

Reference-guided grading supplies a ground-truth answer alongside the candidate, and on tasks with a correct answer it cuts false passes. When GPT-4 graded math answers with the default prompt, it marked an incorrect answer correct in 14 of 20 cases; chain-of-thought prompting cut that to 6 of 20, and a reference answer cut it to 3 of 20 [2]. Reference-free grading covers criteria with no single right answer, such as faithfulness to retrieved context, tone or policy adherence. Teams run reference-guided judges against a golden dataset (a fixed, human-labeled set run before every deployment) and reference-free judges in production, where no reference exists.

Designing a Judge Rubric That Holds Up

Teams build a reliable rubric by defining one criterion at a time, requiring the judge to reason before it scores, and specifying output the pipeline can parse without a second model call.

  • One criterion per judge: Anthropic’s agent evaluation guidance recommends a separate judge for each rubric dimension and an explicit “Unknown” option, so the judge cannot blend a faithfulness problem into a tone score or guess when the evidence is missing [3].
  • Binary first, additive when needed: Start with pass/fail per criterion rather than a 1–5 scale. Hamel Husain argues adjacent Likert points such as 3 versus 4 are subjective and inconsistent across annotators, and treats numeric scales as an advanced step [4]. When a graded score is needed, build it from a list of yes/no checks whose pass proportion becomes the score, which gives a defensible explanation of every point lost.
  • Reasoning before verdict: Put the reasoning field before the verdict field. In one study, 100% of GPT-3.5 Turbo JSON-mode responses placed the answer key before the reason key, which stripped out the chain of thought, and GSM8K math accuracy fell from 75.99 with free-form text to 49.25 under a JSON schema constraint [5].
  • Few-shot anchors: Use few-shot anchors sparingly and cache them. In MT-Bench, few-shot examples raised GPT-4’s position consistency from 65.0% to 77.5%, but agreement with humans stayed similar to zero-shot and the longer prompt cost four times as much [2]. A small number of anchors at distinct score levels, placed in a cached prompt prefix, keeps the added cost down.
You are grading one answer from a support assistant for faithfulness to the retrieved context.

Criterion: Every factual claim in the answer is supported by the context.
Claims that go beyond the context or contradict it fail. Invented details also fail.

Context: {{retrieved_context}}
Question: {{user_question}}
Answer: {{assistant_answer}}

Steps:
1. List each factual claim in the answer.
2. For each claim, quote the supporting passage or write "unsupported". Then decide the verdict.

Return JSON with the fields in this order:
{"reasoning": "<claim-by-claim check>", "unsupported_claims": ["..."], "verdict": "PASS" | "FAIL" | "UNKNOWN"}

Use UNKNOWN only if the context is missing or unreadable.

The companion piece on prompt evaluation covers how teams version these prompts and track which rubric produced which score.

Known Biases and How to Reduce Them

An LLM judge carries systematic biases that a human reviewer would not, and each one has a measured effect size and a mitigation a team can apply in the pipeline. The table below pairs the three best-documented biases with the evidence and the fix:

Bias What the evidence shows Mitigation
Position With the default pairwise prompt, GPT-4 gave consistent verdicts when the answer order was swapped in only 65.0% of cases, and Claude-v1 in 23.8% [2]. Judge every pair in both orders and count a win only when both verdicts agree. Record the rest as ties, the conservative procedure MT-Bench uses [2].
Verbosity A repetitive-list attack that padded answers without adding information fooled Claude-v1 and GPT-3.5 91.3% of the time, and GPT-4 8.7% [2]. Length-controlled AlpacaEval cut the gameability of win rates from 26% to 10% by regressing out length [6]. Length-normalize pairwise results or add a rubric line that penalizes claims the question does not require. Test the judge with a padded copy of a good answer before trusting it.
Self-preference GPT-4 distinguishes its own text from that of two other LLMs and humans with 73.5% accuracy, and after fine-tuning, self-recognition correlates linearly with self-preference [7]. Grade with a different model than the one that generated the output, and never run a model-selection experiment where one candidate is also the judge.

Calibrating the Judge Against Human Labels

The MT-Bench result most people quote, 85% agreement between GPT-4 and human experts against 81% between two humans, excludes tie votes; with ties counted, GPT-4 pairwise agreement drops to 66% and human-human agreement to 63–67% [2]. Both figures describe the same data, so state the tie convention when reporting agreement; a team’s own numbers will depend on the task, the rubric and the judge model.

Calibration means measuring that agreement on a labeled set the team owns rather than borrowing a benchmark figure.

  • Hamel Husain’s guidance is about 100 labeled examples per failure mode, with enough passing and failing examples to measure both classes; below 60 examples, confidence intervals are usually too wide to act on [4]. Split that set so part of it tunes the judge prompt and the rest tests it, because a judge tuned and tested on the same examples looks better than it is.
  • For binary labels, use a chance-corrected agreement statistic such as Cohen’s kappa; raw agreement stays high when the judge mostly says PASS on a set where PASS is common.

That labeled set doubles as the golden dataset. Re-run the agreement measurement whenever the judge model changes, the judge prompt is patched, or a feature ships that changes what production outputs look like. Hamel Husain recommends repeating human review whenever something material changes, such as a model update [4]. The human-in-the-loop article covers how to route disagreements between judge and reviewer back into that set.

Evaluating Agents With a Judge

An agent produces a trajectory of steps, and a judge that only reads the final answer cannot tell which tool call or retrieval step broke. In the Who&When failure-attribution benchmark, the best method identified the responsible agent 53.5% of the time but the responsible step only 14.2% of the time, and every method got worse as context length grew [8].

Anthropic’s agent evaluation guidance recommends combining code-based and model-based graders with human review, grading outcomes rather than exact paths because rigid tool-order checks are brittle, and starting with 20–50 tasks built from real failures [3]. Apply those graders at the span level:

  • Tool spans: Code checks verify that the tool name exists, the arguments validate against the schema and the call returned no error. Compare tool names and arguments with separate checks, and allow equivalent arguments where the schema permits.
  • LLM and agent spans: An LLM judge evaluates LLM spans for faithfulness and relevance to the retrieved context, while an outcome judge evaluates the agent span for task completion.

Where those scores attach is now partly standardized. The OpenTelemetry GenAI conventions define a gen_ai.evaluation.result event that SHOULD be parented to the evaluated span when possible [9]. The event conventions are marked Development, so teams should pin the attribute names they depend on [9]. Attaching each score to the span that produced the behavior lets a low application-level faithfulness number resolve to the retrieval span that returned irrelevant context.

What a Judge Costs at Production Volume

The cost of an LLM judge at volume is arithmetic on token prices. A judge call carries the rubric, anchors, retrieved context and response as input, and returns reasoning plus a JSON verdict, so every judgment pays for both input and output tokens.

At the list prices on OpenAI’s pricing page, a frontier model costs about two orders of magnitude more per token than a small model [10]. Judging every output multiplies that per-call price by daily volume, and pairwise comparison doubles it for the order swap. Batch pricing and cached input lower the frontier figure but leave the ratio at roughly the same order of magnitude [10].

Latency adds a second constraint. Every external judge call is a full model round trip, and reasoning-enabled configurations add thinking time, so the judge cannot sit on the response path and must run asynchronously.

Evaluation total cost of ownership (TCO) has three components:

  • Evaluation Trust Tax: The per-call cost that appears on the LLM bill each time evaluation runs against an external model.
  • Incident Risk Exposure: Teams sample traffic to keep the judge bill down, and any failure in the unscored traffic reaches a user before anyone sees it.
  • Operational Overhead: The cost of building and maintaining the pipeline around the judge, including prompt versioning, calibration and re-runs.

Estimate all three for a specific deployment with the Evaluation TCO Calculator. Results vary by model, deployment, and traffic.

A smaller task-specific evaluator running in the team’s environment fits better when:

  • the criterion is narrow, such as faithfulness, toxicity, PII (personally identifiable information) presence, or tool-argument validity;
  • every prompt and response needs a score;
  • data cannot leave the environment;
  • the score must arrive within the request latency budget.

Small fine-tuned evaluators can come close to frontier judges on narrow checks such as faithfulness and can fall behind on open-ended reasoning judgments. Keep the frontier judge for open-ended quality, pairwise experiments between prompt or model versions, and sampled audits of the in-environment evaluator.

How Fiddler Approaches Judge-Based Evaluation

Fiddler uses LLM-as-a-judge as the sections above describe; the design decision is where that judge runs. Batteries-included Fiddler Centor Models score prompts and responses in-environment with no external LLM API call, so they can evaluate 100% of prompts and responses rather than a sampled slice. Out-of-the-box and customizable Centor Models keep data in-environment. Centor Models do not sample, and their costs are a step function compared to LLM costs that grow linearly.

Bring Your Own Judge routes scoring to OpenAI, Anthropic or Google models. It is the only path that incurs the Evaluation Trust Tax.

Agentic Observability covers both stages. Before deployment, custom evaluators in Tests & Experiments compare prompts, models and configurations against the team’s golden dataset, and evaluation thresholds set there can connect to production alert rules. In production, evaluation scores attach to traces across the application, session, agent, trace, and span hierarchy, so a low faithfulness score resolves to the LLM span and the retrieved context that produced it.

Request a demo to review how in-environment evaluation and span-level scoring would fit the existing agent architecture and deployment environment.

References

[1] Y. Liu et al., “G-Eval: NLG Evaluation using GPT-4 with Better Human Alignment,” in Proc. EMNLP 2023, Association for Computational Linguistics, 2023. Accessed: Oct. 14, 2026. [Online]. Available: https://aclanthology.org/2023.emnlp-main.153.pdf

[2] L. Zheng et al., “Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena,” NeurIPS 2023 Datasets and Benchmarks Track, 2023. Accessed: Oct. 14, 2026. [Online]. Available: https://proceedings.neurips.cc/paper_files/paper/2023/file/91f18a1287b398d378ef22505bf41832-Paper-Datasets_and_Benchmarks.pdf

[3] Anthropic, “Demystifying evals for AI agents,” Anthropic Engineering, Jan. 9, 2026. Accessed: Oct. 14, 2026. [Online]. Available: https://www.anthropic.com/engineering/demystifying-evals-for-ai-agents

[4] H. Husain, “Creating a LLM-as-a-Judge That Drives Business Results,” hamel.dev, Oct. 29, 2024. Accessed: Oct. 14, 2026. [Online]. Available: https://hamel.dev/blog/posts/llm-judge/index.html

[5] Z. R. Tam et al., “Let Me Speak Freely? A Study on the Impact of Format Restrictions on Performance of Large Language Models,” arXiv:2408.02442, 2024. Accessed: Oct. 14, 2026. [Online]. Available: https://arxiv.org/abs/2408.02442

[6] Y. Dubois et al., “Length-Controlled AlpacaEval: A Simple Way to Debias Automatic Evaluators,” arXiv:2404.04475, 2024. Accessed: Oct. 14, 2026. [Online]. Available: https://arxiv.org/abs/2404.04475

[7] A. Panickssery et al., “LLM Evaluators Recognize and Favor Their Own Generations,” arXiv:2404.13076, 2024. Accessed: Oct. 14, 2026. [Online]. Available: https://arxiv.org/html/2404.13076v1

[8] S. Zhang et al., “Which Agent Causes Task Failures and When? On Automated Failure Attribution of LLM Multi-Agent Systems,” arXiv:2505.00212, 2025. Accessed: Oct. 14, 2026. [Online]. Available: https://arxiv.org/html/2505.00212v3

[9] OpenTelemetry, “Semantic Conventions for GenAI events,” open-telemetry/semantic-conventions-genai, GitHub, Development status. Accessed: Oct. 14, 2026. [Online]. Available: https://github.com/open-telemetry/semantic-conventions-genai/blob/main/docs/gen-ai/gen-ai-events.md

[10] OpenAI, “Pricing,” OpenAI API documentation. Accessed: Oct. 14, 2026. [Online]. Available: https://developers.openai.com/api/docs/pricing

Frequently Asked Questions

When should a team use pairwise comparison instead of direct scoring?

Pairwise comparison fits questions about which of two candidates is better, such as two prompt versions or two models on the same inputs, since ranking is easier for a judge than absolute scoring. Direct scoring fits production monitoring, where each request yields one output with nothing to compare against. Pairwise runs need both answer orders, with disagreements recorded as ties.

When is a code-based check better than an LLM judge?

Whenever the criterion has an exact answer. Tool name validity, argument schema conformance, JSON well-formedness, regex matches, and post-run database state are deterministic, reproducible, and free per check. A model-based judge belongs only on behavior such as faithfulness or open-ended task completion.

How accurate are LLM judges compared with human reviewers?

Zheng et al. report that on MT-Bench, GPT-4 agreed with human experts about as often as two humans agreed with each other (85% against 81%, with tie votes excluded), but with ties counted GPT-4 pairwise agreement drops to 66% [2]. The number that matters is agreement on the team’s own labeled set, re-measured whenever the judge model or prompt changes.

How much does an LLM judge cost at production scale?

Per-judgment cost is tokens times list price, and at OpenAI’s list prices a frontier model costs about two orders of magnitude more than a small one [10]. Daily traffic multiplies that, and order swapping doubles it for pairwise runs. For an organization-specific estimate that includes sampling risk and pipeline overhead, use the Evaluation TCO Calculator; results vary by model, deployment, and traffic.