Almost every AI project I have reviewed reports one headline number: accuracy. It is comforting, it fits on a slide, and it is often deeply misleading. A model can be 95% accurate and still fail the exact 5% of cases that matter most — or be right on average while quietly unfair to a specific group of users.
Trust is not a single score. It is a set of properties you have to measure on purpose. This is the evaluation framework I use, and how to build it into a system rather than bolting it on at the end.
Why accuracy alone is not enough
Accuracy compresses everything into one average, and averages hide the failures that hurt. A fraud model that is 99% accurate might still miss the rare fraud you actually care about. A support assistant that is usually right can still be confidently wrong in a way that erodes trust faster than ten correct answers build it. To trust a system, you need to know how it behaves when things are hard, unusual, or adversarial.
The dimensions of trust
Reliability (consistent over time), robustness (holds up on messy input), fairness (works across groups), safety (fails gracefully), and explainability (you can say why). Accuracy is one input to reliability — not the whole story.
Reliability
Stable, repeatable results.
Robustness
Survives messy, real input.
Fairness
Works across user groups.
Safety
Fails without causing harm.
Explainability
You can justify outputs.
Reliability and robustness
Reliability asks: if I run this again next week, on slightly different data, do I get consistent quality? Robustness asks: what happens when the input is misspelled, incomplete, in another language, or deliberately weird? A lot of models look great on a clean test set and fall apart on the untidy reality of production. Test with the messy inputs your users will actually send, not the polished ones from your notebook.
Fairness and safety
Fairness means checking performance across groups, not just in aggregate — because a model can be accurate overall and worse for a subset of people. Safety means designing for the wrong answer: when the system is unsure or out of its depth, does it hedge, refuse, or escalate — or does it barrel ahead? A safe system knows its limits and behaves well at the edges.
Accuracy only
- One number on a slide
- Hides which cases fail
- Says nothing about fairness
- No idea how it fails
A trust scorecard
- Performance across groups
- Behaviour on edge cases
- How it handles uncertainty
- Whether outputs are explainable
Evaluating LLMs, RAG, and agents
Generative systems need their own evaluation lenses, because there is rarely a single correct answer to match against.
- Hallucination: does the output state things that are not supported by any source?
- RAG quality: is the retrieved context actually relevant, and does the answer stay faithful to it?
- Groundedness: can every claim be traced back to a real document?
- Agent evaluation: did it choose the right tools, in the right order, and stop at the right time?
For RAG specifically
Separate the two failure modes. Bad retrieval (the right document was never fetched) and bad generation (the document was there but the model ignored or misread it) need completely different fixes. Measure them independently or you will tune the wrong thing.
Human and automated evaluation
You need both. Automated evaluation — including using a strong model as a judge against a rubric — lets you test hundreds of cases on every change, cheaply and fast. Human evaluation catches the subtle things automation misses: tone, nuance, whether an answer is actually helpful. Use automation for breadth and regression testing; use humans for depth and the calls that really matter.
Golden set
Curated real-world cases.
Auto-eval
Run on every change.
Human review
Spot-check the hard cases.
Ship
Only if it clears the bar.
Monitor
Watch it in production.
Continuous monitoring in production
Evaluation does not end at launch. Real-world data drifts — users ask new things, the world changes, and a model that was great in March quietly degrades by September. Track production metrics, sample real outputs, watch for rising uncertainty or user complaints, and feed the failures back into your golden set. Evaluation is a loop, not a gate you pass once.
“Accuracy tells you how often a model is right. Trust tells you whether you can put it in front of real people. Those are not the same question — and only one of them keeps you up at night.”
Building an evaluation pipeline feels like overhead until the first time it catches a regression before your users do. After that, it becomes the thing that lets you ship quickly with confidence — which is the whole point.
