Skip to content
Expedify
Building Production-Ready AI Agents

Module · M2 · Ground the decision

Why an ungrounded agent is fluently wrong

Lesson 4 of 21 · 7 min

A language model, asked a question, produces the most probable continuation of the text so far. That is the whole mechanism. There is no separate step in which it checks whether it knows the answer, because there is no place in it where knowing and not-knowing are stored differently.

This has one consequence that matters more than all the others: a fabricated fact arrives in exactly the same register as a true one. Same confidence, same tone, same level of specific detail. The model is not lying, and it is not uncertain-but-hiding-it. It has produced the most plausible-looking answer, and plausibility is precisely what makes a wrong one hard to catch.

What it looks like when it happens to you

An agent was asked to escalate a case to the account manager. It escalated it to a colleague, by name, with an email address. Neither exists. The organisation it was working in has a Varun Menon and an Omkar Menon; the agent produced a “Raj Menon”, which is close enough to the real distribution of names in that company to survive any skim.

The invention was not random, and that is the problem. It was drawn from the same distribution as the truth. A fabrication that looked obviously wrong would be harmless — you would catch it. The ones that survive are the ones shaped like the surrounding facts.

Why “prompt it better” is the wrong reflex

The natural response is to write a firmer instruction. Here is what that actually does, measured on one task: an agent was asked to carry an account’s identifier through to a downstream step. Three attempts, each more precise than the last.

Two attempts at the same instruction. The second is the more precise one.

“copy the id column”

What it produced
the account’s name
How the failure behaves
wrong, and obviously wrong — you catch it in the first test

“it is a UUID, 36 characters, NOT the name”

What it produced
9e4f7c2a-8b3d-4f5a-9d2f-3b7e6a1c2d4f
How the failure behaves
wrong, and invisible — correctly formed, passes every shape check, and matches no record anywhere in the system

Tightening the wording did not make it more accurate. It made the error better camouflaged. The first mistake announces itself. The second one attaches a decision to a record that does not exist, silently, forever. Precision in the instruction bought precision in the format, which is the one thing that was never the problem.

The rule that follows is short and it is the reason module 2 exists: you cannot prompt your way to a fact. An instruction can shape how an answer is expressed. It cannot put information into the model that was not there. The only fix is to hand the fact to it — from a document, or from a record — and to make that handover a step rather than a suggestion.

What grounding does not fix

Worth being precise, because the promise gets oversold. Grounding covers what you put in the corpus, and nothing else. The agent that invented a colleague had a knowledge base attached and was quoting from it accurately at the time. Its policy answers were grounded; its org chart was not, so the org chart is where it made something up.

A practical test you can apply to any agent output. For each fact in the answer, ask where it came from: the input, or a tool result you can point at. Anything left over — a name, a number, an identifier, a date — is a guess wearing a suit. In module 4 this stops being a habit you practise and becomes a node that checks.