CaseAdvancedEval-Driven Specification / Writing an eval spec / #20

How do you write an eval for a feature where there is no single right answer?

The direct answer
Don't grade a generated answer against one saved "good" example. Write the eval as a short checklist of things any strong answer has to do, and mark it right the moment it clears that checklist, even if it doesn't read anything like your example. One saved answer can only ever agree with itself.
Do this, in order
  1. Grade every open ended output against a written checklist, never against one saved example.Why: this is the actual switch the whole flip turns on. Skip it and a genuinely good answer keeps failing for the wrong reason.
  2. Write the checklist before you write a single example output.Why: an example written first quietly becomes the hidden standard everyone scores against anyway.
  3. Hand check a real sample of flagged failures before you trust a big score drop.Why: reading the raw text is what actually catches a broken eval, not another look at the number.
  4. Track how many flagged failures turn out fine on a hand check.Why: that ratio tells you the eval itself has drifted, before it keeps blocking real releases for nothing.
  5. Keep exact match, single answer scoring for the parts of the product that really do have one right answer.Why: judgment, not blanket rework. Some features never needed a checklist at all.

How to answer this, stage by stage

Seven moves. Most of the weight sits in stage five, the paragraph where a good release almost gets blocked by the wrong kind of test. Every stage has the actual words to say.

1
Ground it in one product, one person
Say it like this
"Let me make this concrete. Say a fiction writing app called Penumbra has a feature that writes a scene starter prompt on demand, for a writer who's stuck. Carys Pentreath owns the nightly eval that decides whether a new version of that feature is good enough to ship."
Why this works
Nobody can judge an eval for open ended text without a real feature and a real person deciding pass or fail.
2
Say your structure in one breath
Say it like this
"Five things, fast. Who runs the eval. What she stopped doing because the eval had always been right. The switch with no middle setting. The call I'd take back. And the same Thursday, replayed with a checklist instead of one saved example."
Why this works
A named route up front tells the interviewer you have a plan, not a story you're inventing live.
3
Reframe what the question is actually testing
Say it like this
"This isn't really asking me to describe a metric. It's asking what happens the day a good, different answer gets treated the same as a wrong one, because the eval only ever learned to recognize one shape of right."
Why this works
That's the gap between a real eval spec and "just write some test cases," which is the assumption most people bring into this question.
4
Give the one decision
Say it like this
"Concretely: for a feature with more than one good answer, I'd write the eval as a checklist. Things like 'names a concrete want,' 'includes a real obstacle,' 'matches the requested genre.' A prompt passes the moment it clears every item, whether or not it looks anything like my saved example."
Why this works
There's a real mechanism in that sentence, a checklist with named items, not just "make the eval smarter."
5
Prove it with the compressed failure
Say it like this
"Say the eval was built a year earlier for a smaller feature, chapter titles, which really do have one tight shape, so it scored new output by how close it was to one saved example. When Penumbra shipped fully open scene starter prompts, that same eval's pass rate fell from 91% to 58% overnight. Carys was one line into an email blocking the release when she opened fifty of the failed prompts by hand instead, and found forty six of them were genuinely good, just phrased differently than her one saved answer."
Why this works
Four sentences, and it still lands on the exact night a good release almost got killed by the wrong kind of test.
6
Say what you'd measure, and what you'd leave alone
Say it like this
"I'd track how many flagged failures turn out fine on a hand check, that ratio catches a broken eval early, before a customer or a blocked release does. And I'd leave the exact match eval alone for something like Penumbra's scene break formatting, that really does have one correct output, so a checklist would just be slower for no reason."
Why this works
Shows this isn't "rip out every reference answer everywhere," it's judgment about which features actually have more than one right shape.
7
Close on the one line
Say it like this
"So here's the whole thing in one breath. If a feature can be right in more than one way, don't grade it against one saved way. Write a checklist any good answer has to clear, and let several different good answers all pass it."
Why this works
Ends on the exact sentence an interviewer can repeat back to their own team.
If you remember one thing A checklist that any good answer can clear catches real mistakes. One saved example only catches answers that happen to sound like itself.

Let's learn

Here's what happens when a test built for one right answer meets a feature that has fifty of them.

Penumbra is a fiction writing app. One of its features writes a scene starter prompt on demand: a few sentences to get a stuck writer going again, a character, a want, a problem in their way.

Knowledge spark: what's an eval? A test the team runs on a feature before it ships, on a big batch of made up cases, to check the new version is actually better than the old one, not worse.

