Follow up to Part 1: How to Design AI Evaluations You Can Actually Trust
At Google, we are publishing a suite of Agent Skills for Google products and technologies on GitHub. My team is interested in measuring their performance to understand how they perform. Deterministic tests, like checking if generated code compiles, are ideal. Unfortunately they can't be easily created at scale for nuanced, generative responses, such as answers to open-ended questions or information retrieval tasks.
In my previous post we looked at what you test, which means the evaluations that are the actions you ask the agent to perform. The next step is to look at
To assess complex outputs at scale, especially when topics cover broad areas with nuanced parts, we use an "LLM-as-a-judge" approach. Responses are assessed against a structured rubric using a model based grader. The judge evaluates each response using a set of true/false questions. Aggregated, these answers provide an accuracy score for a response.
Giving an LLM a vague prompt or subjective questions leads to ambiguity in its response. This ambiguity introduces noisy data and causes inconsistent evaluations. Ultimately, it wastes your token budget on metrics that aren't useful.
To make these assessments more reliable, you must treat your rubrics like formal specifications. By constraining the judge to evaluate strict, objective boolean truths, you reduce the chance of hallucinations. Because evaluating strict boolean truths is a less complex task, you can even use smaller, faster models for grading.
Here are four lessons we learned to help you write robust rubric questions for your LLM-as-a-judge scorer.
Evaluating multiple requirements in a single question, such as "Does the response contain a metadata property and format the output as JSON?", forces the LLM judge to guess which clause is more important. This ambiguity leads to inconsistent grading and wasted tokens.
TRUE
/FALSE
questions. (e.g., The rubric-based approach exists because giving an LLM judge a full prose prompt to evaluate a complex response leads to inconsistent numbers. If you ask the judge subjective questions like "Was this a comprehensive answer?" or ask it to explain "Why did the agent do this?", you introduce ambiguity that creates noisy, unrepeatable data.
TRUE
/FALSE
classification on objective facts, you reduce the reasoning load and reduce the variance in ratings. When building rubrics, it is easy to accidentally evaluate an agent on requirements that were never stated in the prompt. Doing this creates false negatives and reduces the accuracy of your measurement.
Even if you follow these rules and write perfectly atomic, objective questions, your LLM judge might still misinterpret your scoring instructions and rubrics. To guarantee your pipeline generates consistent ratings and reliable signals, you must prove that the judge's scoring aligns with how a human subject matter expert would evaluate the exact same response through calibration.
Once you have this reliable data, the next step is making it visible. In AI Evals at a Glance: Heatmaps for Stakeholders Joe Spiro explains how to take these raw measurements and visualize evaluations.
When building our agent skills, we learned that ambiguous evaluation rubrics do not provide useful signals and feedback. Forcing your LLM judge to evaluate strict, boolean facts eliminates this noise. It makes your tests repeatable, optimizes your token spend, and lets you confidently measure whether your AI tool is actually improving.
Photo by William Warby on Unsplash