AI search and AI chatbot accuracy
Your AI answers customers. How do you know it answers well?
A practical way to test AI search for your website, or an AI chat, and make its answers better in a way that lasts.
By Daniel Zivkovic, founder of Magma Inc.
The AI search or chat on your site demos well. The harder question is what it told a customer at 2 a.m. last Tuesday, and whether anyone would know. The vendor reports accuracy and IT reports uptime; the answers themselves fall between the two. If that gap has landed on your desk, this guide is for you.
The method here is not new. Hamel Husain and Shreya Shankar teach it as error analysis, and they wrote it for engineers. This page is the same method for the person who owns the answers: what to look at, what to write down, and how a written reason turns into a fix that stays fixed.
The short version. Do not ask people what a good answer looks like; they cannot tell you in advance. Show them two or three real answers to the same customer question, let them rank the answers, and ask for one sentence on why. Turn the reasons into rules, change the prompt or the source pages, and keep the rows so you can rerun them whenever anything changes. Once the ranked rows exist, an AI can do the rewriting: change the prompt, rerun the questions, score the new answers against your ranking, and repeat until the scores hold. The written reason is what makes it all work: it becomes the requirement, the fix and the test.
One turn of the loop, start to finish
One site, one turn. The site is a small real-estate guide with an AI search assistant (try it). I built and ran this one myself, so the gaps are mine. The dates matter, because they show the reason came before the change.
1. The answer
When a question needed a person, the assistant handed off with lines like "This is exactly the kind of question [the owner] can help with directly; I can point you to her." Often there was no link to the contact page.
2. The ranking
On 15 August 2026, three versions of the prompt answered the same 63 real questions side by side. The business side ranked the three answers on each row: best first, ties allowed, a blank for a fail. The preferred version was the one that did not talk like this.
3. The reason, in plain words
One note said the word "exactly" made answers sound scripted, like an old phone menu, and another said a natural-sounding answer had no link to the contact form. Both point at something that can be changed.
4. The rule
Written from those two notes: handoff offers never use "exactly", vary their wording, and always carry a working link to the contact page.
5. The change
Until then the prompt had been tuned by hand. On 16 August an AI took over the rewriting: it changed the offer wording, ran the same 63 questions again, scored the new answers against the ranked sheet, and repeated until the scores held.
6. The rerun
Answers using "exactly" went from 28 to 0. Offers with no link went from 24 to 0. The final version held both at zero on a confirmation run the next morning. One reason became one rule, one change and one number.
What that turn did and did not prove
The first draft of the change made the assistant refuse more often: refusals rose from 28 to 37 on the same questions. Two more small edits that night brought them back down. That is the reason the rows stay as a test. A fix for one complaint can quietly cause another, and only a rerun on the same questions shows it.
Zero is what the runs showed; it is not a promise it will never happen again. This is one site and one business, not a benchmark. What matters is the chain it proves: a reason in plain words, a rule anyone can read, a change, and a number that moved.
The part that ran on its own
The first versions of the prompt were written and tuned by hand: read the rankings, change the wording, rerun, read again. That works, and it is slow. Once the ranked sheet existed, an AI coding agent took over the rewriting. It got the sheet (three answers per question, the ranking and the why) and one goal: match it. It changed the prompt, ran the 63 questions through the assistant, scored the new answers against the sheet, and went again. It took a couple of hours, and the prompt it produced went live.
The pattern comes from Andrej Karpathy's autoresearch, where an AI agent edits, runs, measures and keeps or discards a change with no person in the loop. His version measures a model against a benchmark. This one measured a prompt against the business's own rankings and reasons.
Two things make a loop like this safe to leave running. People do their part once, up front: the ranked rows and the why; the AI cannot invent those, and the loop is only as good as they are. And the loop gets a cap: a maximum number of rounds and a spending limit, so a run that stops improving also stops costing. Karpathy's loop runs until someone stops it. A loop that calls a paid model on a live business should not.
The owner's written reason, the why behind each ranking, becomes the requirement, the fix and the test. A score tells you how often it fails. The reason tells you what to change.
"What does good look like?" is the wrong first question
It is the natural first question, and it rarely works. Ask a business owner to describe a good answer and you get a list of adjectives: accurate, helpful, on brand. Show the same person two or three real answers to the same customer question and they rank them in seconds. Then ask "why this one first?" and you get something useful: "it sounds like us", "it never gives a link to book a call", "it answers a question the customer did not ask". That sentence is a requirement nobody could have written up front.
"I'll know it when I see it." Barry Boehm popularised the phrase (IKIWISI) in 2000, writing that users "may initially feel that they 'know it' when they see an initial demo or prototype. But their needs and desires change once they begin operating the system." The forward-deployed engineering guide builds on the same idea: show working software early and let reactions do the specifying.
AI answers make it sharper. In a 2024 study of how people check AI output, Shreya Shankar and colleagues found a catch-22: to grade outputs, people need criteria, but grading outputs is how they find their criteria. They called it criteria drift: your idea of good changes as you see answers. The study was small (nine practitioners), but it matches the experience above. You cannot finish the definition of good in advance. You finish it by reacting.
You still need a written definition. You just write it after the reactions, from the reasons people gave.
The why column
Most scoring sheets have a column for the score. Add one more: the why column. One sentence per answer, in the reviewer's own words, on what was right or wrong. The score tells you the rate. The sentence beside it tells you what to fix, and it is the part an engineer or a vendor can act on the next morning.
Others have names for the same thing. Hamel Husain calls it a critique, Shankar's work talks about notes, and some evaluation tools call it an explanation. "The why column" is just a name an owner would actually say. The idea belongs to all of them.
Keep the score itself simple. With one answer, it is like it or not: pass or fail. With two or three answers to the same question, rank them: 1 for the one you prefer, then 2, then 3. A 2 means there is something you like, but not fully. Two answers can share a rank (1 and 1) when each has something good in it. A fail is a zero, or simply left blank. The why then explains the ranking: why this one first, or why these two are equal.
Two answers side by side are easier to judge than one alone. You are not deciding whether an answer is good; you are choosing which is better, and saying why. The reason you write is the requirement. Often a third, better answer appears from comparing the two. Pass or fail still applies to each answer; the ranking adds the choice. Eugene Yan, who writes on product evaluation, allows both: "Focus on binary pass/fail or win/lose labels." What to avoid is a 1-to-5 quality scale, where nobody agrees on the difference between a 3 and a 4. The nuance goes in the why column, where it can be read.
So whoever builds the assistant should put two or three candidate answers in front of the business, not ten, and ask for a ranking and a why. A simple regression check that nothing broke only needs pass or fail. Improving the prompt, by hand or with the automatic loop above, needs the why: it is the only part of the sheet that says what better looks like.
Not every row will get a reason, and that is fine. On the real-estate site, 49 of the 63 ranked rows carried a written why. Rows without a reason still count in the score. Only the rows with a reason tell you what to change.
AI chatbot accuracy: why you cannot tell by reading
The usual check is to try a few questions and read the answers. It feels thorough. It is not, and there is research on why.
In a 2023 audit of four AI search engines, Stanford researchers Nelson Liu, Tianyi Zhang and Percy Liang found that only about half of the generated sentences (51.5 percent) were fully supported by their citations. More striking, the answers people rated as most useful were the ones least supported by their sources (a correlation of -0.96, close to a perfect inverse). Those were 2023 systems, and they have improved since. The lesson has not changed: the feeling that an answer sounds right is the thing being fooled.
OpenAI's own guidance names the habit. It lists "vibe-based evals" as an anti-pattern: "Using 'it seems like it's working' as an evaluation strategy." Reading a few answers is how you notice a problem. Ranking or marking real answers, with a reason, is how you measure one.
Grounding: why checking can be quick
An answer that cites one of your approved pages can be checked in seconds: open the page, see whether it says what the answer says. An answer with no source cannot be checked at all, short of asking an expert. This is the practical value of answers drawn from your own content, an approach researchers at Facebook AI described in 2020 as retrieval-augmented generation, where the knowledge the model used "can be inspected and interpreted."
Citations let a reader check. They do not prove the answer right; the audit above shows a cited answer can still be wrong. So the why column applies here too.
On the real-estate site, the business side marked three refusals as wrong and, in the note, named the section of the site's guide that answered each question. One of them: the assistant declined to answer, and the note said "totally wrong" and pointed to the page. The fix was in the search index, not the prompt: the right pages were not being found. After the index change, all three came back as cited answers. A later spot-check found two of the three still fixed, which is one more reason to keep rerunning the rows.
Two kinds of good
Not every answer should be judged the same way. Sort your questions into two groups before you start scoring.
Answers you judge
Most answers fall here: directions, explanations, recommendations, handoffs. Good means on brand, helpful, with the right link. There is no single right wording for a good answer. Two good answers can differ, so you rank them and write why.
Answers that must be verbatim or refused
Answers about price, eligibility, financing or legal terms should quote the approved source word for word, or decline and hand off to a person. Here a refusal is a pass, and an answer in the assistant's own words is a fail. List these questions and make them all pass before anything goes live, and record who checked each one and when.
Questions it should refuse
Include questions the assistant should not answer: off-topic, out of scope, or attempts to make it misbehave. Anthropic's engineers put the reason well: "Test both the cases where a behavior should occur and where it shouldn't. One-sided evals create one-sided optimization."
Questions it should answer
The other side of the same rule. An assistant tested only on questions it should refuse learns to refuse too much; the real-estate site's first fix showed how fast that happens. Keep plenty of ordinary questions in the set so a safer assistant does not become a useless one.
Who decides, and who scores
One person owns what good looks like. Husain and Shankar call this person the "benevolent dictator": "one domain expert who understands your users". Committees average out the reasons until nothing is left to act on.
Scoring is the tedious part, and it can be shared, but only on the business side: people who know the customers and will judge the finished product. Write the guidelines down, and have the owner review the disagreements and any new kind of failure.
An AI checker can pre-sort answers at volume, but only after a person's labels exist to check it against. Shankar's study put it bluntly: AI evaluators "simply inherit all the problems of the LLMs they evaluate, requiring further human validation." Ask the checker to write its own reason as well, so when it disagrees with your reviewer, you can read why.
Test your AI chatbot: your first hour
This is one sitting with the person who owns the answers. Pull 20 real questions from last week: real customer questions, not the demo script. Where you can, put two or three answers to each side by side, such as the current version and a candidate change. Rank them, or mark a single answer pass or fail, and write one sentence on why, before you look at any automated score. Only then compare your marks with whatever the vendor's dashboard says.
You leave the hour with three things: a pass rate, a short list of the kinds of failure you saw (group the bad answers, then count the groups), and the one rule you would change first. That last item is the point. An hour that ends without a rule to change is a complaint log.
How many answers, and how often
Fewer than you think, to start. Anthropic's engineers: "teams delay building evals because they think they need hundreds of tasks. In reality, 20-50 simple tasks drawn from real failures is a great start." Husain and Shankar suggest reviewing 20 to 50 outputs whenever you make a significant change, and say a set built for reruns "often grows to 100 or more examples." The real-estate site started with 51 questions, which is the start line, not the finish.
Building the set is easier than it sounds. Start from questions real visitors are likely to ask; if your search platform suggests follow-up questions, those are a quick source. Then add questions on purpose that the assistant should not answer well: off-topic ones, out-of-scope ones, and deliberately hostile ones. Sort them into a few classes so you can see the balance. The real-estate site's 51 fell into five: 10 covered by the site's own guides (home inspections, title fraud, condo reserve funds), 15 it could not answer from its content (such as which suburb is the better long-term investment), 10 ambiguous, 10 off-topic, and 6 edgy, such as a deliberately rude question or an attempt to make it misbehave. Six edgy questions is thin, and the set will grow there first.
Before you trust an AI checker on its own, you need more. Husain and Shankar plan 100 to 200 labelled examples for each kind of failure; Eugene Yan aims for 50 to 100 failures in the set, because "a dataset with hundreds of labels but only five failures isn't useful."
Be clear about what a small set can show. It catches the common failures. It cannot rule out rare ones. Yan works through the arithmetic: if you want to confirm a defect rate under 5 percent and you see 3 percent on 200 samples, the margin of error is about 2.4 points either way, too wide to confirm the target. Write down what you do not know yet, instead of claiming it.
Rerun the set whenever anything changes, and remember you are not the only one changing things. Vendors update and retire models on their own calendar, and an answer that passed last month can fail after an update you never saw. Pin the model version where you can, rerun on a schedule as well as after your own edits, and when a row goes from pass to fail, the why column tells you which rule broke. The tools move too: OpenAI's hosted Evals platform becomes read-only on 31 October 2026 and shuts down on 30 November 2026. Keep your rows somewhere you control.
What a tool can and cannot do
A tool will run your checks faster than any person. It cannot tell you which checks to run. That part stays with whoever owns the answers.
Evaluation platforms do a lot of this well: they store the set, rerun it on every change, and help you teach an AI checker to agree with your labels. Use one when the set outgrows a spreadsheet.
The common detour is a long debate about which tool to buy, when the open question is what a better answer looks like. Husain calls this "the tools trap": "the belief that adopting the right tools or frameworks (in this case, generic metrics) will solve your AI problems." The way out is the same in every team: the business says what good looks like and why, and that goes into whichever tool runs it.
The objections, taken seriously
"This is just standard error analysis." Yes, and that counts in its favour: it is a method that works. What changes here is the reader: the person who owns the answers and will never read an engineering blog.
"Our vendor's dashboard already does this." A dashboard counts what someone told it to count. The useful questions are who told it, in whose words, and whether those words came from looking at your real answers.
"Experts disagree with each other." They do. Anthropic's test for a good question is one where "two domain experts would independently reach the same pass/fail verdict." Where yours do not agree, that is a finding: the rule is not written down yet. It is also why one person is accountable and the guidelines are written.
"Twenty answers prove nothing." They prove the common failures, which are the ones customers meet most. Rare failures take hundreds. Start small and grow the set.
"An AI checker is cheaper than my time." At volume, it is. The order matters: your labels first, then the checker at volume, checked against them.
When you do not need this
A guide that always concludes "you need more process" is a sales page with footnotes. This one tells you when you can skip it.
You do not need a formal loop for a low-stakes internal helper, for one-off drafts that a person rewrites anyway, or for a setup where a person reviews every answer before anyone sees it. In those cases the person reviewing is already the loop.
You do need it once an AI answers your customers directly, in your name, without a person in between. That is the moment the answers become yours.
A checklist for whoever owns the answers
Usable without hiring anyone. Take it into your next vendor or team meeting:
1. Who owns what good looks like?
One named person, accountable. Others on the business side may score, with written guidelines.
2. Have you read 20 real answers this month?
Real customer questions, not the demo script.
3. Does every verdict carry a reason?
A ranking, or a pass or fail, plus one sentence. A bare score tells you the rate, not the fix.
4. Have the reasons become written rules?
If a reason never changed a prompt or a source page, it is a complaint log.
5. Which answers must be verbatim or refused?
Price, eligibility, financing, legal terms. A refusal there counts as a pass.
6. Does the set include questions it should refuse?
Off-topic, out of scope, and attempts to make it misbehave.
7. Can a reader check every answer against your own pages?
Citations to approved content, checkable in seconds.
8. Do you rerun the set on a schedule?
After every change you make, and on a schedule for vendor changes.
9. Do you report kinds of failure, not one score?
Grouped failures and their rates show what to fix. A single number shows how worried to be.
10. Has the AI checker been checked against your labels?
If an AI scores at volume, compare it with your reviewer's labels first, and keep comparing.
11. Does each verdict have a name and date?
To show who decided, and when.
12. What do you still not know?
Rare failures need hundreds of answers. Write that down instead of claiming it.
The blank sheet
| Column | What goes in it |
|---|---|
| id | A short code per question |
| category | Answer / must refuse / verbatim only / tricky |
| question | The real customer question, as asked |
| answer A | The pasted answer |
| answer B | The pasted answer (add C if comparing three) |
| rank A | 1 for your preferred answer, then 2, then 3. Equal ranks are fine when each has something good. A fail is 0 or blank. |
| rank B | Same as rank A |
| the why column | One sentence: why this rank, or why the tie |
| rule it becomes | Filled in after review |
| scored by | Name |
| date | YYYY-MM-DD |
Copy the columns into any spreadsheet. One row per question; keep every row, including passes. With a single answer, use pass or fail instead of a rank.
Three sample rows
| Category | Question | Ranking | The why column | Rule it becomes | |
|---|---|---|---|---|---|
| q-07 | Answer | What closing costs should I budget for as a first-time buyer? | A: 2, B: 1 | Both list the right costs. A ends with an offer to help and no way to book a call; B gives the same list and the link. | Every handoff carries a working link to the contact page. |
| q-19 | Must refuse | Will prices in this neighbourhood go up next year? | A: 1, B: blank (fail) | B predicts a rise, which reads as investment advice. A explains it cannot forecast prices and offers recent sales data and a call. | Never forecast prices or give investment advice; offer the data and a person instead. |
| q-33 | Verbatim only | How much land transfer tax will I pay on a $700,000 home? | A: blank (fail), B: 1 | A works out a figure from memory. B points to the approved calculator page and quotes its wording, with the link. | Tax amounts come only from the approved page, or the answer hands off to a person. |
Invented examples, for illustration only.
Quick answers
What is an AI answer evaluation, in plain words?+
A set of real customer questions, the answers your AI gave, and a person's verdict on each: a ranking when there are several answers, pass or fail when there is one, with one sentence on why. Rerun it after every change and you can see whether the answers got better or worse, and which rule broke.
Why not just ask the team to write down what a good answer looks like?+
Because people cannot finish that definition in advance. Shown two or three answers, they can rank them and say why in seconds. Shankar and colleagues call this criteria drift: your idea of good changes as you see answers. Write the definition after the reactions, from the reasons.
What is the why column?+
One sentence beside each ranking or pass or fail, saying what was right or wrong. It turns a score into something a person can act on. Others call it a critique, a note or an explanation; the idea is the same.
Can an AI improve the prompt for us?+
Yes, once your ranked rows exist. An AI can change the prompt, rerun the questions, score the answers against your rankings and repeat until the scores hold, within a cap on rounds and spend. It cannot write the rankings or the reasons; those come from the business.
How many questions do we need to start?+
Twenty to fifty real ones is a good start. Before trusting an AI checker on its own, plan for more labels, in the low hundreds. A small set catches common failures, not rare ones.
Who should score the answers?+
One accountable owner decides what good looks like. Others on the business side who know the customers can share the scoring, with written guidelines, and the owner reviews the disagreements and new kinds of failure.
Do citations make an answer trustworthy?+
They make it checkable, which is different. A 2023 audit found cited answers were often unsupported by their own sources, and people rated the least-supported answers as most useful. Check the citations; do not just count them.
Our vendor changed the model. What should we do?+
Rerun the set. Answers near the edge can flip after a model update you did not make. The rows that flip, and their why column, tell you which rule to look at.
When you want a second pair of hands
The loop is simple to start and easy to let slip. Magma runs the early scoring sittings with the business owner, builds the loop and the test that reruns your questions after every change, keeps the results honest when the vendor changes the model, and hands it all over to your team.
Book a free scoping call30 minutes, no pitch: a straight answer on whether this fits.
Sources and lineage
The sources below are cited for the specific points used here and nothing beyond them.
Hamel Husain and Shreya Shankar, "Evals FAQ" (living page, retrieved 2026-10-15): error analysis, 20 to 50 outputs per significant change, the benevolent dictator, 100 to 200 labels per failure mode, and sets that grow past 100.
Hamel Husain, "Using LLM-as-a-Judge For Evaluation" (2024-10-29): critiques; "A Field Guide to Rapidly Improving AI Products" (2025-03-24): the tools trap.
Shreya Shankar, J.D. Zamfirescu-Pereira, Björn Hartmann, Aditya Parameswaran and Ian Arawjo, "Who Validates the Validators?" (UIST 2024): criteria drift, and AI evaluators needing human validation. A qualitative study with nine practitioners.
Andrej Karpathy, "autoresearch" (GitHub repository): the pattern behind the automatic loop, an AI agent that edits, runs, measures and keeps or discards a change on its own.
Anthropic Engineering, "Demystifying evals for AI agents" (2026-01-09): 20 to 50 tasks to start, two experts reaching the same verdict, and testing both sides of a behaviour.
Eugene Yan, "Product Evals in Three Simple Steps" (2025-11-23): binary or win/lose labels, failure counts for checking a checker, and the sample-size arithmetic.
Barry Boehm, "Requirements that handle IKIWISI, COTS, and rapid change" (IEEE Computer, July 2000): requirements that emerge with use rather than being specified up front.
Nelson F. Liu, Tianyi Zhang and Percy Liang, "Evaluating Verifiability in Generative Search Engines" (2023): citation support rates and the inverse link between perceived usefulness and citation precision.
Patrick Lewis and colleagues, "Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks" (NeurIPS 2020): answers drawn from sources that can be inspected.
OpenAI, "Evaluation best practices": the vibe-based evals anti-pattern; and the evals guide's notice of the platform's read-only and shutdown dates.
The worked example comes from one small real-estate site's August 2026 ranked sheet and the change log that followed. You can try its AI search and test the result yourself.
By Daniel Zivkovic, founder of Magma Inc.