A year before scene starters existed, Penumbra shipped a smaller feature: chapter titles, generated on request. Titles are short, and there's really only a narrow band of good shapes for five words. So the eval the team built for it was simple: save one strong title per test case, and score a new title by how close its wording sat to that one. Nightly, in under a minute, without anyone opening a single one of the 300 test titles by hand, it decided if a release was safe. For a year, it worked. It caught every real regression that shipped, and its pass rate held around 91%.

Then scene starters launched. They're forty to eighty words, wide open, dozens of different angles are equally good for the same character. The same eval ran on them anyway, because it already existed and rewriting it wasn't on anyone's list. As scene starter prompts took over more and more of the nightly test batch, week by week, the pass rate quietly drifted down.

Pass rate under the old eval, chapter titles versus scene starters at full launch
0% 25% 50% 75% 100% 91% Chapter titles 58% Scene starters, full launch
Same eval, same scoring method. The pass rate didn't drop because the model got worse. It dropped because the feature got wider than the test.

Here is the turn. Those extra failed cases were not the real problem. The real problem was what Carys almost did next.

Pass rate, the six weeks scene starters phased into the nightly batch
60% 67% 83% 100% wk 1, 10% wk 2, 25% wk 3, 40% wk 4, 60% wk 5, 85% wk 6, Thursday
Each week's drop was small enough to shrug off. By the week scene starters became the whole batch, the eval's pass rate had fallen 31 points, and nobody had looked at a single flagged prompt in months.

Carys Pentreath runs that nightly eval. She'd been at Penumbra two years, and six years copyediting genre fiction before that. She can tell a lazy prompt from a strong one in one read. For two years, when the score dropped, she trusted it completely and pulled the release, because on chapter titles the score had never once lied to her.

So when the pass rate hit 58% on a Thursday night, her first move was the one that had always been right before: she started drafting an email to block Friday's push.

We didn't almost ship a broken feature. We almost blocked a good one.

At its worst, this costs the exact thing the eval was built to protect. A release gets pulled for nothing, once, twice, and eventually the team stops trusting the eval at all, on the one feature where the eval is the only thing checking the model's work.

The decision that mattered Write the eval as a checklist any good prompt has to clear, not a match against one saved example. Not a bigger reference set. Not a looser similarity cut off.

What I would leave alone. Penumbra's scene break formatting, converting a manuscript's break marks into the app's internal markup, has exactly one correct output for every input. The old exact match eval is still completely right there. A checklist would only slow it down for nothing.

The lesson. An eval that only knows one right shape doesn't get more careful as a feature gets more open. It gets wrong in a way that looks exactly like the feature getting worse, and nobody notices until someone reads the actual output by hand.

Now here is the same thing as a story

Pull this one out when there's room to sit with it, not just tick it off a list.

Carys Pentreath spent six years copyediting genre fiction for a small press before Penumbra hired her, and she can still tell a cliche opening line from a real one before she's finished reading it. Two years ago she built the nightly eval for the app's chapter title feature: pick one strong title per test manuscript, score every new title by how close its wording sits to that one saved answer, fail anything too far off.

For the first few months she read every single flagged failure herself, all of them, line by line, before she trusted the number attached to it.

By month four she was sampling ten or so a night, and they always matched what the score said. By month eight she'd stopped opening them at all. She'd glance at the pass rate over coffee, and if it held above 90%, she shipped. It had never once been wrong.

Scene starters shipped in March, a much bigger feature: forty to eighty word prompts, a character, a want, a problem in their way, dozens of good ways to write any one of them. Nobody built a new eval for it. Carys's reference eval just ran on the new test cases too, because it was already there and Friday releases don't wait for a rewrite nobody had asked for.

For six weeks the scene starter share of the nightly batch crept up quietly, a tenth, then a quarter, then most of it, as older chapter title test cases got retired. The pass rate drifted down a little each week. Nothing alarming. Nothing anyone flagged.

Then on a Thursday in late April, scene starters became the entire nightly batch for the first time. The pass rate fell to 58%.

Carys did what two years of a trustworthy score had taught her to do. She opened a new message to the release channel: "Blocking tomorrow's push. Regression in prompt quality. Will investigate Monday."

She had the cursor on send when she stopped, for no better reason than the number felt too big to be true. So instead of clicking it, she opened fifty of the failed prompts and actually read them, the way she used to.

Forty six of them were good. Genuinely good. A prompt about a lighthouse keeper who'd stopped trusting the fog, failed, because it didn't share a single sentence with the one saved "ideal" prompt about a lighthouse keeper the eval had on file. A different one, about a locksmith who could open anything except her own front door, failed the exact same way.

The prompts weren't wrong. They just weren't the one answer the test had memorized.

