trendingzones

AI & ML — INTERMEDIATE

Evaluating LLM Outputs: Why “Looks Good” Isn’t a Metric

“Is this output good?” is a different, broader question than “which of these two models is better?” Comparing models is covered elsewhere on this site — this page is about the more fundamental question underneath it: how do you actually measure whether a single LLM output is good at all, and which of the three real approaches to that question — automated metrics, human evaluation, or LLM-as-judge — fits your task.

The Quick Answer

There are three broad ways to evaluate an LLM output. Automated metrics like BLEU and ROUGE compare generated text against a reference text using word-overlap statistics — fast and cheap, but only meaningful when a task has a fairly narrow range of acceptable answers. Human evaluation uses people scoring outputs against a defined rubric — slower and costlier, but the most trustworthy signal for open-ended, subjective quality. LLM-as-judgeuses another model to score outputs at a scale humans can’t match by hand — genuinely useful, but with real, documented biases covered in depth in the Advanced level. The right choice depends entirely on whether your task has an objective, checkable answer or a subjective, open-ended one.

Automated Metrics: BLEU and ROUGE

BLEU (Bilingual Evaluation Understudy) and ROUGE (Recall-Oriented Understudy for Gisting Evaluation) are both n-gram overlapmetrics — an n-gram is just a contiguous sequence of n words, so a 2-gram of “the cat sat” would be “the cat” and “cat sat.” Both metrics compare a model’s generated text against one or more human-written reference texts and count how many n-grams overlap between them. The difference is which direction they measure: BLEUis precision-oriented — what fraction of the candidate’s n-grams actually appear in the reference — which is why it was originally built for machine translation, a task with a fairly narrow band of acceptable phrasings. ROUGEis recall-oriented — what fraction of the reference’s n-grams got captured by the candidate — which is why it’s the standard choice for summarization, where missing key content matters more than exact wording.

The well-documented weakness in both: n-gram overlap measures textual similarity to one specific reference, not actual correctness or quality. A generated summary that captures the source article perfectly but phrases every sentence differently from the reference summary can score poorly on ROUGE, while a summary that copies reference phrasing verbatim but subtly misrepresents the source can score well. Neither metric understands synonyms, paraphrasing, or meaning — they count overlapping words. For open-ended or creative generation — where many genuinely different outputs can be equally good, and none of them needs to resemble a single reference closely — this makes BLEU and ROUGE weak, sometimes actively misleading signals of quality.

Sources: Papineni et al., “BLEU: a Method for Automatic Evaluation of Machine Translation” and Lin, “ROUGE: A Package for Automatic Evaluation of Summaries”.

Human Evaluation: Rubrics and Inter-Rater Agreement

When a task doesn’t have one narrow correct answer — judging tone, helpfulness, or creative quality — the standard fallback is human evaluation: people reading outputs and scoring them against a defined rubric, a written description of what separates a 1 from a 3 from a 5 on whatever scale you’re using. A vague rubric (“rate the quality from 1–5”) produces inconsistent scores because every rater is silently applying their own definition of “quality.” A specific rubric (“5 = fully answers the question, cites a source, and uses no jargon the user didn’t already use themselves”) gives raters a shared, checkable standard.

The way to check whether a rubric is actually doing its job is inter-rater agreement— how consistently different human raters, using the same rubric, score the same set of outputs. If two raters scoring the same 50 outputs land on wildly different scores, that’s a signal the rubric itself is ambiguous, not that the outputs are unusually hard to judge. Metrics like Cohen’s kappa (for two raters) or Fleiss’ kappa (for more than two) formalize this by measuring agreement beyond what raters would get by chance — a low kappa is a concrete, checkable reason to revise the rubric before trusting the scores it produces.

LLM-as-Judge, Briefly

Human evaluation doesn’t scale to thousands of outputs — which is where LLM-as-judgecomes in: using another model to score outputs against criteria you define in plain language, approximating human judgment at a scale manual review can’t reach. This page covers it only briefly, because Comparing Ollama Models: Advanced already walks through building an LLM-as-judge pairwise evaluator in the context of comparing two candidate models. The genuinely new material on this topic is what this page turns to next — and what that Advanced page doesn’t cover — the real, documented biases in LLM-as-judge itself: see The Real Biases in LLM-as-Judge Evaluation for position bias, self-preference bias, verbosity bias, and the mitigations that actually work against them.

Picking the Right Approach for a Task

The deciding question is almost always the same one: does this task have a reasonably objective, checkable answer, or is it open-ended and subjective? Try a few different tasks below and see which evaluation approach actually fits each one:

Fun Fact

BLEU was introduced in 2002 for machine translation — a task where a single sentence genuinely does have a fairly narrow band of acceptable translations. Decades later, it’s still commonly reported on open-ended generation tasks it was never designed to measure, largely because it’s fast, free, and requires no human raters — not because it was ever a great fit for judging creativity or open-ended quality.

Test Yourself

What does BLEU actually measure?

Why do BLEU and ROUGE tend to be poor measures of quality for open-ended, creative generation?

What is inter-rater agreement, and why does it matter for human evaluation?

Ready for the real, documented biases that show up when you use an LLM to judge another LLM’s output — and the mitigations that actually work against them? Continue to the Advanced level →