Skip to content

Uncertainty and errors

  • Lesson 7
  • 45 min
  • Module 2: Capabilities and limits

What you will be able to do

Recognise the five common ways in which a fluent answer can be wrong. For each one, decide whether more context in the request will fix it, or whether it needs a check outside the model.

Before you startWhat to know and to have readyAbout 45 minutes

What you need to know

What you need

  • A browser. Nothing to install.

Hosted models change often: your own results will differ.

A new colleague joins the support team. They write fast, they are polite, and every answer sounds sure. In the first week, Grace notices a pattern. When they know the answer, it is good. When they do not know it, they still answer, in the same sure tone. They never say “I don’t know”.

Grace’s fix is not to tell them “be more careful”. She gives them the right documents, and she checks their answers on the topics where they guess.

A language model is that colleague. Its job in training was to write the most likely next token, so it always writes something fluent. Fluent text is not evidence that the text is true.

Here is a reply from Gemma 3 4B to ticket S06, “The handle of my pruning shears broke after 4 months of normal use. Is this covered?” The policy was in the request. Rule 4 says: “Garden tools and furniture have a 2-year warranty against defects.”

Thank you for contacting Larkfield support. While our garden tools have a 2-year warranty
against defects, normal wear and tear, misuse, and rust are not covered. As the handle broke
after 4 months of use, this falls outside of the warranty period.

It is polite and it quotes the policy correctly. Then it says that 4 months is outside a 2-year period. If a busy agent reads only the first two sentences, a wrong refusal goes to the customer. Nothing in the text warns you. To fix errors like this, you must first know which kind of error it is.

A hallucination is an output that states something as a fact when the fact is not in the input and is not true. People also call it fabrication. The model does not look facts up; it continues the text with likely tokens. “A member of our team will contact you within 24 hours” is a very likely sentence in support replies. So Gemma 3 4B wrote it for tickets S03 and S04, and in the photo test. Larkfield’s policy promises no 24 hours.

Some fabrications contradict the request. Mistral 7B told the customer of ticket S02, who bought a hose 10 days ago: “Unfortunately, you’ve exceeded the return period by 20 days.” Others fill a gap. Without the policy in the request, Gemma 3 4B invented a rule for S06: “Our warranty does not cover breakage due to normal use.”

The training cut-off is the date of the newest text in the model’s training data. The model knows nothing after it, and it does not know today’s date unless the request says it. Amira asked the two small local models: “Which is the newest Claude model from Anthropic, and what does it cost per million input tokens?”

Gemma 3 4B: As of today, November 2, 2023, the newest Claude model is Claude 3 Opus. Pricing for
Claude 3 Opus is $0.001 per million input tokens, with a minimum charge of $0.50 for the first
million tokens.
Mistral 7B: As of my last update, the newest Claude model from Anthropic is Claude-3, which was
announced in May 2023. The cost per million input tokens for Claude-3 is not publicly disclosed.

Both are years out of date, and Gemma 3 4B invented “today” and a price. Mistral 7B at least said “as of my last update”. Providers publish the cut-off. For Claude Haiku, Sonnet and Opus 5.5, Anthropic’s model overview lists a “reliable knowledge cutoff” of June 2026. Larkfield’s policy is not in any training data, old or new.

Some tickets do not hold enough information for one right answer. Ticket A02 is three words: “Je veux annuler” (I want to cancel). Cancel what: an order, a return, an account? Claude Haiku 5.5 handled it well. Its reason: “The ticket asks to cancel, and the policy has no rule for cancellations, so the ticket must go to a person.” Mistral 7B guessed: “Nous vous contacterons bientôt pour vous aider à annuler votre commande” (we will help you cancel your order), and filed it under returns. The guess may be right. But the model cannot know, and the facts that it needs are with the customer.

In Predicting continuations, you saw that the model samples each token from a probability distribution. At a temperature above 0, the same request can give a different answer each time. In the running example of that lesson, Gemma 3 4B answered ticket S01 (7 business days late) five times at temperature 0.8: the needs_human label never changed, but four replies applied the wrong 15-day “lost” rule and only one gave the right free shipping.

The same test showed a pattern between languages. Ticket S01 (English, 7 days late) got needs_human false in all five runs. Ticket S07 (French, 8 days late) got true in all five. The cases are almost the same, so the language seems to change the decision. Two tickets cannot prove a bias, but they show what Module 4 must test with more tickets.

Temperature 0 makes most models repeat themselves, but not every model allows it: current Claude models reject the temperature setting with an error.

