Evals: How Do You Know Your AI Product is Working?
Premium
AI evaluation questions are increasingly common in PM interviews at frontier AI labs and big tech companies. Interviewers want to see whether you can design a system that measures an AI product's usefulness, accuracy, safety, and reliability.
This lesson gives you a clear four-step approach you can use no matter what AI product you're asked to evaluate.
We'll unpack each step using the same prompt so you can see how a complete evaluation strategy comes together.
"You're the PM for a new AI-powered resume screener at a mid-size recruiting company. The tool automatically filters candidates before a human recruiter ever sees them. How would you design an eval system for it?"
Step 1: Define success & failure
Before naming any metric, ground yourself in what the AI is being asked to do and what failure looks like. Ask yourself: What is the cost of a wrong output?
For a healthcare summarization agent, a wrong output might mean a doctor misses a diagnosis. For an ad ranking model, it means revenue leakage. For a resume screener, it might mean a qualified candidate gets filtered out, with potential fairness implications. The failure mode shapes the entire eval strategy.
Step 2: Choose evaluation approaches
Choose one or two evaluation approaches that can catch the failure mode you identified in Step 1. Four common approaches are:
Automated metrics compare model outputs against a known correct answer without human or model judgment. You define the check based on what “correct” means for the product. For a coding assistant, this might be whether the generated code runs. For a support bot, it might be whether the response includes the correct policy number.
They are fast and inexpensive, but work best when the answer is clear and verifiable. They are less useful for open-ended tasks such as summarization or creative writing. Exact word matching, for example, would treat “Your order will arrive Thursday” and “Expect delivery by Thursday” as different even though they mean the same thing.
Task-specific signals such as latency, refusal rate, and retrieval precision also belong in this category.
Benchmarks are standardized tests used to compare model versions and catch regressions across releases. HumanEval, for example, measures coding ability across model versions.
Benchmarks are less useful for domain-specific tasks that don't map to a public test.
Human evaluation is slower and more expensive, but it provides strong signal for subjective qualities such as tone, helpfulness, safety edge cases, and factual nuance.
Use inter-annotator agreement (the degree to which different reviewers score the same output similarly) to check whether your guidelines are clear. Low agreement means the labeling instructions need work before the scores are reliable.
Companies such as Scale AI and Surge AI provide trained human reviewers for this kind of evaluation.
With LLM-as-a-judge, one model grades another model's output. For example, Claude or GPT-4 might score whether a support response was helpful, accurate, and on-brand instead of requiring a human to review every response. This approach is increasingly common at companies such as Snap and Sierra.
It is faster than human labeling and cheaper at scale, but it introduces its own biases and failure modes: the judge model may be systematically lenient, or favor responses that sound confident even when they're wrong.
It should always be paired with a human-labeled calibration set to validate that the judge is actually reliable.
Step 3: Design eval system
Move beyond a single metric and explain how the evaluation system will work across development, pre-production, and production. A complete system has three stages:
Before deployment, build a labeled dataset that reflects the inputs you expect in production.
Make it representative: Cover common inputs, important user segments, and known edge cases.
Favor quality over volume: A curated set of 500 examples with high agreement between reviewers is more useful than 50,000 noisy labels.
Set the pass threshold in advance: Decide what result is good enough before running the eval, not after seeing the score.
Before shipping a model change, run a fixed regression suite that checks known failure modes. These checks are usually part of standard pre-release testing.
Keep past failures in the suite: Once you find an important failure case, test it against every future version.
Treat the suite as a floor: Passing means the model has not regressed on known issues. It does not prove the model is good overall.
Block releases that fail: A strong aggregate score should not override a critical regression.
Once the model is live, monitor real production traffic for drift and new failure modes. Use a mix of signals:
User behavior: Thumbs up or down, correction rate, abandonment, and overrides.
Automated monitoring: Classifiers that scan sampled outputs for known quality or safety issues.
Human review: Regular review of random samples and flagged interactions.
You do not need to review every output. Sample enough to spot meaningful changes before they become incidents.
Step 4: Name tradeoffs
Every eval approach balances three things: speed, cost, and signal quality.
Approach
Speed
Cost
Signal quality
Automated checks
High
Low
High for objective tasks; low for open-ended outputs
Benchmarks
High
Low after setup
Good for regressions; weaker for product-specific behavior
Human evaluation
Low
High
High when reviewers and guidelines are well calibrated
LLM-as-a-judge
High
Medium
Medium; should be calibrated against human labels
Signal quality depends on fit. An automated check can be the strongest signal for a verifiable task and the weakest for a subjective one. To learn more about these tradeoffs, check out our deep dive lesson.
Name the tradeoff that matters most for the product, what you're willing to give up, and why that choice fits the failure mode from Step 1.