<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Jan-Felix Schmakeit</title>
    <description>The latest articles on DEV Community by Jan-Felix Schmakeit (@jfschmakeit).</description>
    <link>https://dev.to/jfschmakeit</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4103684%2F9715b632-9b2b-440a-8c99-cfd7a0cd7622.jpg</url>
      <title>DEV Community: Jan-Felix Schmakeit</title>
      <link>https://dev.to/jfschmakeit</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jfschmakeit"/>
    <language>en</language>
    <item>
      <title>How to Write Reliable Rubrics for LLM-as-a-Judge Evaluations</title>
      <dc:creator>Jan-Felix Schmakeit</dc:creator>
      <pubDate>Wed, 02 Sep 2026 16:35:00 +0000</pubDate>
      <link>https://dev.to/googleai/how-to-write-reliable-rubrics-for-llm-as-a-judge-evaluations-ndp</link>
      <guid>https://dev.to/googleai/how-to-write-reliable-rubrics-for-llm-as-a-judge-evaluations-ndp</guid>
      <description>&lt;p&gt;&lt;em&gt;Follow up to &lt;a href="https://dev.to/googleai/how-to-design-ai-evaluations-you-can-actually-trust-41c3"&gt;Part 1: How to Design AI Evaluations You Can Actually Trust&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;At Google, we are publishing a suite of &lt;a href="https://github.com/google/skills" rel="noopener noreferrer"&gt;Agent Skills for Google products and technologies on GitHub&lt;/a&gt;. 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.&lt;/p&gt;

&lt;p&gt;In &lt;a href="https://dev.to/googleai/how-to-design-ai-evaluations-you-can-actually-trust-41c3"&gt;my previous post we looked at &lt;em&gt;what&lt;/em&gt; you test&lt;/a&gt;, which means the evaluations that are the actions you ask the agent to perform. The next step is to look at &lt;em&gt;how you assert&lt;/em&gt; whether the agent succeeded. This means creating reliable and accurate assessments of the agent's response.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;Here are four lessons we learned to help you write robust rubric questions for your LLM-as-a-judge scorer.&lt;/p&gt;

&lt;h2&gt;
  
  
  Keep Questions Atomic and Distinct
&lt;/h2&gt;

&lt;p&gt;Evaluating multiple requirements in a single question, such as &lt;em&gt;"Does the response contain a metadata property and format the output as JSON?"&lt;/em&gt;, forces the LLM judge to guess which clause is more important. This ambiguity leads to inconsistent grading and wasted tokens.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Split compound questions:&lt;/strong&gt; Instead of writing one large check, divide your requirements into discrete, atomic &lt;code&gt;TRUE&lt;/code&gt;/&lt;code&gt;FALSE&lt;/code&gt; questions. (e.g., &lt;em&gt;Check 1: Does it contain a metadata property?&lt;/em&gt; AND &lt;em&gt;Check 2: Is the output JSON?&lt;/em&gt;)
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Avoid overlapping questions:&lt;/strong&gt; Never test the same underlying concept multiple times across your rubric. Overlap risks double-penalizing the evaluated model for a single mistake, which corrupts your accuracy score.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reduce the reasoning load:&lt;/strong&gt; Eliminate the need for the judge to weigh competing clauses. When every question assesses exactly one distinct fact, your grading becomes more consistent.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Constrain the Judge: Objective Facts Over Subjective Reasoning
&lt;/h2&gt;

&lt;p&gt;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 &lt;em&gt;"Was this a comprehensive answer?"&lt;/em&gt; or ask it to explain &lt;em&gt;"Why did the agent do this?"&lt;/em&gt;, you introduce ambiguity that creates noisy, unrepeatable data.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Focus on observable facts:&lt;/strong&gt; Do not ask the judge to evaluate concepts that require interpretation, such as intent, quality, or reasoning. Only assess concrete facts that you expect to find in the response.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Write formal specifications:&lt;/strong&gt; Use strict, objective language, such as &lt;a href="https://www.rfc-editor.org/info/rfc2119/" rel="noopener noreferrer"&gt;RFC 2119&lt;/a&gt; terminology (MUST, MUST NOT, REQUIRED), to test for observable outcomes. The judge should never have to guess what you mean.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Test for negative constraints:&lt;/strong&gt; Explicitly verify what the agent &lt;em&gt;should not&lt;/em&gt; do. Instead of asking if the agent "used best practices", check that it &lt;em&gt;did not&lt;/em&gt; suggest a specific deprecated feature.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Require strict true/false answers:&lt;/strong&gt; By forcing a strict &lt;code&gt;TRUE&lt;/code&gt;/&lt;code&gt;FALSE&lt;/code&gt; classification on objective facts, you reduce the reasoning load and reduce the variance in ratings.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Avoid opportunities for cheating:&lt;/strong&gt; Agents will tailor answers to game your tests if given the chance. Keep scoring rubrics isolated in a separate system. Design rubrics that focus on strict functional outcomes or specific topics, rather than broad keywords matches.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Grade Only What You Asked For
&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Align the rubric to the prompt:&lt;/strong&gt; Assess only what was explicitly requested. For example, do not penalize a model for failing to provide citations if the prompt never asked for them.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Grade the destination, not the journey:&lt;/strong&gt; Avoid writing rubrics that check if the agent used a specific tool or followed a rigid sequence of steps. Pre-trained models might bypass custom tools entirely if they already know the answer.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Evaluate the final response:&lt;/strong&gt; Grade the objective output. If you need to evaluate a step-by-step process, prompt the agent to output an execution plan and evaluate the plan itself.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Calibrate Your Judge
&lt;/h2&gt;