A change of words that keeps every fact can change the answer. Amira wrote ticket S01 in five ways, with the same order, the same 7 days and the same policy. For example: “Order L-20431 is 7 business days late. What are my options?” and “7 business days late now for order L-20431. Not happy. What will you do about it?” She ran each one at temperature 0, or with the default setting on Claude. The table shows needs_human (false is correct) and whether the reply applied the right rule (free shipping, not “lost”).

Model Wording 1 2 3 4 5
Claude Haiku 5.5 false, right rule false, right false, right false, right false, right
Gemini 3.5 Flash false, right rule false, right false, right false, right false, right
Mistral 7B true, right rule false, right true, right true, right true, right
Gemma 3 4B false, lost false, lost true, mixed false, mixed true, lost

In the table, “lost” means that the reply applied the 15-day rule for lost orders. “Mixed” means that it promised free shipping and a replacement. The two hosted models gave the same decision for all five wordings. The two small models changed their decision with the wording, and Gemma 3 4B never applied the free-shipping rule cleanly. On a second case (the pruning shears, 4 months old), Gemini 3.5 Flash also changed its mind once. It set needs_human to false for four wordings, and to true for the shortest one, “Pruning shears, bought 4 months ago, normal use, handle broke. What now?”

Look again at the memory boundary from the first lesson of this module. For every wrong answer, ask one question: was every fact that the answer needs in the request?

  • If no, the model had to guess. Give it the fact: paste the policy, resend the history, send today’s date and prices through retrieval, or ask the customer. This is more context.
  • If yes, and the answer is still wrong, more of the same context will not help. Something must catch the error after the answer: an outside check. It can be a rule in code: does the language label match the reply? It can be a second source, such as the price page itself. Or it can be a person, such as Camille or Grace.
A flow chart. A wrong or doubtful answer leads to a question: was every fact the answer needs in the request? If no: more context, such as pasting the policy, resending the history, or asking the customer. If yes: an outside check, such as a rule in code, a second source, or a person. A dashed arrow from more context to outside check is labelled still wrong.
One question sorts most failures. Missing facts need more context; errors made with the facts in hand need a check outside the model.
Text description of the diagram

A wrong or doubtful answer leads to one question: was every fact that the answer needs in the request? If no, the fix is more context: paste the policy, resend the history, or ask the customer. If yes, the fix is an outside check: a rule in code, a second source, or a person. A dashed arrow labelled “still wrong” goes from “more context” to “outside check”. When the context is complete and the answer is still wrong, you need the check as well.

Try the rule on the five kinds. Outdated knowledge and ambiguity are usually missing facts: more context fixes them, from a document or from the customer. Fabrication can be either. Gemma 3 4B invented a warranty rule when the policy was missing, and contradicted the rule when the policy was there. Inconsistency and wording sensitivity happen with complete context, so they need a check.

Omar asks: “So why not always add a check?” Checks cost something too: code to write, or a person’s time. Grace uses both, in order. First she makes the context complete, which is cheap and helps every ticket. Then she adds checks where an error is costly: refunds, legal threats, and replies in French until Camille trusts them.

Every card below is a real output from Larkfield’s tests. Read the input, what the model had, and the output. Then choose the fix.

Explore

More context, or an outside check?

Sorted
0 of 8
Agree with the key
0 of 0

Failure 1 of 8: read it, then choose a bin.

Failure 1 of 8 Gemma 3 4B (local)

Input
The handle of my pruning shears broke after 4 months of normal use. Is this covered?
The model had
The full policy. Rule 4: garden tools have a 2-year warranty against defects.
Output (excerpt)
As the handle broke after 4 months of use, this falls outside of the warranty period.

Answer key: Needs an outside check. Fabrication. The 2-year rule was in the request, and the model still contradicted it. More of the same context cannot fix a misreading. A check against the policy, by a person or by a test in code, can.

Source: runs/ollama_gemma3-4b.jsonl#S06

Eight real failing outputs from the recorded tests. Choose a bin for each one; the answer key and the reason then show.
Text description of the explorer

The explorer shows one failure at a time, with the input, what the model had in its request, and the failing part of the output. Two buttons choose the bin: “More context would help” or “Needs an outside check”. After a choice, the answer key and the reason appear. “Previous” and “Next failure” move between the cards. A readout counts the cards sorted and the choices that agree with the key. The answer to the prediction: a few, 3 of the 8.

The eight failures and their answers:

1. Fabrication (Gemma 3 4B (local)). Input: "The handle of my pruning shears broke after 4 months of normal use. Is this covered?" The model had: The full policy. Rule 4: garden tools have a 2-year warranty against defects. Output: As the handle broke after 4 months of use, this falls outside of the warranty period. Answer key: needs an outside check. The 2-year rule was in the request, and the model still contradicted it. More of the same context cannot fix a misreading. A check against the policy, by a person or by a test in code, can.

