100% Free Forever
AI-Powered Learning
Industry Expert Content
Certificates & Badges
Learn At Your Own Pace
Agent Evaluation & Observability
30 minadvanced

Defining Success for a Non-Deterministic System

"The agent should be helpful and not annoying" is not a success definition -- it is a feeling wearing the clothes of one. It cannot tell a reviewer whether a given transcript passed, it cannot be handed to a second reviewer and produce the same verdict, and it cannot be compiled into an eval set because there is nothing in it to check. Turning a goal like that into something you can actually evaluate against is the first and most neglected step in building any agent evaluation system, and it has to happen before a single automated checker gets written.

This step matters more for agents than it did for traditional software because the system is non-deterministic: the same input can produce a different response on two separate runs, so you cannot fall back on "run it and see if it matches" the way a unit test does for a pure function. Without a precise definition of success, non-determinism looks like noise you can't reason about. With one, it becomes a distribution you can measure -- how often does the agent clear the bar, and how does that rate move release to release.

This lesson stays deliberately upstream of the checkers themselves. Deterministic assertions, fuzzy similarity scoring, and LLM-as-judge are all ways of *implementing* a check once you know what you're checking for -- later lessons cover each in depth. Here the question is narrower and comes first: given a vague product goal, how do you turn it into a precise, checkable, multi-dimensional definition of success that two people would apply the same way.

Analogy🏏Cricket
🏏 Think of it like cricket: picture the national selection committee debating who deserves the number four spot ahead of a home Test series. One selector says the criterion is simple -- "pick someone who looks solid." That sounds reasonable in a meeting room, but it decides nothing on paper: it can't distinguish Cheteshwar Pujara grinding out a 56-off-180-balls defensive innings on a turning pitch from a batter who looked fluent for twenty balls and then edged behind. "Looks solid" is a vibe, not a criterion -- two selectors watching the same footage could back different players and both believe they applied the same standard. Now compare a committee that instead writes down, before a ball is bowled: minimum 40 overs faced per innings on a turning track, strike rate above 45 against spin, dismissal rate under one every three innings against the short ball. That version is boring to say out loud, but any two selectors handed the scorecard reach the same shortlist independently. The transfer is direct: a product goal like "the agent should be helpful and not annoying" is "looks solid" -- it feels like a specification but resolves nothing when two reviewers watch the same transcript and disagree. Success has to be written down in enough detail that the criteria decide the verdict, not the reviewer's mood that afternoon.
Lesson 3 of 35
0% complete