&lt;p&gt;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 &lt;em&gt;calibration&lt;/em&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Establish a human baseline:&lt;/strong&gt; Ask subject matter experts to manually grade a "golden set" of test responses.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Run the comparison:&lt;/strong&gt; Run your LLM-as-a-judge against this golden set and compare the automated scores against the human scores.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Identify the delta:&lt;/strong&gt; If the LLM judge disagrees with your human experts, it is usually a sign that your rubric or the grading instructions are too ambiguous.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Iterate until aligned:&lt;/strong&gt; Tweak and calibrate your rubric questions or the scoring instructions until the LLM judge consistently aligns with human experts. Only then is your judge ready.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;p&gt;Once you have this reliable data, the next step is making it visible. In &lt;a href="https://dev.to/googleai/ai-evals-at-a-glance-heatmaps-for-stakeholders-2mki"&gt;AI Evals at a Glance: Heatmaps for Stakeholders&lt;/a&gt; Joe Spiro explains how to take these raw measurements and visualize evaluations.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Photo by &lt;a href="https://unsplash.com/@wwarby" rel="noopener noreferrer"&gt;William Warby&lt;/a&gt; on &lt;a href="https://unsplash.com/photos/gray-and-yellow-measures-WahfNoqbYnM" rel="noopener noreferrer"&gt;Unsplash&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>evals</category>
      <category>testing</category>
    </item>
    <item>
      <title>How to Design AI Evaluations You Can Actually Trust</title>
      <dc:creator>Jan-Felix Schmakeit</dc:creator>
      <pubDate>Tue, 01 Sep 2026 16:35:00 +0000</pubDate>
      <link>https://dev.to/googleai/how-to-design-ai-evaluations-you-can-actually-trust-41c3</link>
      <guid>https://dev.to/googleai/how-to-design-ai-evaluations-you-can-actually-trust-41c3</guid>
      <description>&lt;p&gt;As part of my work at Google, we are publishing a suite of &lt;a href="https://github.com/google/skills" rel="noopener noreferrer"&gt;Agent Skills for Google products and technologies on GitHub&lt;/a&gt;. These &lt;a href="https://agentskills.io/home" rel="noopener noreferrer"&gt;agent skills&lt;/a&gt; are designed to help AI agents interact with our technologies. But how do you test that these skills are useful and work as expected? My team in Developer Relations has been focused on this question, because having reliable signals on their performance is critical to help us improve them over time.&lt;/p&gt;

&lt;p&gt;Just as you wouldn't deploy a production API without writing unit tests, you should apply the same standard to your AI agents. As Joe Spiro showed in the &lt;a href="https://dev.to/googleai/designing-ai-evals-clarity-now-and-visualization-next-4eii"&gt;&lt;em&gt;Designing AI Evals&lt;/em&gt;&lt;/a&gt; post series, scaling AI tools means moving beyond "vibe testing" in a terminal. Instead, you should set up a structured, automated evaluation pipeline to benchmark your integration. The evaluations (evals) are the &lt;em&gt;actions&lt;/em&gt; you asked the agent to perform, which are graded using scorers (for example rubrics) that &lt;em&gt;assert&lt;/em&gt; whether the agent succeeded. We'll focus on evaluations in this post and tackle tips for scoring rubrics in the next post.&lt;/p&gt;

&lt;p&gt;However, AI evaluations cost real tokens. You need to make sure that you use these tokens as efficiently as possible. They need to provide real value that helps you build better tools. Writing good evaluations is critical. Poor evaluations provide false signals, waste your token budget, and create noise in your metrics.&lt;/p&gt;

&lt;p&gt;Here are five rules we learned to design better evaluations you can trust. Follow them to ensure that every token you spend produces a useful metric.&lt;/p&gt;

&lt;h2&gt;
  
  
  Know Your Evaluation Environment
&lt;/h2&gt;