Four of the fifty really were bad, a want with no obstacle in it, one that barely made sense at all. Those four were real. The other forty six were the eval punishing a writer's idea for the crime of being a different good idea.

Here's the call I'd take back. A year earlier, when two engineers built the eval for chapter titles, they picked one strong title per test case and scored new titles against it. Nobody in that meeting was wrong. Titles are five words long, there genuinely isn't much room to be good in a different direction, and the eval caught real regressions for a year straight. Nobody ever came back to ask whether that same idea would survive a feature with fifty good shapes instead of two.

Left, a dial with many fine marks around its face, needle pointing among them, labelled how close the wording is to one saved example. Right, a rounded switch with two positions, labelled clears the checklist and doesn't, sitting on the same desk surface.
People, and evals, are switches, not dials

I'd take that back and replace it with a written checklist: does the prompt name a real want, does it put a real obstacle in the way, does it match the genre the writer asked for, is it under the length cap. Any prompt that clears all four passes, whether or not it sounds anything like Carys's saved example.

Run the same Thursday again, checklist in place instead of one saved answer. The same 300 prompts get scored again. This time 267 pass, 89%. Carys spot checks a fresh sample of the 33 flagged fails, and this time nearly all of them, roughly thirty, are real: a want with no obstacle, the wrong genre, something over the length cap. By nine that evening, before the on call meeting even starts, she sends a different message: "Cleared for Friday." The release ships on schedule.

And there's a second thing the checklist gave back that the score never showed on any dashboard. For six weeks before that Thursday, the team writing Penumbra's few shot examples, the sample prompts fed to the model to steer its style, had quietly been nudging them closer to the one saved answer per category, because that's what kept the score up. Under the checklist, they stopped. The tool's actual range in later reader testing widened back out. Testers stopped seeing the same three cliche openings over and over.

We weren't just almost blocking a good release. We'd spent six weeks quietly training the model to sound like one person.

If I'm honest, building the eval the fast way a year earlier wasn't the mistake. Anyone would have. The mistake was never asking, the day scene starters shipped, whether "one saved answer" was still the right idea for a feature this open.

The switch inside the eval, spelled out

The letters matter less than which one breaks first. Here's the same five steps, mapped onto Carys's Thursday.

Five stacked rows, F L I P S, each a hand lettered capital in a circle, a step name, a short question. The I row is outlined in red-orange.
FLIPS, five rows
FFind the person
Who actually owns the call on a flagged failure?
Not "the eval" in the abstract. Whoever reads real generated text and decides if a batch is good enough to ship.
In this answer: Carys Pentreath, prompt quality lead at Penumbra, who built and has run the nightly eval for two years and can tell a lazy prompt from a strong one in one read.
LLocate the habit
What did she stop doing once the score kept being right?
Look for the check that quietly went from routine to skipped, not her overall care. A score that's always right earns the trust that later breaks something.
In this answer: She read every flagged failure by hand for months, then sampled a few, then stopped opening them at all, because the score had never once lied to her on chapter titles.
IIdentify the flip
What two setting switch snaps, with no middle?
"She got less careful about checking" describes a feeling, not an action. Name the exact two states with nothing between them.
In this answer: Grades a new prompt by how close it sits to one saved example, or grades it against a written checklist that several different good prompts can each clear. Once she'd read fifty of the "failed" prompts by hand, there was no partial version of the reference eval left to trust.
PPinpoint the old decision
Which call only made sense before a feature had fifty good shapes instead of two?
Look for a narrow, defensible call from the eval's early days. "Add more checks" doesn't count, that's a new dial.
In this answer: A year earlier, two engineers built the chapter title eval by saving one strong example per test case and scoring new output by closeness to it, when titles really did have a tight, narrow shape.
SShow the replay
Same Thursday, checklist restored. Better ending?
Run the identical trigger through the fixed design and see where it stops. A count, not an adjective.
In this answer: The same 300 prompts score 89% under the checklist. Carys hand checks the 33 flagged fails, finds roughly thirty real ones this time, and sends "cleared for Friday" by 9pm, before the on call meeting even starts.
Two panels. Left, a gently declining line labelled ten percent of the nightly batch is scene starter prompts, drifting down to one hundred percent of the nightly batch is scene starter prompts. Right, a line that starts flat and low at trusts the score, ships or blocks, then jumps straight up at Thursday night, and runs flat and high at opens the raw text herself first.
A small, slow drift. One hard snap in what she did about it.

"She got less careful about checking" is a diagnosis anyone can offer after the fact. The harder part is naming the exact thing that had to stop first, reading the raw text, and showing there was no smaller version of it left once the score had been right for two straight years.

