wikillm

Paper · 2024-11-23 · cs.CL, cs.AI

A Survey on LLM-as-a-Judge

Survey and taxonomy of LLM-as-a-Judge: formal definition, prompt and model choices, post-processing, reliability strategies (fine-tuning, feedback, multi-round and multi-LLM voting) and meta-evaluation. A small six-LLM experiment finds GPT-4-turbo least biased and 5-round majority voting with position swapping most useful.

LLM-as-a-judgeLLM evaluationevaluationsurveyllm-as-a-judgebiasmeta-evaluation

arXivPDFMarkdown9 min read

AI-compiled by claude-haiku-5-5 on 2026-10-18, not yet reviewed by a human. Every claim cites its source; check it when a detail matters.

In plain words

Using a language model to grade another model's answers, a person's writing or a piece of text is called LLM-as-a-Judge. It is attractive because it is fast, cheap and can be scaled up, and it can often approximate what a human grader would say. The trouble is that the grades are not stable. They can change with the wording of the instructions, the order in which two answers are shown, the length of an answer, and the randomness built into the model.

This survey organises the work on building such judges. It covers how the judge is set up (the prompt, which model to use, how its raw output is turned into a final grade), how to make it more consistent (asking several times and voting, fine-tuning on grading data, refining from feedback), how to test it against human judgments and for biases, and where it is already used. It also runs one small experiment comparing several judge models and simple improvement strategies.

TL;DR

The paper defines LLM-as-a-Judge as an LLM producing an evaluation from an input and a context, and sorts the practice into four parts: in-context learning, model selection, post-processing and pipeline design §2. In its experiment, GPT-4-turbo showed the fewest biases among the six models tested, and majority voting over five rounds plus swapping answer positions were the strategies that helped most §4.4. All numbers are author-reported on a single small setup, so treat them as directional.

Problem

Expert and human evaluation is accurate but costly and slow to scale, and automatic metrics such as BLEU or ROUGE depend on surface overlap §1. An LLM judge can combine scale with context-sensitive reasoning, but the paper argues that its reliability is not yet systematically understood: definitions are informal, the literature is fragmented, and usage is inconsistent §1. The paper's guiding question is how to build reliable judges §1.

The paper assumes a judge is evaluated against human labels, for example by percentage agreement, and against bias tests such as position, length and self-preference effects §4.1–4.2.

Method

This is a survey, so there is no single algorithm. The paper's core is a formal definition and a taxonomy §2, followed by reliability strategies §3 and a meta-evaluation of some of them §4.4.

Definition §2. The final evaluation E is produced from the judge's probability function P over its output, applied to the input x combined with a context C (prompt template, possibly dialogue history). The combination operator ⊕ can place x at the beginning, middle or end of C §2. The formal definition is an unnumbered display equation; cite it as §2.

Components §2.

  1. In-context learning: input design (modality, single item, pair or batch, position) and prompt design. Four prompt forms are described: score generation, yes/no questions, pairwise comparison and multiple choice §2.1.
  2. Model selection: a general LLM or a fine-tuned judge §2.2.
  3. Post-processing: extract specific tokens, normalise output logits, or select sentences from the output §2.3.
  4. Evaluation pipeline: judging models, judging data (annotation), judging agents and judging reasoning §2.4.

Yes/No score from logits §2.3, "Normalizing the output logits". The self-consistency score multiplies the probabilities of the tokens in two sets, α and β, over the prompt and the answer; the self-reflection score multiplies the probabilities of the token "Yes" after the prompt; the final score is their product. The paper's sets α and β are not defined in the text. The equations are unnumbered; cite as §2.3.

Improvement strategies §3. Three groups:

  • Prompt design: improving task understanding and standardising the output format §3.1.
  • Capability enhancement: specialised fine-tuning on meta-evaluation data, built either from evaluation templates or by transforming raw data §3.2; and feedback-driven refinement, which uses stronger-model or human corrections for fine-tuning or as few-shot examples, and online RL with rule-based rewards §3.2.
  • Final output optimisation: integrate several rounds or several judges (voting, averaging, cascades, peer review) §3.3; or optimise a single judge's output by score smoothing with token probabilities or by self-verification §3.3.

Multi-round voting, the strategy tested in §4.4. The judge is run five times on each sample; the final label is taken by majority vote, by the mean score, or by the best score [§4.4, "Model Configuration" and "Comparison with Different Strategies"]. The paper runs these at temperature 0.

Pseudocode
# Multi-round judging  [§4.4 "Summarize by Multiple Rounds"]
# Input:  item x, judge model, rounds (5 in the paper)
# Output: one final label

def multi_round_judge(x, judge, rounds):
    # 1. Run the same judge several times on the same item  [§4.4]
    verdicts = []
    for round_index in range(rounds):
        verdicts.append(judge(x))
    # 2. Aggregate: majority vote (best), mean or best score [§4.4]
    return majority_vote(verdicts)

