Forward-deployed / Learning zone
Evaluation & observabilitya Generative AI module
Lesson 02

Building the eval stack in the right order

TL;DR

The full eval and observability stack — golden sets, regression gates, calibrated LLM-as-judge grading, full production tracing, drift detection, trajectory evals for agents — is a lot to build at once, and trying to build all of it before shipping anything is its own kind of failure. There's a real order to this, and it starts smaller than most roadmaps assume: read real traces before building anything to grade them automatically, turn the recurring failures you find into a small golden set, gate changes on it, then add calibrated automated judging to scale past what a human can review by hand, and only then invest in full production observability as the system's traffic and stakes grow. Each stage earns the next one. Skipping ahead produces expensive tooling nobody trusts, because nobody did the reading that would have told them what to measure.

🎯 For the product leader

Why it matters — Most eval investments fail not because the techniques don't work, but because they were built in the wrong order — sophisticated scoring infrastructure for failure modes nobody had actually identified yet.

What it changes in your decisions — Where the team spends its first weeks of eval investment, and what "we have evals" is actually allowed to mean at each stage of a feature's maturity.

Ask yourself — "Has anyone on this team actually read fifty real traces end to end, or did we go straight to building a scoring pipeline?"

Risk if ignored — A team builds an impressive-looking eval dashboard that measures the wrong things, because nobody did the unglamorous work of reading real failures before deciding what to score.

The mental model: each stage earns the next

Build order

The eval stack, in the order it actually pays off

Each stage only works once the one before it exists. Skipping ahead = dashboard for a system nobody can measure.

01
Read real traces

Label failures in your own words — no forced taxonomy yet

Foundation ↓
02
Cluster into failure modes

Group free-form labels into a small named set of recurring bugs

↓
03
Build a golden set

From the modes that recur — the eval that measures what matters

↓
04
Gate changes on it

Regression suite — no prompt or model change ships without a score

↓
05
Calibrated LLM-as-judge

Grade at scale — after a human calibration pass, not before

↓
06
Full production observability

Traces, spans, drift — the whole system, not just the model

↓
07
Trajectory evals · agents only

Grade the whole path, not just the final answer

If agent
The discipline is the order. A golden set built without reading traces measures what someone guessed mattered. A judge built without a golden set has nothing to calibrate against. A dashboard built before either is decoration.

Each box only pays off once the one before it exists. A golden set built without first reading real traces measures whatever the team guessed mattered, not what actually fails. A calibrated judge built before a golden set has nothing representative to calibrate against. Full production observability, built before anyone has a working regression gate, produces a beautiful dashboard tracking a system nobody can yet tell is regressing or improving. The order is the discipline — not any single stage in isolation.

Where to actually start: reading, not scoring

The first real step is qualitative, not a metrics project: pull real traces — a random sample, plus anything a user flagged — and read them one by one, labeling what went wrong in plain language, in the team's own words, without forcing the labels into a taxonomy yet. Only once a pile of these free-form labels exists does clustering them into a handful of named, recurring failure modes make sense. This unglamorous reading is what tells a team what's actually worth building an automated evaluator for, and it's also the step most commonly skipped in the rush to have a dashboard to show. The full method — what the discipline calls open coding and axial coding — is developed in complete depth in Evals.

Growing from a golden set to a full production practice

Once a handful of recurring failure modes are named, they become a small, version- controlled golden set: real inputs, paired with what a good output looks like, that a team can run before every change ships and gate the release on. From there, the stack grows to match the system's stakes and scale, not before it: LLM-as-judge grading takes over from all-human review once volume outgrows what people can read by hand, calibrated against those same human judgments so it can be trusted; full tracing and drift detection earn their cost once the system is live and quality can decay in ways no single deploy caused; and if the system is agentic, trajectory evals — grading the path a run took, not just its final answer — become necessary once a single mistake early in a long run can compound into a failure that only shows up at the end. All of this is developed in complete engineering depth in Observability and Reliability & evals. The mature end state — where no change ships without a score, because the eval set has effectively become the spec — is the operating discipline developed in TPM for AI products.

Failure modes

Practitioner checklist