Your evals are the moat
Your prompts are not your moat. Your model is not your moat. The test suite that catches silent regressions is the thing nobody can copy.
Here is an opinion that tends to start arguments: your prompts are not your moat, and your model is not your moat. Your evals are.
Anyone can copy a system prompt. People screenshot them and post them. Anyone can switch to the same frontier model you use, often by changing one line. Neither of those is defensible. What almost nobody will do is rebuild the test suite that tells you, on every change, whether you just made things quietly worse.
Why this is the hard part
LLM systems fail in a way traditional software does not: they regress silently. You tweak a prompt to fix one case, ship it, and three other cases degrade in ways no exception ever surfaces. There is no stack trace for "the answer got a little worse." The only thing standing between you and slow, invisible decay is a set of evals you trust.
The silent regression
The dangerous bug in an AI product is not the one that throws. It is the one where the output is still plausible, still confident, and now wrong more often. Without evals you find out from churn, not from CI.
What "real evals" means
Not a vibe check in a chat window. I mean:
- A fixed set of cases that represent what your users actually do, including the ugly inputs.
- Graders that score outputs, whether by rules, by a model judge, or by a human rubric, consistently enough to compare runs.
- A number that moves when quality moves, so a change is a measurement and not a feeling.
// A change is only "safe" if the suite says so.
const before = await runEvals(suite, currentSystem)
const after = await runEvals(suite, proposedSystem)
if (after.score < before.score) {
throw new Error(`Regression: ${before.score} -> ${after.score}`)
}Why it compounds
Prompts and models commoditize. Every quarter the gap between you and a competitor on raw capability shrinks, because the same models are available to both of you. Evals do the opposite. Every real failure you encode into the suite makes the next change safer and the product harder to clone. The test suite is the institutional memory of everything that ever went wrong, and that memory is genuinely expensive to rebuild from scratch.
So if you are deciding where to spend a scarce week, spend it on the evals. The prompt you will rewrite ten times anyway. The suite is the asset.
Did this resonate?
Get new essays by email
Field notes on AI-native products, straight to your inbox. No spam, unsubscribe any time.