Position consistency §4.4, unnumbered formula. Each (question, response 1, response 2) triple is judged in both orders. The metric is the fraction of triples where the two verdicts match. The paper's formula compares the labels r1, r2 or TIE literally, which only works if each verdict is mapped back to the response it names. Our reading, mapping the verdicts back:

Pseudocode
# Position consistency  [§4.4]
# Input:  triples (question, response_a, response_b)
# Output: fraction of triples with the same winner in both orders

def position_consistency(triples, judge):
    same = 0
    for question, response_a, response_b in triples:
        # 1. Judge with the original order  [§4.4]
        first = judge(question, response_a, response_b)
        # 2. Judge with the responses swapped  [§4.4]
        swapped = judge(question, response_b, response_a)
        # 3. Map the swapped verdict back to the original responses  [§4.4]
        if first == swap_label(swapped):
            same += 1
    return same / len(triples)

Hyperparameters

NameValueWhereNotes
Closed modelsGPT-4-turbo (gpt-4-turbo-2024-04-09), GPT-3.5-turbo (gpt-3.5-turbo-0125)§4.4 "Model Configuration"via OpenAI API
Open modelsQwen2.5-7B-Instruct, Meta-Llama-3-8B-Instruct, Mistral-7B-Instruct-v0.3, Mixtral-8x7B-Instruct-v0.1§4.4 "Model Configuration"hardware: one 40 GB NVIDIA A100 §4.4
Reasoning modelso1-mini, o3-mini, gemini-2.0-thinking, DeepSeek-R1§4.4 "Evaluation of Reasoning LLM-as-a-Judge"exact versions, temperature and access route: not stated
Temperature0§4.4 "Model Configuration"stated for all models in the experiment
Rounds for multi-round judging5§4.4how rounds differ at temperature 0: not stated
Vote set 1GPT-4-turbo, GPT-3.5-turbo, LLaMA3-8B-Instruct§4.4multi-LLM voting
Vote set 2GPT-4-turbo, GPT-3.5-turbo, Qwen2.5-7B-Instruct§4.4Qwen replaces LLaMA
Base evaluator for strategiesGPT-3.5-turbo§4.4
Human-alignment benchmarkLLMEval², 2,553 samples (text)§4.4 §4.1table header n = 5106; see Pitfalls
Bias benchmarkEvalBiasBench, 80 samples (text); six bias types§4.4per-type n in table headers, see Pitfalls
Position bias setpaired samples from LLMEval² and EvalBiasBench with swapped positions§4.4n = 2633 in table header
Explanation-based judging promptnot stated§4.4prompt text not given
Self-validation promptnot stated§4.4
Prompt templatesnot stated§4.4
Max output tokens, random seedsnot stated§4.4

Results

Author-reported. Setup: LLMEval² (human preference, pairwise) and EvalBiasBench (six bias types plus position) §4.4. Each cell is a percentage. The "n" in each header is the number of meta-evaluation samples for that column, as printed in the paper's tables.

Judge models §4.4, "Comparison with Different LLMs":

LLMAlignment with human (n=5106)Position (n=2633)Length (n=34)Concreteness (n=28)Empty reference (n=26)Content continuation (n=24)Nested instruction (n=24)Familiar knowledge (n=24)
GPT-4-turbo61.5480.3191.1889.2965.3895.8370.83100.0
GPT-3.5-turbo54.7268.7820.5964.2923.0891.6758.3354.17
Qwen2.5-7B-Instruct56.5463.5064.7171.4369.2391.6745.8383.33
LLaMA3-8B-Instruct50.7238.8520.5957.1465.3875.0045.8354.17
Mistral-7B-Instruct-v0.355.4259.7826.4767.8653.8566.6737.5041.67
Mixtral-8×7B-Instruct-v0.156.2959.0650.0078.5742.3183.3329.1783.33
gemini-2.0-thinking60.7576.8494.1289.2950.00100.0083.33100.00
o1-mini60.1676.7391.1889.2953.8595.8375.0095.83
o3-mini61.6674.6382.3592.8673.0895.8387.5091.67
DeepSeek-R156.4869.1794.12100.0050.00100.0075.0087.50

Strategies on GPT-3.5-turbo §4.4, "Comparison with Different Strategies":

StrategyAlignmentPositionLengthConcretenessEmpty referenceContent continuationNested instructionFamiliar knowledge
base54.7268.7820.5964.2923.0891.6758.3354.17
with explanation52.4748.9735.2960.7138.4691.6741.6750.00
with self-validation54.8669.3123.5360.7123.0891.6741.6750.00
majority@554.6870.11 (see Pitfalls)26.4767.8623.0895.8354.1750.00
mean@554.7269.5811.7657.1426.9287.5050.0050.00
best-of-551.9558.725.8842.8619.2387.5037.5045.83
multi LLMs, set 157.6632.2826.4764.2846.1587.5066.6762.50
multi LLMs, set 258.1970.9864.7171.4369.2391.6745.8383.33

