LLM-as-judge, honestly
This is the technique most teams adopt and the one most often oversold, so it is worth stating both halves of the evidence.
The foundational result is Zheng et al., "Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena", NeurIPS 2023. Their finding: "strong LLM judges like GPT-4 can match both controlled and crowdsourced human preferences well, achieving over 80% agreement, the same level of agreement between humans." The evidence base was substantial: 3,000 controlled expert votes from 58 experts on MT-Bench, plus roughly 3,000 crowdsourced votes from Chatbot Arena, against a corpus of 30,000 conversations.
That is a real result and it is why the technique works at all. But two things get dropped from every summary of it. First, the 80% figure is a ceiling reached after mitigating known biases, not the number you get from a naive setup. Second, it measures agreement on preference between two answers, not correctness.
The same paper documents the failure modes in the same breath, and later work has measured them properly.
Position bias. The judge favours whichever answer it sees first. Shi et al., "Judging the Judges: A Systematic Study of Position Bias in LLM-as-a-Judge" (IJCNLP-AACL), is the strongest measurement of this: 15 LLM judges across MT-Bench and DevBench, 22 tasks, roughly 40 solution-generating models, producing over 150,000 evaluation instances. They found position bias is "not due to random chance", varies significantly across judges and tasks, and is only weakly influenced by the length of prompt components. The finding that matters practically is what does drive it: position bias is strongly affected by the quality gap between the two solutions. When the answers are close, the judge falls back on position. When one is clearly better, position matters less. Your judge is least trustworthy exactly where you need it most, on the close calls.
Verbosity bias. Longer answers score better regardless of whether they are better. If you are comparing a terse prompt against a discursive one, some of your measured difference is length.
Self-preference. Wataoka, Takahashi and colleagues, "Self-Preference Bias in LLM-as-a-Judge" (2024), defined a bias metric from 0 (neutral) to 1 (strong self-preference) and measured eight models. GPT-4 scored 0.749, by a wide margin the highest of the eight. GPT-3.5-turbo scored 0.191. Their proposed mechanism is worth knowing because it generalises: the bias appears to track perplexity. Models rate text they find familiar more highly than humans do, whether or not they generated it. Self-preference is a special case of familiarity-preference, which means it does not disappear just because you switch judge vendors.
The finding that should change how you build. Krumdick, Lovering, Reddy, Ebner and Tanner, "No Free Labels: Limitations of LLM-as-a-Judge Without Human Grounding" (2025), human-annotated correctness labels for 1,200 LLM responses across a finance and business benchmark and a hard subset of MT-Bench. Their result: "when not provided with a correct reference, judges show high agreement with human experts only on questions the judges were able to correctly answer themselves." And the warning about your dashboard: "Although aggregate level statistics might imply a judge has high agreement with human annotators, it will struggle on the subset of questions it could not answer."
Read that twice. An ungrounded judge is reliable on the easy cases and unreliable on the hard ones, and the aggregate score averages the two into a number that looks fine.
Their fix is cheap: give the judge a correct, human-written reference answer. They also showed that a weaker judge with high-quality human references beats a stronger judge with synthetic ones, which means the effort belongs in writing good reference answers rather than in buying a bigger judge model. As they put it: "Using LLM-as-a-Judge does not alleviate the need for human oversight."
The honest summary: an LLM judge is a regression detector, not an oracle. It is good enough to tell you this release got worse than last release on a fixed dataset. It is not good enough to define what good means.