CandyWrite
HomeBlogs
CandyWrite

An independent publishing platform for essays on technology, design, and creative work. Free to read, free to write.

Explore

  • Home
  • All Blogs
  • Topics
  • Tags
  • Writers
  • Most Read

About

  • About Us
  • Help & Support
  • Contact

Contact

  • hello@candywrite.com
  • support@candywrite.com

Get Updates

© 2026 CandyWrite. All rights reserved.

AboutHelpContactPrivacy PolicyTerms of Service
  1. Home
  2. Blogs
  3. AI & Engineering
  4. The Evaluation Set Is the Most Valuable Asset You Are Not Building
The Evaluation Set Is the Most Valuable Asset You Are Not Building
AI & Engineering

The Evaluation Set Is the Most Valuable Asset You Are Not Building

Models change every few weeks. Prompts get rewritten by whoever touched them last. The only durable asset in an AI product is the set of cases you can test against.

M

Written by

Muhammad Umer
  • 30 August 2026
  • 3 min read
  • 0 views
0

There is a strange asymmetry in how teams invest in AI features. Weeks go into prompt iteration, days into picking a provider, and roughly one afternoon into deciding whether any of it is working. Then a model version changes, quality shifts in some direction nobody can characterise, and the team argues from anecdotes for a fortnight.

Why anecdotes lose

Human memory of model output is unreliable and heavily biased toward the last bad case. Without a fixed set of examples and expected outcomes, every change becomes a matter of opinion, and the loudest opinion wins. Worse, you cannot answer the only question that matters during an upgrade: did this get better or just different?

What a useful set looks like

It does not need to be large. Between fifty and two hundred cases covers most product surfaces if they are chosen well. What matters is composition:

  • Golden path cases that must never regress, drawn from your most common real requests.
  • Known failures, every one of them added the day someone reported it. This is how a bug report becomes a permanent guard rail.
  • Adversarial cases: prompt injection attempts, contradictory instructions, requests for things the system must refuse.
  • Abstention cases where the correct answer is that the system does not know. If you never test this, your product will never learn to say it.

Grade what you can grade mechanically

Where the task has a checkable output, assert on it: JSON that must validate, a field that must match, a citation that must resolve to a real document. Mechanical checks are fast, free, and never drift. Reserve model-graded evaluation for genuinely subjective qualities like tone, and when you use it, pin the grader version, because a moving grader makes your history meaningless.

Run it where it will actually be run

An evaluation suite that takes forty minutes and lives in someone's notebook will be run twice. The set belongs in CI, triggered on any change to a prompt, a tool definition, a retrieval parameter, or a model identifier, with results posted where the team already looks. Slow suites get sampled per commit and run fully nightly.

Every incident should end with a new row in the evaluation set. That is the difference between a team that learns and a team that keeps rediscovering the same failure.

The compounding effect

Six months in, this set is worth more than any individual prompt you have written. It lets you evaluate a new model in an afternoon instead of a sprint, lets a new engineer change the system without fear, and turns provider competition into something you can exploit rather than something that threatens you. Prompts are disposable. Cases are not.

Architecture

Enjoyed this article?

Show some love or pass it on to someone who'd like it.

About the author

M

Muhammad Umer

@umarrafique

View profile

I'm Muhammad Umer. I write about technology, business, and the forces shaping our world. I started writing because I had questions.

WebsiteTwitterGitHub

Join the conversation

Discussion0

Live updates

Join the conversation. Sign in to leave a response or reply to comments.

Sign InCreate Account
No responses yet. Be the first to share your thoughts!
On this page

Keep reading

Related articles

More essays on the same topics, picked for you.

View all blogs
AI & Engineering

6 Sept 2026•4 min read

The React Compiler Ended the Memoization Debate. Now What?

Automatic memoization removed a whole category of busywork from React codebases. It also exposed which of our performance habits were cargo cult all along.

MMuhammad Umer
AI & Engineering

3 Sept 2026•3 min read

Small Models, Big Systems: The Case for Routing Instead of Scaling

Sending every request to your largest model is the most expensive default in modern software. A routing layer usually beats an upgrade, on both cost and latency.

MMuhammad Umer
AI & Engineering

5 Sept 2026•4 min read

Retrieval Is a Data Problem, Not a Vector Problem

Most RAG systems fail long before the embedding model is at fault. The fixes live in chunking, freshness, and permissions, not in a better index.

MMuhammad Umer
AI & Engineering

8 Sept 2026•5 min read

Agents Are Not Chatbots: What Changes When Software Takes Actions

The jump from answering questions to operating software breaks most of the assumptions we built our AI features on. Here is what actually needs to change in your stack.

MMuhammad Umer

Enjoyed this perspective?

Join 12,000+ readers getting our Saturday morning editorial dispatch with our top essays and reading recommendations.