2. Missing context (Gemma 3 4B (local)). Input: "The handle of my pruning shears broke after 4 months of normal use. Is this covered?" The model had: No policy: the request said "(no policy given)". Output: Our warranty does not cover breakage due to normal use. Answer key: more context would help. The request held no policy, so the model made a rule up. Put the policy in the request first. With it, Claude Haiku 5.5 and Gemini 3.5 Flash named the 2-year warranty.

3. Outdated knowledge (Gemma 3 4B (local)). Input: "Which is the newest Claude model from Anthropic, and what does it cost per million input tokens? Answer in two sentences." The model had: Only the question. No date, no price page. Output: As of today, November 2, 2023, the newest Claude model is Claude 3 Opus. Pricing for Claude 3 Opus is $0.001 per million input tokens Answer key: more context would help. The model only knows its training data, so it gives an old answer and invents a price. Put today's facts in the request, for example the current price page through retrieval, and keep the link to the source.

4. Ambiguity (Mistral 7B (local)). Input: "Je veux annuler." The model had: The full policy. The ticket does not say what to cancel. Output: Nous vous contacterons bientôt pour vous aider à annuler votre commande. Answer key: more context would help. The model guessed that the customer means an order ("votre commande") and filed it as a return. The missing fact is with the customer: ask what they want to cancel, or let a person ask.

5. Inconsistency (Gemma 3 4B (local), temperature 0.8, 5 runs). Input: "My order L-20431 was supposed to arrive last week. It is now 7 business days late. What can you do?" The model had: The full policy, the same request 5 times. Output: Four runs: "orders over 15 business days late are treated as lost" (or "considered lost"), so a replacement or a refund. One run: "we can offer you free shipping on the order." Answer key: needs an outside check. The same request gave different rules: only one run of five (seed 2) is right. The context was complete. Catch it with a check: compare the reply with the rule for 7 days, or run the request more than once and compare.

6. Wording sensitivity (Gemini 3.5 Flash). Input: "Pruning shears, bought 4 months ago, normal use, handle broke. What now?" The model had: The full policy. Four other wordings of the same facts. Output: needs_human: true. For the other four wordings: needs_human: false. Answer key: needs an outside check. The facts and the policy were the same in all five wordings; only the style changed. Test several wordings before launch, and route tickets with a check that does not depend on style.

7. Fabrication from an image (Gemma 3 4B (local)). Input: "My order arrived today and the ceramic pot inside is broken. Photo attached. (Photo: a crushed, closed box.)" The model had: The full policy and the photo. Output: The photo shows a broken ceramic pot sitting on a doorstep next to a front door. Answer key: needs an outside check. The pot is not in the photo: the model took it from the text. Nothing more can be added to the request. A person must look at the photo before a refund.

