learn-model-evaluation-with-phoebe / Leader session 5 of 6
Learn Model Evaluation with Phoebe · Leader track · Session 5 of 6

The three project killers

Sessions a1-a4 gave you the metric literacy: what one number hides, what a threshold costs, what LLM quality scores mean, what speed and price budgets look like. Tonight is the pattern-recognition session. Across failed AI projects the same three killers show up again and again - no golden set before building, optimizing a proxy nobody wired to money, and static evals in a world that keeps moving. Each one has a governance fix you can mandate without writing a line of code. You leave with the fixes, the skew ladder that tells you WHO owns an offline-online gap, and a pre-mortem to run on your own flagship project this week.

🟠 Leader track Executives · PMs · report readers No code, decisions only 45 min
0-3 · Welcome 3-18 · The three killers 18-42 · The governance moves 42-45 · Q&A
Part 0

Why this session exists

AI projects rarely die of exotic causes. They die of the same three preventable ones, and all three are visible from the leadership seat long before they are visible in a dashboard. The good news: none of the fixes require you to touch a model. They are mandates - things you require to exist before you fund, ship, or renew. Tonight names the killers, prices the fixes, and gives you the diagnostic (Rule #37's skew ladder) for the day someone says "it worked offline."

Live - presented in session Self-study - read after class Official sources covered
★ What you walk out with today Three failure patterns you can spot in a status meeting, one governance mandate per killer, the three-gap skew ladder with a named owner per gap, and a one-page pre-mortem to run on your flagship AI project before the killers run it for you.
Part 1 · covers Anthropic "Demystifying evals for AI agents", Rules of ML #39, Ng's metric doctrines

Three bombs, three defuse moves 15 min live

Each killer detonates at a different phase: killer 1 is armed on day 0 and explodes at launch, killer 2 detonates a quarter after launch when finance reads the numbers, killer 3 goes off around month 6 when the world has moved and nobody noticed. The defuse moves are all cheap - if you make them early.

KILLER 1 · NO GOLDEN SET shipped on vibes, every change is a gamble KILLER 2 · GOODHART F1 up for a quarter, finance flat KILLER 3 · STATIC EVALS passed at launch, then the world drifted BUILD LAUNCH MONTH 6 GOLDEN SET AT DAY 0 20-50 real cases before any system is built PRICES ON THE SHEET every eval declares $ + one business KPI CONTINUOUS EVAL LOOP CI + sampled production scoring, pinned versions Each defuse move is cheap at day 0 and brutal at month 6 - the golden set is the highest-ROI hour.
🔍 Click to zoom - three bombs on the project timeline, and the defuse move for each
LiveKiller 1 · No golden set before building5 min▶

How it looks: the team ships on vibes. Someone tries the system on a few examples, it "seems good," it launches. From then on every prompt tweak, model swap, and vendor upgrade is a gamble - nobody can say whether the change helped or hurt, so regressions surface the worst possible way: as customer incidents.

The mandate: before the system is built, 20-50 real cases must exist - actual inputs your users will send, with what "good" looks like written down. This is Anthropic's eval-driven development: write evals for capabilities before building them, the way test-driven development writes the test first. And their grading advice is a relief for busy teams: "prioritize volume over quality" of graded items - many rough judgments beat three perfect ones.

The price: roughly one workshop hour with the people who know the real cases. That hour is the single highest-ROI hour in any AI project - it converts every future change from a gamble into a measurement.

Real world

The demo that never stabilized. A support-bot team demoed brilliantly and shipped without a golden set. Every improvement to one intent quietly broke another; each fix generated two new complaints. Three months in, they finally wrote 40 real tickets down as a golden set - and discovered their "improved" bot scored worse than the launch version. The set took an afternoon. The three months were the cost of not having it.

LiveKiller 2 · Optimizing a proxy unwired to money5 min▶

How it looks: the dashboard climbs and the business does not. F1 is up for a quarter, finance is flat. The judge score is up, and users are churning on latency the judge never sees. This is the a2 lesson at program scale - Goodhart's law: when a measure becomes a target, it stops measuring. You met the miniature in a2's live demo, where the F1-optimal threshold cost $704 more than the cost-optimal one, and the dollar-best threshold had the worst-looking F1 on the card.

The mandate: every eval sheet declares its prices (what a false positive costs, what a false negative costs) and names the one business KPI its metric is supposed to move. No prices, no funding. This is also Ng's doctrine made governance: ONE optimizing metric so iteration is fast, with the rest as satisficing floors - quality subject to latency and cost budgets, not quality in a vacuum.

The tell in a meeting: ask "if this metric goes up 10 points, what line item moves?" A confident answer means the wiring exists. A pause means you are funding a proxy.

LiveKiller 3 · Static evals in a drifting world5 min▶

How it looks: the system passed every eval at launch. Then the data drifted, the vendor silently upgraded the underlying model, and users found phrasings nobody tested. Six months later someone says "the AI stopped working" - and nobody can say when, because nothing was measuring in between. A launch-day eval is a photograph; the world is a movie.

The mandate: two eval families, run continuously. Capability evals track what you are trying to make the system do - they start low and climb. Regression evals guard what already works - Anthropic's rule is that regression suites hold at ~100%, and any dip blocks the change. Then wire evals into CI so nothing ships unmeasured, sample and score production traffic so drift shows up in weeks not quarters, and pin model versions so a vendor upgrade is a decision you make, not one that happens to you.

Real world

The silent vendor upgrade. A team's extraction pipeline degraded over a weekend. No deploy, no data change - the API provider had upgraded the default model version. Because the team ran a nightly regression eval, Monday's run flagged the dip, they pinned the previous version, and users never noticed. The identical event at a sister team without evals surfaced five weeks later as an executive escalation.

Two eval families, two different shapes across releases regression evals - guard what works capability evals - what you are building a dip that blocks the change 100% 0% holds at about 100% any dip blocks the change capability evals start low and climb time, release by release Regression suites guard what already works and hold at about 100%; any dip blocks the change. A nightly regression run turned a silent vendor upgrade into a Monday morning decision.
🔍 Click to zoom - one suite must stay flat at the top, the other is supposed to climb
Self-studyHow the killers chain together4 min read▶

The three killers are usually presented as separate risks, but in failed projects they arrive as a chain:

  • Killer 1 enables killer 2. Without a golden set, the only numbers a team can report are generic proxies - benchmark scores, judge averages, F1 on stale data. Proxies unwired to money are all that exists, so proxies get optimized.
  • Killer 2 masks killer 3. A proxy that keeps climbing looks like health. Drift hides comfortably underneath a rising dashboard - the number goes up while the product quietly gets worse for real users.
  • Killer 3 re-arms killer 1. Once "the AI stopped working," trust in measurement collapses, the team reverts to shipping on vibes, and the cycle restarts with less budget.

Which is why the mandates come as a set of three, not a menu. If your team wants the hands-on version: the practitioner track covers the golden-set and drift machinery in b9, and the Goodhart demo - with a button that visibly loses $704 - in b5.

Part 2 · covers Rules of ML #37, Anthropic capability vs regression evals

The skew ladder, and the budget line 24 min live

When someone tells you "it worked offline but production disagrees," you do not need to referee. Google's Rule #37 breaks the offline-online gap into three rungs, and each rung has a different owner. Ask which rung the gap sits on, and the meeting routes itself.

The skew ladder: four places a model gets scored, three gaps between them Each gap is a different diagnosis with a different owner - ask which one the numbers disagree on. Training data Holdout data Next-day data Live serving GAP 1 Overfitting memorized, not learned owner: the DS team GAP 2 Drift the world moved on owner: the data owner GAP 3 Engineering bug same data, other answers owner: the platform team Ask for the three comparisons by name. The rung where the numbers diverge most is the diagnosis. Two of the three gaps are not the DS team's to fix - routing them all there is the classic error.
🔍 Click to zoom - "it worked offline" is three different problems with three different owners
The gapWhat it meansWho owns it
Training data vs holdoutOverfitting - the model memorized instead of learningThe DS team
Holdout vs next-day dataDrift - the world moved since the training snapshotThe data owner
Next-day data vs live servingAn engineering bug - same data, different answers, so the pipeline differsThe platform team

Next time someone says "it worked offline," ask for the three comparisons by name: training vs holdout, holdout vs next-day, next-day vs live. Do not accept a single blended "offline score."

Find the rung where the numbers diverge most. That rung IS the diagnosis - you do not need to understand the model to read a gap.

Route the fix to that rung's owner: DS for overfitting, the data owner for drift, the platform team for the serving gap. Resist the reflex to send everything to the DS team.

If nobody can produce the three numbers at all, you have learned something bigger: there is no continuous eval loop, and killer 3 is armed. Schedule that conversation first.

LiveReading the ladder in a status meeting8 min▶

The ladder turns a vague dispute into three checkable questions:

  • "Does it score much better on training data than on held-out data?" If yes: overfitting. The DS team tightens the model. Classic, well-understood, theirs to fix.
  • "Does yesterday's holdout score hold on today's fresh data?" If no: drift. Nobody coded a bug - the customers changed. The data owner refreshes the training window and the golden set.
  • "Does the same example get the same score offline and in live serving?" If no: this is the sneaky one. Rule #37 calls the next-day-vs-live gap an engineering bug - a feature computed differently in the serving path, a stale cache, a version mismatch. No amount of modeling fixes it, because it is not a modeling problem.

Three gaps, three owners. The leadership failure mode is sending all three to the DS team - two of the three are not theirs.

Real world

The three-week blame loop. A recommendation model "collapsed in production" and the DS team spent three weeks retraining, with no improvement. When someone finally ran the ladder, train-vs-holdout and holdout-vs-next-day were both clean - the gap was next-day-vs-live. A feature was computed from a table that updated hourly offline and daily in serving. One engineering fix, same afternoon. The ladder question at week zero would have saved three weeks of the wrong team fixing the wrong problem.

LiveThe budget line every AI initiative needs6 min▶

All three defuse moves - the golden set, the priced eval sheet, the continuous loop - share one budget implication: eval infrastructure is not optional scope. It is the product's immune system. A body without one does not feel sick; it just dies of the first infection.

Practically, that means the project plan you approve should show eval work as a first-class line: hours for the golden-set workshop before build, the CI eval gate before launch, and sampled production scoring after. When a team offers to "add evals later to hit the date," they are proposing to ship without an immune system - and later, famously, never comes.

The one-sentence mandate "No golden set, no build. No prices, no launch. No production eval, no renewal." Three gates, one sentence, and every one of tonight's killers is covered.
Self-studyFive phrases that mean a killer is armed3 min read▶

Status meetings leak the killers in ordinary sentences. Five to catch:

  • "We'll add evals after launch to hit the date." Killer 1, stated as a plan. The golden set costs an hour; the date argument never survives that fact.
  • "The demo went great." Offered as evidence, this is killer 1 in dress clothes - a demo is a handful of curated cases, not a golden set.
  • "F1 improved again this sprint." With no dollars or business KPI attached, that is killer 2's soundtrack. Ask what line item moves.
  • "We just use whatever model version the vendor serves." Killer 3, pre-armed - the vendor's next silent upgrade becomes your unmeasured incident.
  • "It worked offline." Not a killer by itself - it is your cue to run the skew ladder and route the gap to its owner.
Part 3 · self-study

The pre-mortem - this week ◐ 30 min

Self-studyWhich killer is closest to your flagship project?30 min, one page▶

Pick the AI project you care most about and write one page - three questions, honest answers:

  • Does a golden set exist? Not "we test it" - a named artifact with 20-50 real cases and expected outcomes, that anyone can run. If no: killer 1 is armed. The fix is one workshop hour.
  • Who owns the prices? Can anyone state what a false positive and a false negative cost, and which business KPI the eval metric is wired to? A name, not a shrug. If no: killer 2 is armed, and every reported improvement is unverifiable.
  • When did an eval last run against production? A date, from monitoring - not a launch memo. If the answer is "at launch," killer 3 is armed and counting.

Then rank the three by proximity and bring the page to a6 - the governance playbook session turns your pre-mortem into a standing scorecard and a review cadence.

Do it before the next steering meeting A pre-mortem written the week before a funding or renewal decision changes the decision. Written the week after, it becomes a post-mortem - same page, very different meeting.
Source material

Official sources covered

The leader track distills the canonical sources into decisions - the practitioner track (b1-b10) carries the hands-on math and the live evaluator. This page covers:

✓Anthropic - "Demystifying evals for AI agents" + define-success docsEval-driven development, volume over quality, capability vs regression suites at ~100%
✓Google Rules of Machine Learning - Rule #37 (training/serving skew ladder) + Rule #39 (launch metrics as proxies)Part 2's ladder · the proxy chain closes in a6
◐Ng, Structuring ML Projects - single optimizing metric + satisficing floorsThe killer 2 fix · taught fully in a4
◐evalml canon - the $704 Goodhart gap from a2's live demoQuoted as the program-scale warning · the demo itself lives in a2
Check yourself

Three questions before you go 🎯 ◐ 90 seconds

1 · What did this session call the single highest-ROI hour in any AI project?

Eval-driven development: write evals for capabilities before building them, and "prioritize volume over quality" of graded items. That hour converts every future change from a gamble into a measurement - nothing else in the project has that exchange rate.

2 · F1 has climbed all quarter; finance sees nothing. Most likely diagnosis?

The a2 demo at program scale: the F1-optimal threshold cost $704 more than the cost-optimal one. When a measure becomes a target it stops measuring - the fix is prices on the eval sheet and one named business KPI, not more optimization.

3 · The model scores the same on next-day data, but live serving disagrees. Whose problem is it?

Three gaps, three owners: train-vs-holdout = overfitting (DS team), holdout-vs-next-day = drift (data owner), next-day-vs-live = engineering bug (platform team). Same data scoring differently means the pipeline differs - no amount of modeling fixes it.

Leader session 5 cheat sheet · pin this

Killer 1 · no golden setShipping on vibes; regressions surface as customer incidents. Fix: 20-50 real cases exist BEFORE the build. One workshop hour.
Killer 2 · unwired proxyGoodhart: F1 up, finance flat. Fix: every eval sheet declares its prices + one business KPI. The a2 gap: $704.
Killer 3 · static evalsPassed at launch, then drift + silent vendor upgrades. Fix: eval in CI, sampled production scoring, pinned model versions.
Eval-driven developmentAnthropic: write evals for capabilities before building them; "prioritize volume over quality" of graded items.
Capability vs regressionCapability evals start low and climb; regression suites hold ~100% and any dip blocks the change.
The skew ladder (Rule #37)train-vs-holdout = overfitting (DS) · holdout-vs-next-day = drift (data owner) · next-day-vs-live = engineering bug (platform).
The budget lineEval infrastructure is not optional scope - it is the product's immune system. "Add evals later" means ship without one.
The pre-mortemOne page: does a golden set exist · who owns the prices · when did an eval last run against production? Bring it to a6.