Verifying AI Output

A routine for checking AI answers: split a reply into claims, then check facts, numbers, code and citations against something outside the model.

15 minLesson 2 of 7
On this page
  1. Checking means comparing with something else
  2. Watch a reply get checked
  3. Numbers: recompute, never re-read
  4. Facts, code and citations
  5. How much to check
  6. Try it yourself
  7. Common mistakes
  8. Check yourself
  9. What to practise next

You give an AI assistant your monthly budget notes and ask for a summary. It replies with a tidy breakdown, a total, and a few suggestions. You paste the total into the spreadsheet you share with your partner. It is 10 too low. Every amount in the reply was copied correctly. The addition was wrong.

Nothing in the reply looked off. The sentence with the wrong total sounded exactly as confident as the sentences that were right. That is the reason to verify: you cannot tell from the writing which parts to trust.

Checking means comparing with something else

Reading a reply again and nodding is not a check. Neither is asking the model "are you sure?", for the reasons in Why Models Hallucinate. A real check compares the reply with something outside it: your original data, a calculation you run, an official document, a test that passes or fails.

The routine has two steps.

  1. Split the reply into claims. A claim is any sentence that could be true or false: a number, a name, a date, "this function handles empty input", "the report says X".
  2. Check each claim the way that suits its type. Numbers get recomputed. Facts get looked up in a primary source. Code gets run. Citations get opened and read.

Watch a reply get checked

Here is the budget request and the reply. Read the reply once and see if anything jumps out.

The reply to checkIllustrative example. Real replies vary.
You
Summarize my monthly budget. Rent 950, groceries 312, transport 86, phone 45. Take-home pay 2,600.
Model
Here's your month at a glance. Rent is your largest expense at 950, which is 36.5% of your take-home pay. Total spending comes to 1,383, leaving you 1,217. Groceries are about 25% of your spending. One easy win: if you got transport down to 70, you would save 192 a year.

Nothing jumps out, and that is the point. Step through checking its six claims one at a time.

Six claims from a budget summaryUse the arrows or ← → keys
  1. claims
    claimcheckresult
    1rent is the largest expense
    2rent is 36.5% of pay
    3total spending is 1,383
    41,217 is left from pay
    5groceries are about 25%
    6transport at 70 saves 192 a year
    checked
    0
    wrong
    0

    1Each row is one claim from the reply, in the order it makes them. Most are numbers, so the check is to recompute them.

  2. claims
    claimcheckresult
    1rent is the largest expense950 is the maxcorrect
    2rent is 36.5% of pay
    3total spending is 1,383
    41,217 is left from pay
    5groceries are about 25%
    6transport at 70 saves 192 a year
    checked
    1
    wrong
    0

    2Claim 1: compare with the notes. 950 is bigger than 312, 86 and 45. Correct.

  3. claims
    claimcheckresult
    1rent is the largest expense950 is the maxcorrect
    2rent is 36.5% of pay950 / 2,600 = 36.5%correct
    3total spending is 1,383
    41,217 is left from pay
    5groceries are about 25%
    6transport at 70 saves 192 a year
    checked
    2
    wrong
    0

    3Claim 2: 950 ÷ 2,600 = 0.365, so 36.5%. Correct.

  4. claims
    claimcheckresult
    1rent is the largest expense950 is the maxcorrect
    2rent is 36.5% of pay950 / 2,600 = 36.5%correct
    3total spending is 1,383sum = 1,393wrong
    41,217 is left from pay
    5groceries are about 25%
    6transport at 70 saves 192 a year
    checked
    3
    wrong
    1

    4Claim 3: add it up yourself. 950 + 312 + 86 + 45 = 1,393, not 1,383. A single slip, stated with full confidence.

  5. claims
    claimcheckresult
    1rent is the largest expense950 is the maxcorrect
    2rent is 36.5% of pay950 / 2,600 = 36.5%correct
    3total spending is 1,383sum = 1,393wrong
    41,217 is left from pay2,600 − 1,393 = 1,207wrong
    5groceries are about 25%
    6transport at 70 saves 192 a year
    checked
    4
    wrong
    2

    5Claim 4: 2,600 − 1,393 = 1,207. The reply's 1,217 is 2,600 − 1,383, so it is consistent with the wrong total. One error spread into a second claim.

  6. claims
    claimcheckresult
    1rent is the largest expense950 is the maxcorrect
    2rent is 36.5% of pay950 / 2,600 = 36.5%correct
    3total spending is 1,383sum = 1,393wrong
    41,217 is left from pay2,600 − 1,393 = 1,207wrong
    5groceries are about 25%312 / 1,393 = 22.4%wrong
    6transport at 70 saves 192 a year
    checked
    5
    wrong
    3

    6Claim 5: 312 ÷ 1,393 is 22.4%. Even with the reply's own wrong total it would be 22.6%. "About 25%" is a rounded guess, not a calculation.

  7. claims
    claimcheckresult
    1rent is the largest expense950 is the maxcorrect
    2rent is 36.5% of pay950 / 2,600 = 36.5%correct
    3total spending is 1,383sum = 1,393wrong
    41,217 is left from pay2,600 − 1,393 = 1,207wrong
    5groceries are about 25%312 / 1,393 = 22.4%wrong
    6transport at 70 saves 192 a year16 × 12 = 192correct
    checked
    6
    wrong
    3

    7Claim 6: (86 − 70) × 12 = 16 × 12 = 192. Correct. Advice built on your numbers needs the same check as the numbers.

  8. claims
    claimcheckresult
    1rent is the largest expense950 is the maxcorrect
    2rent is 36.5% of pay950 / 2,600 = 36.5%correct
    3total spending is 1,383sum = 1,393wrong
    41,217 is left from pay2,600 − 1,393 = 1,207wrong
    5groceries are about 25%312 / 1,393 = 22.4%wrong
    6transport at 70 saves 192 a year16 × 12 = 192correct
    checked
    6
    wrong
    3

    8Result: 3 of 6 claims wrong, and two of them (the total and what is left over) trace back to one bad addition. Checking all six took a couple of minutes.

