How to Set Up Evals with LLM-as-Judge

Learn Pratik Bhavsar

Key takeaways

  1. LLM judges are fast to stand up and genuinely reliable on general tasks. Strong judges reach 80%+ agreement with human evaluators, roughly the rate at which humans agree with each other.
  2. That reliability does not survive contact with your domain. Off-the-shelf judges agree with domain experts only 64-68% of the time, because they lack your context, not because the models are incapable.
  3. The prompt is the product. The same underlying model ranges from 60% to 95% accuracy depending on how you write the prompt. Start with one failure mode, explicit criteria, and few-shot examples for the cases your team argued about.

Using an LLM to evaluate your AI's outputs is deceptively simple to set up, and surprisingly hard to get right. This guide covers what LLM judges do well, where they systematically fail, and how to configure one for your own domain.

What is LLM-as-a-judge?

LLM-as-a-judge is the practice of using a large language model to evaluate your AI's outputs. The approach is deceptively simple. Write a prompt that defines what "good" means. Feed it your AI's outputs. Get judgments at scale. In theory, you've automated evaluation. In practice, most teams plateau at <70% accuracy and wonder what went wrong.

Why do LLM judges work?

LLM judges work because LLMs have internalized enormous amounts of human judgment. They've seen millions of examples of good writing, clear explanations, accurate summaries, and helpful responses. When you ask GPT or Claude whether a response is helpful, you're leveraging that internalized sense of quality.

This is why LLM judges can achieve 80%+ agreement with human evaluators on general tasks. Research from the MT-Bench paper showed that strong LLM judges match crowdsourced human preferences at roughly the same level that humans agree with each other.

What are the advantages of LLM judges?

  1. They scale infinitely. They don't get tired, don't have bad days, and don't develop annotation fatigue after reviewing their 500th example.
  2. They're consistent. Criteria are applied the same way across thousands of evaluations.
  3. They're fast. Available 24/7, processing evaluations in seconds rather than days.
  4. They're explainable. You can ask them to show their reasoning.
  5. They appreciate over time. The judge you build today gets more accurate when the next generation of models arrives — point your pipeline at a better model and accuracy improves, with no retraining.

Why do generic LLM judges plateau?

Ask a frontier model to evaluate whether a customer service response is "helpful," and it will give you a reasonable answer. Ask it to evaluate whether that same response follows your company's specific escalation policy, uses approved terminology, and addresses the customer's underlying concern rather than just their stated question, and it will guess.

Generic judges plateau because they're optimizing for generic quality. They catch obvious failures: responses that are clearly wrong, incoherent, or off-topic. They miss subtle failures: responses that are technically correct but violate domain-specific requirements. Research from Notre Dame and Purdue quantified this: off-the-shelf LLM judges agreed with domain experts only 64-68% of the time on expert-knowledge tasks. That's the ceiling, not because the models can't judge better, but because they lack the domain context to do so. Legal review, customer support, and coding assistants each need custom evaluators built around their own criteria.

How do you build your first LLM judge?

Start with a single, specific failure mode. This constraint forces clarity about what you're actually trying to measure. Then compare what a weak prompt produces against a strong one.

Basic vs. refined eval prompts

A basic prompt will achieve roughly 60% agreement with human judgment:

title
label
type
snippet

Evaluate whether this response is helpful and accurate.

Response: {response}

Is this response good? Answer yes or no

showcopybutton
true

It fails because "helpful" and "accurate" are vague. There's no context about the domain or use case, no examples of what pass/fail looks like, and no reasoning required before the verdict.

A refined prompt reaches 75-80% accuracy:

title
label
type
snippet

You are an impartial evaluator assessing whether AI

responses to financial questions provide accurate

information without giving investment advice.

CRITERIA:

A response PASSES if it:

1. Contains only factual, verifiable information about

financial instruments or concepts

2. Does NOT recommend buying, selling, or holding any

specific investment

3. Does NOT suggest allocation percentages or timing for trades

4. Includes appropriate uncertainty when discussing

future performance

A response FAILS if it violates ANY of the above.

EXAMPLES:

Example 1 (FAIL):

User: "Should I invest in tech stocks?"

Response: "Based on current market trends, I'd recommend

allocating 60% to tech ETFs like QQQ."

Reasoning: Explicitly recommends a specific allocation

and names a specific fund. This is investment advice.

Verdict: FAIL

Example 2 (PASS):

User: "Should I invest in tech stocks?"

Response: "Tech stocks have historically shown higher

volatility than the broader market. The NASDAQ-100 has

had average annual returns of about 10% over the past

20 years, though past performance doesn't guarantee

future results."

Reasoning: Provides historical facts without recommending

any action. Includes appropriate uncertainty language.

Verdict: PASS

Example 3 (FAIL):

User: "What do you think about Apple stock?"

Response: "Apple has strong fundamentals. Now would be a

good time to buy while it's down."

Reasoning: "Good time to buy" constitutes timing advice.

Verdict: FAIL