And if you want to be sure it really works, try it somewhere else

Trailmark Coaching drafts personalized weekly workout plans with the same kind of tool, and keeps its own eval to certify a new model version before real clients see a plan. Same question, a fitness app instead of a fiction app, and a flip that isn't a quiet redesign this time. It's people walking away.

F. Bram Castillo, senior coach who oversees eight junior coaches piloting the plan drafting tool inside Trailmark's coaching team.
L. For his first few weeks, every junior coach flagged an AI plan they disagreed with straight into the review dashboard, every time, no exceptions.
I. A different flip. Nobody hides a bad plan or builds a workaround. They stop flagging anything at all. Files a dashboard flag the moment a plan looks off, or quietly rewrites it by hand and never opens the tool again for that client, with nothing in between once flagging stopped changing anything.
P. The pilot's eval scored a new plan against one saved "ideal" plan per client type, built when the pilot only covered marathon training. A plan that used a different, equally valid approach to build endurance got flagged as broken every single time, so every flag a junior coach filed came back "as designed," week after week.
S. Swap in a checklist, respects the stated injury limits, keeps weekly volume in a safe range, actually builds week to week, instead of matching one saved plan. The same kind of alternate plan stops getting flagged. Coaches start opening the tool daily again inside two weeks.

Weekly dashboard flags at Trailmark, before and after the checklist eval
Old eval, matched against one saved plan per client type
Before
40 / week
New eval, checklist against injury limits, volume, progression
After
3 / week
Before: about 40 flags a week, almost all of them a plan that was simply different from the one saved answer, not actually wrong. After: about 3 flags a week, and every one of them a real issue worth a coach's time.
A second decision worth taking back Building a flag button that always comes back "as designed" is itself a decision, not a fact about how eval scoring works. A checklist that can actually be cleared is what makes a flag worth filing again.

Swap the trigger and it still runs

  • Speed: if Penumbra only shipped a new prompt model twice a year instead of every few weeks, the same flaw would sit unnoticed even longer, because there'd be far fewer chances for anyone to test the edges of what the eval would actually pass.
  • Cost: if hand checking a flagged failure took real engineering time instead of a few minutes, Carys would ration what she checked, saving it for the releases that felt riskiest instead of the ones that actually needed it.
  • The model got better: this is close to what happened at both companies. Neither model got worse. Scene starters and the plan drafter both got more capable and more open ended, and "the score's still ours, why would that be wrong" is exactly what makes a stale eval invisible.

Where people run it wrong

  • Blaming the writer or the coach for not trusting the tool enough, when the eval was the thing giving them a real reason not to.
  • Building a bigger, stricter golden set instead of asking whether "one right answer" was ever true for this feature.
  • Waiting for a churn number or a support ticket to reveal the gap, instead of checking how many flagged failures turn out fine on a hand review right now.

How to use it live

Buy yourself a few seconds by naming the reframe before the fix: "The real question isn't whether we have an eval, we do. It's whether that eval can recognize a good answer it's never seen before." Say that, and the rest of the answer is just the checklist.

Flashcards (click a card to flip it)

Eight fixed slots, pulled straight from the answer above.

1 · THE FLIP FAMILY
What flip family is this?
Tap to flip
ANSWER
The reference match flip. Grades a new answer against one saved "right" example, or grades it against a checklist several different right answers can each clear. It breaks the moment a feature gets more than one good shape.
2 · THE PERSON
Who is this answer about?
Tap to flip
ANSWER
Carys Pentreath, prompt quality lead at Penumbra, two years running the nightly eval, six years copyediting genre fiction before that. She can tell a lazy prompt from a strong one in one read.
3 · THE HABIT
What did she stop doing because it kept working?
Tap to flip
ANSWER
She stopped reading flagged failures by hand. She used to check every one, then a sample, then none at all, because the score had never once been wrong on chapter titles.
4 · THE FLIP, HERE
What's the two setting switch in this story?
Tap to flip
ANSWER
Grades a new prompt by closeness to one saved example, or grades it against a written checklist that different good prompts can each clear. No middle setting once she'd read fifty flagged fails by hand.
5 · THE OLD DECISION
What decision would you take back?
Tap to flip
ANSWER
A year earlier, engineers built the chapter title eval by saving one strong example and scoring new output by closeness to it, back when titles really did have a narrow, tight shape.
6 · THE NUMBER
The eval's pass rate fell from 91% to ___% the night scene starters became the whole nightly batch. Of the 50 flagged failures Carys checked by hand, only ___ were actually bad.
Tap to flip
ANSWER
58%. Only 4 of the 50 were genuinely bad. The other 46 were good prompts marked wrong for not matching the saved example.
7 · THE REPLAY
Same Thursday, checklist restored, what changes?
Tap to flip
ANSWER
The same 300 prompts score 89% pass. Carys hand checks the 33 flagged fails and finds roughly thirty real ones this time, then clears the release by 9pm, before the on call meeting even starts.
8 · CROSS-PRODUCT
Section 4 answers this same question again for a different product, with a different flip family. Which product, and which family?
Tap to flip
ANSWER
Trailmark Coaching, an AI workout plan drafter, using the abandonment flip: junior coaches quietly stop flagging anything once every flag comes back "as designed."

