hello·ai
ExampleBest after Phase 34 min

The copy edit that broke refusals

#evals#prompts#risk

In one line

A one-line prompt change moved the overall score by two points and destroyed a capability worth thirty-six — visible only because the eval was split by kind of question.

The situation

Users find the assistant wishy-washy. A product manager edits the : "Be direct. Avoid hedging. Give a clear answer." It reads like a tone adjustment. The runs: 85% before, 83% after. Within noise. It ships.

Two weeks later, support escalations climb. The assistant is now answering questions it has no basis to answer — confidently stating warranty terms for products that do not exist, inventing return addresses. The "avoid hedging" line did not change the tone. It removed the assistant's willingness to say "I don't know".

beforeafterdeltasimple lookup94%96%+2multi-hop71%74%+3no answer88%52%-36← the whole story, invisible in the meanadversarial95%91%-4overall85%83%-2“Hedge less” read as a copy edit. The overall score moved two points; refusal accuracy fell thirty-six.
“Hedge less” read as a copy edit. The overall score moved two points; refusal accuracy fell thirty-six.

Why the number hid it#

The eval was a single score over 150 questions. Sixty were simple lookups, which improved slightly. Thirty-five were multi-hop, which improved slightly. Twenty were adversarial, which held. And twenty-five were questions with no answer in the corpus, where the correct response is a refusal — those went from 88% to 52%.

Averaged together: a two-point dip. Split by stratum: a collapse in the one capability that protects users from confident fabrication. The mean was telling the truth and hiding the story, which is what means do.

The eval that would have caught it#

Tag every case in the by what it tests — lookup, multi-hop, refusal, adversarial, long-context — and report each tag separately. The gate becomes "no stratum down more than three points", and this change fails it loudly, on the first run, before anyone ships.

Include the cases that should fail. A suite built only from questions the system can answer will steer every change toward answering more. The refusal stratum exists precisely to hold the line the copy edit crossed.

Grade refusals properly. Whether an answer correctly declines is a judgement call; an with a written rubric can score it at scale, once it has been checked against a few dozen human labels.

And treat prompt edits as code. The line looked harmless because prose looks harmless. It changed the behaviour of a production system as surely as a config change to a rate limiter would, and it deserves the same gate.

Questions to ask

  • Is my eval one number, or one number per kind of question?
  • Does the suite contain cases where the right answer is "I don't know"?
  • What is the gate — an overall threshold, or a per-stratum one?
  • Do prompt edits go through the same review and eval run as code?

Mindset

Regressions concentrate in one capability and average away to nothing. Split the score by what each case tests, include the cases that should fail, and never let a prompt change ship on a mean.

Where it connects

Got the shape of it?

Examples do not count toward phase progress — that stays on the topics. This is just so the list remembers what you have seen.