Your Offline Evals Look Green. Production Still Rewrites Every Answer.




Your offline eval suite is green. Latency is fine. The golden set scores look better than last sprint. Support still spends half the day rewriting answers before they reach a customer.
That mismatch is not a mystery. It is what happens when you treat a static scorecard as proof the system works in the wild. Offline evals are necessary. They are not the same thing as production fitness.
Most teams build offline evals around questions they already know how to ask. A curated set of prompts. A handful of reference answers. A judge model or a rubric that rewards similarity to yesterday's "good" output.
That is useful for catching regressions. It is weak at catching the work that actually burns hours: ambiguous requests, incomplete context, policy edge cases, and the awkward follow-ups that never made it into the golden set.
If production users keep rewriting answers, they are telling you the eval suite is measuring a different job from the one they are doing.
When operators rewrite, they rarely fix spelling. They fix trust.
Those edits are a product signal. If you only log model scores and not rewrite effort, you will keep celebrating green bars while the real cost sits in Slack threads and support macros.
An Australian insurer built a strong RAG assistant for claims handlers. Offline faithfulness scores sat above the team's threshold for weeks. In the contact centre, handlers still pasted the draft into a second document and rewrote the customer-facing paragraph almost every time.
The offline set rewarded answer completeness against the knowledge base. The handlers cared about tone, eligibility exceptions, and which product version applied to that policy year. The eval never asked those questions, so the model never learned they mattered.
Once the team logged rewrite reasons for two weeks, the top three tags were "wrong product year", "too confident", and "missing eligibility caveat". None of those showed up in the golden set. The next eval release changed overnight.
Keep the offline suite. Add a production loop that treats human edits as first-class evidence.
Healthy teams still rewrite. They just rewrite less, and they know why.
A practical target is not zero edits. It is a shrinking share of heavy rewrites, a rising share of light polish, and a clear backlog of eval cases that map to the reasons people still intervene. When leadership asks "are the evals good?", the honest reply includes both the offline score and the rewrite rate by reason code.
If those two numbers disagree, believe production. Then update the suite until they start telling the same story.
Pick one production surface where people already rewrite model output. Log fifty consecutive edits with a short reason tag. Do not wait for a perfect taxonomy. Review the tags with the people who did the rewriting. Promote the top five failure modes into your next offline release.
You will probably find that your green suite was never wrong about the tests it ran. It was incomplete about the work your users actually do. Fix that gap and the rewrites start to fall for a reason you can defend.
