output head-to-head against a reference answer and returns a winner (or a tie). Use it to benchmark a new prompt or model against a known-good baseline that’s already in the dataset row.
The example below asks an LLM judge to pick the better candidate — but blinds the judge so it never sees which side is the model output and which is the reference. The presentation order is randomized per example using a seed derived from the inputs (so runs stay reproducible), and the judge’s positional choice is decoded back to the original labels after the call. This mitigates LLM position bias — the tendency of judges to systematically prefer whichever response they see first.
The judge never sees which side is the model output and which is the reference — only “Candidate 1” and “Candidate 2”. The seeded shuffle is deterministic per example, so the same inputs always produce the same presentation order.
Code
- Python
- TypeScript
flip decision is recorded in the explanation so you can audit the decoding from the trace.
Input mapping
Output configuration
Categorical. The function returns its own numeric score along with the label, so configure these label-to-score mappings to match what it produces:
Optimization direction: maximize — you want
output to win against the reference baseline.
Runtime requirements
Variants
Swap-and-confirm (position-bias-free)
The blinding above randomizes order per example, so position bias cancels out in expectation — but any single example can still be biased. To remove it per-example, call the judge twice (once in each order) and only return a winner when both calls agree:Other directions
- Multi-criterion judging — ask the judge to score on several axes (correctness, conciseness, format) and combine the per-axis verdicts. Return a structured
explanationso the trace shows the breakdown. - Embedding-based pairwise — replace the LLM call with cosine similarity between
outputandreferenceusing OpenAI embeddings or scikit-learn. Cheaper and deterministic, but it won’t catch semantic equivalence the way an LLM judge can on free-text answers.