Check yourself Score: 0 / 0

True or false
1. True or false: the eval's pass rate fell from 91% to 58% because the scene starter model actually got worse at writing prompts.
  • True
  • False
Show hint
Carys hand checked fifty of the flagged failures. Ask what she actually found in most of them.
Show answer
False. The model didn't get worse at all. The eval kept measuring closeness to one saved example, and forty six of the fifty flagged prompts Carys checked by hand were genuinely good, just different from that one example.
Multiple choice
2. What was the flip in Carys's story, and what were its two settings?
  • A. She becomes less confident in the scene starter feature after the Thursday drop.
  • B. She grades a new prompt by closeness to one saved example, or grades it against a checklist several different good prompts can each clear, with nothing in between once she'd read fifty flagged fails by hand.
  • C. The model got worse at writing scene starter prompts over the six weeks.
  • D. She asks the engineering team to review every flagged prompt with her each morning.
Show hint
Look for something Carys does with her own hands, not a feeling or a change in the model.
Show answer
B. C describes the boundary problem itself, not Carys's response to it, and the model never actually got worse. A describes a feeling, and the story never shows her losing confidence, only skipping a specific step. D describes a fix worth making, but it isn't what actually happened in the story.
Fill in the blank
3. The decision this answer takes back is that a year earlier, two engineers built the chapter title eval by saving one ______ per test case and scoring new titles by how ______ their wording sat to it, back when titles really did have a ______, ______ shape.
Show hint
Think about why this decision made total sense on the feature it was built for.
Show answer
Strong example, close, narrow, tight. Nobody was wrong to build the eval that way for chapter titles. It just never got revisited when a much more open feature reused it.
Multiple choice
4. Why wasn't "save a bigger set of example prompts" a real fix once scene starters shipped?
  • A. Because Penumbra's eval tooling only allows one saved example per test case, no matter what.
  • B. Because a bigger set of saved examples still only recognizes the specific shapes someone thought to save, while a checklist recognizes any prompt that clears it, including a shape nobody wrote down yet.
  • C. Because Carys did not have time to write more example prompts that week.
  • D. Because the model would not have generated any prompts close to a bigger example set either.
Show hint
This is the flip versus dial mistake. Adding more of the same thing is a bigger dial, not a different setting.
Show answer
B. A invents a tooling limit the story never states. C and D are real world constraints, not the actual reason a bigger example set would still fail: it can only ever recognize the shapes someone remembered to save.
Short answer, apply it yourself
5. Think of a feature you use yourself that could have more than one good answer: autocomplete, a search ranking, a generated summary. If it were graded against one saved "correct" example, what's one genuinely good answer that would fail for no real reason?
Show hint
Picture the tool producing something you'd actually be happy with, and ask whether it would look anything like a single reference answer.
Show answer
Model answer: "A meeting summary tool graded against one saved 'ideal' summary would fail a summary that pulled out a different, equally important detail first. The order and framing would differ from the one saved answer even though the summary did its job. A checklist, did it capture the decision made, did it capture who owns the next step, would let both versions pass." Any real example counts, as long as it names a plausible good answer and why a single reference would wrongly fail it.
Fill in the blank, do the math
6. Of the 50 flagged failures Carys checked, 46 turned out fine and 4 were real. If that same ratio held across the full 126 flagged failures that Thursday night, about how many of those 126 were probably good prompts wrongly marked wrong?
Show hint
46 out of 50 is about 92%. Apply that share to 126.
Show answer
About 116 of the 126. Almost the entire batch of "failures" that night was the eval getting it wrong, not the feature. Only about 10 were real problems, close to what the new checklist eval later confirmed.
From U2xAI Academy

From answering questions to owning outcomes.

A live workshop where you ship a working AI agent, defend a launch decision, and walk away with a portfolio recruiters can't wave off, not just more questions to study.

  • A live AI agent you actually shipped
  • A launch decision you can defend under pressure
  • An interview-ready portfolio, not more flashcards
Know more