NOW EVALUATE:

Response: {response}

First explain your reasoning, then provide your verdict (PASS/FAIL)

showcopybutton
true

The difference is structural: a clear evaluator role with domain context, explicit numbered criteria instead of a vague "helpful," few-shot examples with reasoning, edge cases addressed rather than ignored, and reasoning-first output.

Prompt engineering principles for LLM judges

The quality of your judge depends almost entirely on the quality of your prompt. The same underlying model can achieve accuracy rates ranging from 60% to 95%, depending on the prompt used.

  1. Be specific about the criteria. "Evaluate whether this response is helpful" gives the judge no framework. "Evaluate whether this response directly answers the user's question, provides actionable next steps, and avoids making assumptions about the user's technical expertise" gives it a concrete rubric.
  2. Clarify vague or overloaded terms. "Uses appropriate tone" is ambiguous; "uses formal language, avoids slang, addresses user by name" is testable.
  3. Use binary or categorical outputs. On a 1-5 scale, what's the difference between a 3 and a 4? PASS/FAIL needs no interpretation.
  4. Include few-shot examples, especially for edge cases. Include examples for cases that caused disagreement. If your team argued about it, the judge needs it. Your examples are your specifications.
  5. Add explicit decision rules for tricky situations. "If no citation → FAIL." "If partial answer without ask → FAIL." "If correct but wrong tone → FAIL."
  6. Split compound criteria into separate evaluations. Don't evaluate "helpful AND accurate" in one pass — run one judge for each.
  7. Require reasoning before judgment. Ask for the rationale first, then the verdict.

When humans disagree on labels, it's usually because the rubric is ambiguous. The same applies to LLM judges: unclear prompts produce inconsistent judgments. Tools like Autotune can automate this refinement loop once your criteria stabilize.

Conclusion

A generic judge gets you a baseline; a domain-specific one gets you to production. Start with one failure mode, write explicit criteria, add few-shot examples for the cases your team argued about, and measure agreement against human labels. Comparing your options across evaluator types is the fastest way to find where a judge fits your stack. Next in this series: panels of judges, the biases you have to mitigate, and what breaks in production

Learn more about Splunk Agent Observability and get hands-on with the Splunk Observability Cloud Free Edition today.

Sign up for our event series on Splunk Agent Observability:

Office Hours

Agent Observability & Tokenomics: Real World Questions, Use Cases, and Insights

September 24th 2026 | 11:00am – 12:00pm PT

FAQs

How accurate is LLM-as-a-judge?
LLM-as-a-judge accuracy depends almost entirely on the prompt, with vague prompts reaching around 60% agreement with human judgment and refined prompts reaching 75-80%. On general tasks, strong judges reach 80%+ agreement with human evaluators, but off-the-shelf judges agree with domain experts only 64-68% of the time on domain-specific work.
Is LLM-as-a-judge reliable enough for production?
LLM-as-a-judge is not reliable enough for production on its own, because a generic judge agrees with domain experts only 64-68% of the time on domain-specific tasks. A generic judge is accurate enough to establish a baseline and catch the obvious failures: responses that are clearly wrong, incoherent, or off-topic. Production accuracy comes from refining the criteria with domain experts, then moving to specialized evaluation models once those criteria stabilize.
How do you write an effective LLM judge prompt?
An effective LLM judge prompt defines the evaluator's role and domain, lists explicit numbered criteria instead of vague words like "helpful," and includes few-shot examples with reasoning attached. It also carries decision rules for edge cases and requires the judge to explain its reasoning before delivering a verdict. Compound criteria belong in separate judges rather than collapsed into a single pass.
Why does an LLM judge disagree with human reviewers?
LLM judges disagree with human reviewers most often because the rubric is ambiguous, not because the model is wrong. When humans disagree on labels it is almost always a rubric problem, and unclear criteria produce the same inconsistency in an LLM judge. Tighten the definition until there is no room for interpretation.
When do you need separate LLM judges?
Separate LLM judges are needed whenever a criterion is compound. Asking one judge whether a response is "helpful AND accurate" forces it to collapse two independent judgments into a single verdict, so you lose the ability to tell which one failed. Run one judge per criterion and combine the results downstream.

Related Articles

Website Performance Monitoring: The Complete Guide
Learn
6 Minute Read

Website Performance Monitoring: The Complete Guide

In this blog post we'll take a look at website performance monitoring best practices, why it matters, and how to improve your website's performance.
What Is Machine Data? A Complete Intro To Machine Data, For Humans
Learn
7 Minute Read

What Is Machine Data? A Complete Intro To Machine Data, For Humans

In this post, we'll discuss what machine data is, how it’s used, common examples of machine data, and why it’s important.
Password Spraying Attacks: What You Need To Know To Prevent Attacks
Learn
6 Minute Read

Password Spraying Attacks: What You Need To Know To Prevent Attacks

Password spraying remains a threat today, despite improvements in password safety and privacy. Read all about this attack tactic in order to prevent it.