Reasoning judges on LLMEval² by human label §4.4, detail table. Accuracy = aligned / total, per column:

LLMhuman=model1human=model2human=TIE
GPT-4-turbo68.47 (1418/2071)69.47 (1438/2070)29.73 (286/962)
gemini-2.0-thinking65.41 (1354/2070)78.31 (1621/2070)13.20 (127/962)
o1-mini69.76 (1444/2070)67.65 (1401/2071)23.57 (227/963)
o3-mini72.26 (1448/2004)60.18 (1206/2004)42.31 (399/943)
DeepSeek-R166.10 (1369/2071)64.80 (1342/2071)17.95 (173/964)

The paper's own summary: GPT-4 showed fewer biases than the others; Qwen2.5-7B was the best open model; and LLM choice made little difference to human alignment. Reasoning models were competitive but not consistently better §4.4.

Paper vs code

No official code.

Searched: the paper's project page (awesome-llm-as-a-judge.github.io) links one GitHub repository, IDEA-FinAI/LLM-as-a-Judge. Its top level holds only a README and an images folder: a paper list, with no code, no experiment scripts and no license. The meta-evaluation tool drawn in [§4.4, the experiment pipeline figure] is not released. The paper names no method for a GitHub search, so no search was run beyond the project page.

Because the paper has no official code, the discrepancies below are between paper text and paper tables, not between paper and code.

  • Text says the alignment sample is LLMEval², 2,553 samples §4.4; table headers give n = 5106 for alignment §4.4 tables. The paper does not explain the difference. Our check: GPT-4-turbo's 61.54% equals 3142/5106, the sum of aligned counts over the three human-label columns in the detail table (1418 + 1438 + 286), so the 5106 figure seems to count each sample twice (once per swap) — our inference, not stated.
  • Text describes EvalBiasBench as 80 samples §4.4; per-type n in the table headers sums to 180 (34 + 28 + 26 + 24 + 24 + 24). Not explained.

Pitfalls

  • Small bias columns. Most bias columns have 24–34 samples, so one sample is about 3–4 percentage points (1/24 = 4.17). Differences of a few points between strategies are within noise. Position bias (n = 2633) is the only well-powered bias column.
  • Temperature 0 with multiple rounds. The paper sets temperature 0 §4.4, yet majority@5, mean@5 and best-of-5 need diverse samples to differ. How the five rounds vary is not stated.
  • The majority@5 position value. In the source table the value is split across two lines ("70" and "11"); we read it as 70.11. Check against the published PDF before relying on it.
  • "Improvements across multiple dimensions" overstates majority@5. Relative to base, majority@5 lowers the nested-instruction (58.33 → 54.17) and familiar-knowledge (54.17 → 50.00) columns §4.4 strategies table.
  • Pairwise vs pointwise claim. The text says the majority@5 vs mean@5 comparison shows pairwise judging is more reliable than pointwise §4.4. The table compares aggregation rules, not pairwise and pointwise judging, so the claim is not isolated by the data shown.
  • Explanations and self-validation. Asking for an explanation at the same time as the score lowered position consistency and alignment in this setup §4.4. The paper suggests this may come from the explanation adding bias §4.4; the prompt text is not given, so the effect cannot be reproduced exactly.
  • Position consistency formula. The paper compares the labels r1, r2 and TIE literally §4.4. Unless verdicts are mapped back to the response they name, the metric measures label agreement, not winner agreement. See the pseudocode above.
  • Yes/No logit score. The α and β token sets in the self-consistency score are not defined §2.3, so the score cannot be implemented exactly from the text.
  • Fine-tuned judges. The survey notes that fine-tuned judges can inherit biases from their training data and generalise poorly beyond it §3.2. The paper gives no fine-tuning hyperparameters for any system it reviews.
  • Cost. Multi-round and multi-model voting multiplies calls per item (five rounds, three models per vote set) §4.4. Cost per item is not reported.
  • "Novel benchmark" claim. The introduction says the paper proposes a meta-evaluation benchmark §1. The experiment uses existing datasets, LLMEval² and EvalBiasBench §4.4, and the tool is not released.

Lineage

  • Builds on: none stated; the paper is a survey of prior work.
  • Compared against: the four strategies in §4.4 are compared with each other and with the six base models, not with other published judges.
  • Superseded by: not known from content in this wiki.

Source and license

Adapted from “A Survey on LLM-as-a-Judge” by Jiawei Gu, Xuhui Jiang, Zhichao Shi, Hexiang Tan, Xuehao Zhai, Chengjin Xu, Wei Li, Yinghan Shen, Shengjie Ma, Honghao Liu, Saizhuo Wang, Kun Zhang, Yuanzhuo Wang, Wen Gao, Lionel Ni, Jian Guo (arXiv:2411.15594), used under CC0 1.0. Changes: condensed and restructured for implementation, with tables, equations and algorithms taken from the paper and its code, each cited to its source. Not affiliated with or endorsed by the authors.