8. Wrong label (Gemma 3 4B (local)). Input: "Bonjour! Quick question in English please: can I return seeds I don't need?" The model had: The full policy. Rule 7: answer in the language of the customer. Output: "language": "fr", "reply": "Bonjour! Unfortunately, seeds cannot be returned as part of our return policy. …" Answer key: needs an outside check. The customer asked for English, and the reply is in English, but the label says French. A small check in code (does the label match the reply's language?) catches it every time.

Only 3 of the 8 needed more context: the missing policy, the missing date and prices, and the missing detail from the customer. The other 5 happened with every fact in the request. This is why a good assistant needs both: complete context, and checks.

Common mistake

Taking fluent output as correct

Symptom: Tomás reads ten replies from the test and says: “They all look professional. The model is ready.” One of them is the shears reply above, which refuses a valid warranty claim.

Cause: fluency and correctness are different things. The model learned to write text that sounds like a good support reply. It did not learn to check a reply against Larkfield’s policy, and it does not signal when it is unsure. All five kinds of error in this lesson came in the same confident style as the right answers.

Fix: judge each reply against the facts, not the style. Compare it with the policy and the answer key (Module 4 builds a rubric for this). Make the context complete first. Then put a check where an error would be costly.

What it means for a real AI service: a fluent answer shows that the model can write. Only a check against the facts shows that the answer is right.

Worked example. Take the photo test from the last lesson. Gemma 3 4B wrote: “The photo shows a broken ceramic pot sitting on a doorstep next to a front door.” Ask the question: was the fact in the request? Yes: the photo was in the request, and it shows a closed box, not a pot. So more context cannot fix it, and this needs an outside check. The kind is fabrication: the model took the pot from the text of the ticket. The check: a person looks at the photo before any refund.

Your turn. Sort the six outputs below. For each one, write the kind of problem, the bin (more context or an outside check), and the fix in one sentence. One of them may not be a failure at all.

1. Mistral 7B (local). Input: "Hi, I want to return a garden hose I bought 10 days ago. I never opened it. How does it work?" The model had: The full policy. Output: "Unfortunately, you've exceeded the return period by 20 days."

2. Mistral 7B (local). Input: "I was charged twice for the same order this morning. Please fix this." The model had: No policy. Output: "We will investigate the issue and refund the duplicate charge as soon as possible."

3. Claude Haiku 5.5. Input: "OK. And if it still has not come next week, can I get my money back instead?" The model had: The policy and this message only (no earlier messages). Output: "If you tell us your order number, we can check how late it is."

4. Gemma 3 4B (local). Input: "Je voudrais retourner une chaise de jardin achetée il y a deux semaines. Elle n'a jamais servi." The model had: The full policy. Output: "Veuillez noter que les plantes et les graines ne peuvent pas être retournées."

5. Gemma 3 4B (local). Input: "Le râteau que j'ai reçu n'est pas celui que j'ai commandé. J'ai pris une photo. Je l'ai reçu avant-hier." The model had: The full policy. Output: "… pour trouver une solution. Thank you for your patience."

6. Gemini 3.1 Pro (preview). Input: "The plant I got looks sad. Is that normal?" The model had: The full policy. Output: "I am unable to determine if its condition is normal based on our current policy. A human representative will contact you shortly to assist you further."

Model answer

1. Fabrication: outside check. Ten days is inside the 30-day return window, which was in the request. The model invented a number. Check the reply against the policy.

2. Missing context: more context. Without the policy, the model cannot know the promise of 3 business days (rule 5). Add the policy; then check that the reply names the 3 days.

3. Missing history: more context. The order number and the delay were in the earlier message, which the application did not resend. Resend the history.

4. Fabrication (wrong rule): outside check. A garden chair is not a plant or seeds. The right rule (30 days, full refund) was in the request. Check the reply against the policy.

5. Language error: outside check. A French reply ends with an English sentence. Rule 7 was in the request. A language check in code, or Camille's review, catches it.

6. Not a failure: no fix needed. This is a correct abstention: the policy does not say what a "sad" plant means, so the model says so and sends the ticket to a person. needs_human is true, as the answer key says.

If you put item 2 in “outside check”, look again: the policy was missing, so the first fix is the context. A check that the reply names “3 business days” is a good second step.

Check your understanding

Recall: name the four kinds of memory from this module, and say for each one whether the model or the application controls it.

Show the answer

The weights are inside the model: training set them, and nothing changes them after that. The context window is the limit of one request; the application decides what goes into it. The application controls application history: it stores earlier turns and resends them. The application also controls retrieval: it searches its documents and pastes the relevant part into the request.

Check your understanding

Predict: Grace pastes the full policy into every request to Gemma 3 4B. Which errors from this lesson would you expect to disappear, and which would stay? Use the test results.

Show the answer

The errors caused by a missing policy disappear, such as the invented rule “Our warranty does not cover breakage due to normal use”. Errors made with the policy present stay. In the recorded runs, the policy was in every request. Gemma 3 4B still said that 4 months is outside a 2-year warranty, and still promised “within 24 hours”. It still applied the 15-day “lost” rule to a 7-day delay in four of five runs. Those need an outside check.

Check your understanding

Completion check: Omar says the replies read so well that a person no longer needs to check them. Explain to him why fluent output does not show that a reply is correct, with one example from the tests.

Show the answer

Training taught the model to continue text with likely tokens, so it writes fluent, confident text whether the facts are right or not. It has no built-in signal that says “this part is a guess”. For example, Gemma 3 4B wrote a polite reply that quoted the 2-year warranty correctly. Then it said that a 4-month-old tool is outside the warranty. The style was the same as in its correct replies. Only a check against the policy shows the error. So Larkfield keeps a person, or a rule in code, on the replies where an error is costly.

Recap

  • Fabrication (hallucination): fluent statements with no support in the input, such as “within 24 hours”. Outdated knowledge: nothing after the training cut-off. Ambiguity: the input allows more than one answer. Inconsistency: different answers to the same request. Wording sensitivity: different answers to the same facts in other words.
  • Ask one question: was every fact in the request? If not, add context. If yes, add an outside check. In the sorter, 3 of 8 real failures needed context, and 5 needed a check.
  • Module 2 in short: the model keeps nothing between requests and uses only its fixed weights and the window you send. A large window does not mean reliable recall. Thinking tokens buy better decisions at a price, and the thinking text is not proof. An image is more input, not proof. And fluent output is not evidence: check the facts.

This module ran nothing on your computer, so there is nothing to reset. Each lesson’s source note names the test scripts and their logs.

Next, Module 3 looks at how you get a model: as a hosted service, or as weights on your own hardware.

Next: Hosted and self-hosted choices