prompt-eng
Glossary ↗LLM-as-Judge
LLM-as-judge is an evaluation technique where a large language model itself is used to score, critique, or compare the outputs of another model call (or of two different prompt versions applied to the same input), following a defined rubric provided in the judge's own prompt — a specialized application of the meta prompt pattern, used specifically to automate quality evaluation at a scale manual human review can't practically match. This has become one of the most important tools in production prompt-engineering and AI-product-development workflows because traditional software testing (exact-match assertions) doesn't work well for free-text, non-deterministic LLM output — two correct summaries of the same document can be worded completely differently, so you can't simply assert "output equals expected string." LLM-as-judge fills that gap by using a model's own language-understanding capability to assess more nuanced qualities: factual accuracy against a reference, adherence to a specified tone or format, helpfulness, conciseness, or a head-to-head comparison between two candidate outputs ("Response A vs Response B: which better addresses the user's question? Respond A, B, or TIE"). It's used for pairwise comparison (deciding whether a new prompt version is better than the current production version, across an evaluation set), absolute scoring (rating a single output 1-10 against a rubric, useful for tracking quality trends over time), and reference-based grading (comparing a model's answer against a known correct answer for factual-accuracy tasks). A well-known limitation is that LLM judges have their own biases — a tendency toward favoring longer responses (verbosity bias), favoring responses that resemble the judge's own writing style (self-preference bias when judge and generator are the same model family), and positional bias in pairwise comparisons (favoring whichever response is presented first) — so mature evaluation setups randomize response order, occasionally validate judge scores against a sample of real human ratings, and sometimes use a different, typically stronger model as judge than the one being evaluated, to reduce self-preference bias. Concrete worked example: a team maintaining an AI customer-email-response generator wants to compare a new prompt version against the current production version across 300 historical support tickets before deciding whether to ship it. Manually reading 600 response pairs isn't practical for a routine prompt change, so they build an LLM-as-judge evaluation: "Given this customer ticket and two candidate agent responses, score each 1-10 on helpfulness and professionalism, then state which is better overall. TICKET: {{ticket}}. RESPONSE A: {{response_a}}. RESPONSE B: {{response_b}}." Run across all 300 pairs with response order randomized to control positional bias, the new version wins 214-86 — a result that gives the team quantitative, scalable confidence to ship, spot-checked against a 20-ticket human-reviewed sample to confirm the judge's scoring aligns with actual human quality judgment.
Related terms