1 / 8

Numbers: recompute, never re-read

Language models produce numbers the same way they produce words, one token at a time. Simple arithmetic often comes out right, and sometimes it does not. When a number matters, recompute it from the inputs. For more than a couple of values, a few lines of code beat a calculator because you can rerun them.

Recompute the budget claims
const spending = { rent: 950, groceries: 312, transport: 86, phone: 45 };
const pay = 2600;
 
const total = Object.values(spending).reduce((sum, x) => sum + x, 0);
console.log("total:", total); // 1393
for (const [name, amount] of Object.entries(spending)) {
  console.log(name, ((100 * amount) / total).toFixed(1) + "%");
}
// rent 68.2%, groceries 22.4%, transport 6.2%, phone 3.2%
console.log("left over:", pay - total); // 1207
spending = {"rent": 950, "groceries": 312, "transport": 86, "phone": 45}
pay = 2600
 
total = sum(spending.values())
print("total:", total)  # 1393
for name, amount in spending.items():
    print(name, f"{100 * amount / total:.1f}%")
# rent 68.2%, groceries 22.4%, transport 6.2%, phone 3.2%
print("left over:", pay - total)  # 1207

If you ask the assistant to do the maths, ask it to write code like this and run it in a tool, or to show each step so you can check the steps. A number with no working is the hardest kind to trust.

Facts, code and citations

Facts

Names, dates, version numbers, laws, prices and quotes need a primary source: the official documentation, the original report, the law itself. A page that repeats the claim is weaker: it may copy the same mistake. For software, check the docs for the version you actually use. A function that existed three versions ago, or only in a different library, is a common wrong answer.

Code

Run it. Then try the inputs the example did not cover: empty, one item, duplicates, negative numbers, very large values. Coding With AI shows how to turn those cases into tests before you accept the code.

Citations

A citation is three claims at once: the source exists, it says what the reply says it says, and it is about the same thing. Check all three.

  • Open it. A link that fails to load, or a paper you cannot find by its title, is a red flag.
  • Find the sentence. Search the page for the specific number or phrase. A source on the right topic that does not contain the claim does not support it.
  • Read around it. A quote can be real and still mean the opposite in context, or describe a different year, country or product.

How much to check

You do not need to verify a brainstorm of party themes. You do need to verify a figure going to your manager, a dose, a legal deadline or code going to production. Before checking, ask: if this is wrong, who notices, and what does it cost? Then check the claims where the answer is "someone else, and a lot" first.

Try it yourself

Try it: Plan the checks

An assistant wrote this paragraph for a team update. List each claim, say how you would check it, and say which one you would check first.

Show a sample answer

Six claims hide in three sentences:

  1. 1,240 in May and 1,550 in June: compare with your analytics dashboard, the primary source.
  2. 20% increase: recompute. (1,550 − 1,240) ÷ 1,240 = 310 ÷ 1,240 = 25%, not 20%. This one is wrong.
  3. Most growth came from referrals: check sign-ups by source. This is a claim about cause, and the reply may have guessed it from the launch date.
  4. Launched on June 3: check the release notes or the team calendar.
  5. The guide's quote: open the guide, search for "well above typical", and check that it talks about the same kind of product and the same measure.

Check the percentage first: it takes ten seconds and the whole update leans on it. Then the cause claim, because it will shape what the team does next.

Common mistakes

Check yourself

Quick check

A reply says "your three invoices total 4,215". What is the right check?

A cited article exists and is about the right topic, but you cannot find the quoted sentence in it. What should you conclude?

Which output most needs careful checking before it is used?

What to practise next

Take the last long AI reply you used for something real and split it into claims. Check the two that would hurt most if wrong. Then continue with Writing a Good Brief, which shows how to ask for work that is easier to check in the first place.