&lt;p&gt;Before writing evaluations, you need to understand the setup and limitations of your chosen framework. This includes systems like Harbor, Inspect AI, or integrations in development tools like in the &lt;a href="https://docs.cloud.google.com/gemini-enterprise-agent-platform/optimize/evaluation/agent-evaluation" rel="noopener noreferrer"&gt;Agent Development Kit&lt;/a&gt;. Does it use an ephemeral sandbox? What tools are available? How is the output captured&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Tailor your graders to the environment:&lt;/strong&gt; For example, if you can deterministically access the sandbox to evaluate code, that's an option. Alternatively, ask the agent to print its response to the console. Your framework can capture this output and pass it directly to your scorers. Adjust your grader to handle these environments.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Be aware of dependency limitations and access to "real" resources:&lt;/strong&gt; If an evaluation task requires access to "real" resources (for example an authenticated &lt;code&gt;gcloud&lt;/code&gt; session with access to a Google Cloud project), create ephemeral resources or credentials that isolate and limit access so they don't impact other evaluations. Alternatively, you could provide mock tools instead of real test credentials.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Evaluate plans instead of tasks that are difficult to isolate:&lt;/strong&gt; An easier approach might be to evaluate the &lt;em&gt;plan&lt;/em&gt; to accomplish the task, rather than the actual execution.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Avoid interactive prompts:&lt;/strong&gt; Multi-turn agent sessions are complex to evaluate. When getting started, design your evaluations using one-shot prompts.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Avoid the Ceiling Effect
&lt;/h2&gt;

&lt;p&gt;If your evaluations show a high baseline accuracy (i.e., without your agent tool), it might not prove its value, or the evaluation prompts are too easy.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Write harder prompts:&lt;/strong&gt; You cannot measure the impact of a new agent tool or skill if the baseline model already knows the answer.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Require multi-step reasoning:&lt;/strong&gt; Design prompts that reflect complex, real-world use cases where your tool can actually differentiate itself from the model's pre-training.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Revisit the scope of your tool:&lt;/strong&gt; If tests are repeatedly reporting a high accuracy without using your tool, it might be time to revisit it. The underlying model and agent may have improved and are able to accomplish the task without additional help. It might be time to refocus or deprecate your tool.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Prompt-Grader Mismatch
&lt;/h2&gt;

&lt;p&gt;You cannot grade an agent on something you did not explicitly ask it to do. Your evaluation prompts and graders should be complementary. This means that they should only test for things included in the prompt.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Avoid scope creep:&lt;/strong&gt; If you asked a broad question, you can expect a similarly broad response. For example, if your prompt is &lt;em&gt;"How do I secure Google Cloud Run?"&lt;/em&gt;, your grader cannot penalize the agent for missing a specific, unprompted IAM role.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Be explicit:&lt;/strong&gt; If you want to evaluate specific knowledge or exact implementation details, you must state those requirements clearly in the prompt.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Grade the Destination, Not the Journey
&lt;/h2&gt;

&lt;p&gt;Agents possess inherent model knowledge and might skip your custom tools entirely to arrive at the correct answer. (That on its own is some useful feedback!)&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Do not evaluate the trajectory:&lt;/strong&gt; Avoid writing graders that check if the agent used a specific &lt;code&gt;help&lt;/code&gt; command or followed a rigid sequence of steps.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Evaluate the final answer:&lt;/strong&gt; Grade the objective output. If you absolutely must evaluate the agent's planning phase, explicitly ask it to output a detailed execution plan and evaluate the plan instead.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Curate Your Evaluation Dataset
&lt;/h2&gt;

&lt;p&gt;A strong evaluation suite tests real, diverse use cases. But testing the same capability repeatedly causes overfitting and creates noisy metrics.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Use real-world examples:&lt;/strong&gt; Evaluations should include real user journeys and focus on goals users want to achieve. Consider including additional context, such as sanitized sample data, to ground the evaluations.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Maximize your signal:&lt;/strong&gt; Ensure every prompt in your evaluation suite tests a distinct concept or unique capability. Think of this like code coverage for traditional tests.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Remove overlap:&lt;/strong&gt; Consolidate redundant prompts. A smaller, more curated data set provides clearer metrics, prevents overfitting and saves tokens.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;p&gt;You cannot improve AI tools if you can't measure them accurately. If you treat AI evaluations with the same focus as traditional unit tests, you improve the quality of your metrics and get more robust signals.&lt;/p&gt;

&lt;p&gt;By applying these five rules, you eliminate false signals that waste your token budget. Instead of generating noise, your test suite gives you actionable feedback you can use to guide your engineering decisions and improve your tools.&lt;/p&gt;

&lt;p&gt;Figuring out what to test is only the first step. A well-designed evaluation is only useful if the scorer grading answers is reliable and returns meaningful results. In my next post, we will look at how to test. You will learn how to write lean, atomic rubrics that minimize ambiguity for an LLM grader and make every token count.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Photo by &lt;a href="https://unsplash.com/@wwarby" rel="noopener noreferrer"&gt;William Warby&lt;/a&gt; on &lt;a href="https://unsplash.com/photos/gray-and-yellow-measures-WahfNoqbYnM" rel="noopener noreferrer"&gt;Unsplash&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>evals</category>
    </item>
  </channel>
</rss>
