Most People Fight AI Hallucinations Wrong. Here’s What Actually Works.

Your AI doesn’t know it’s lying.

That’s the frustrating part. You ask for a status report based on an email thread. It hands you something clean: owner named, status set, next steps listed. Looks done. Then you check the actual emails and realize nobody in that thread was ever named the owner. The model invented one. A filled field reads more finished than a blank one, so it filled it. The same thing happens in contract review: the model cheerfully confirms a clause exists when that clause was only in an earlier draft you never pasted in.

This isn’t a glitch. It’s the model doing exactly what it was rewarded for.

Most people respond by adding phrases like “be accurate” or “double-check yourself” to their prompts. That does nothing. The behavior isn’t about the model’s mood. It’s baked into how it was trained. People consistently preferred complete, confident answers over hedged ones, so “helpful” came to mean “finish the output,” not “stop and tell me what you couldn’t find.” When the model hits a gap, it closes it with something plausible, in the exact same calm voice as the real facts. The fabrication doesn’t announce itself. There’s no asterisk, no lowered confidence, no hesitation. It reads exactly like a true answer.

The old way: fight hallucinations by asking the model to check its work. It happily re-confirms its own invented answer with a confidence score of 9/10.

The new way: give the model explicit permission to be incomplete.

🔑 The UNKNOWN Token

One prompt engineer on Reddit spent months on this problem before landing on a solution that actually works. The core move: introduce a literal token the model can write when it can’t find evidence in your sources. Call it UNKNOWN. Here’s the instruction, ready to paste:

Summarize / review / report on the material below.

Rule: ground every field strictly in the source material I give you.
If you cannot find direct evidence for a field, write UNKNOWN.
Do not infer, assume, or guess. A blank you can see beats a fabrication you cannot.

[paste your source material]

That’s the whole thing. No jailbreak, no fine-tuning, no extra tooling required.

Why It Works (Three Moving Parts)

There are three things doing the actual work here, and once you see them you can adapt this for any accuracy-critical task:

  • ⚙️ “Do not infer, assume, or guess” is load-bearing. Without this line, the model treats a blank field as a problem to solve and quietly solves it. This is the line that changes that. Even “only use the source material” falls short, because the model can still infer from context within that material and present the inference as fact.
  • 🔍 The literal token matters. A blank space looks like an oversight. The word UNKNOWN sitting where a fact should be is a flag you can search for, count, and chase down. It makes gaps actionable. If you’re reviewing ten documents, a quick Ctrl+F for UNKNOWN shows you exactly where your sources ran out.
  • Add a task-specific layer on top. For document review, give it per-item tokens: COVERED, PARTIAL, or UNKNOWN instead of one verdict for the whole doc. For research briefs, pair UNKNOWN with a source note so every claim either cites where it came from or gets flagged. For multi-project status updates, a single UNKNOWN column in your output table tells a manager at a glance exactly where follow-up is needed.

Before and After

Same emails. One added instruction. Here’s what changes:

Weak prompt output: Owner: Likely the project manager

Patterned output: Owner: UNKNOWN. No explicit assignment found in sources.

The fabrication that was invisible became a gap you can act on.

There’s also a permissive variant for when you want the model’s reasoning visible alongside the gap. Ask it to write UNKNOWN [its reasoning in brackets]. The field stays UNKNOWN so nothing fabricated slips through, and the bracket shows you the model’s thinking without letting it pose as confirmed fact. This is especially useful when you’re trying to figure out whether a gap is worth chasing or whether the source material was simply incomplete to begin with.

When Not to Use This

This is the wrong tool for brainstorming or early exploration. Forcing UNKNOWN on creative work kills the generative flow you came for. Reach for it when a wrong answer is worse than a blank one: status reports, contract review, research briefs, audit trails. Leave it on the shelf when you actually want the model to speculate or ideate freely.

What didn’t work before this: “be accurate,” “only use the source material” (the model still filled gaps by inferring from context), and confidence scores (the model graded its own fabrications HIGH). You have to ground the field first. Then grade what survives.

Add UNKNOWN to your prompt kit for any output someone else will act on. It won’t make your AI smarter. It will make its blind spots visible, which is the more useful thing.

Frequently Asked Questions

Q: Is UNKNOWN just for data extraction from documents?

No. While the post focuses on emails and reports, it’s especially powerful in compliance workflows where confident-but-wrong answers are worse than missing data. You can adapt it for any task where evidence matters: fact-checking, research summaries, decision support, or claims verification. The key is having clear sources to ground against.

Q: Won’t saying “avoid speculation” or “ground in sources” already prevent this problem?

Not quite. Models are trained to prefer complete, confident answers, so blank fields feel like failures to fix. UNKNOWN works because it gives two things: explicit permission to be incomplete AND a literal token to write. Without the token, the model still senses pressure to fill gaps. The token makes incompleteness machine-readable.

Q: How do I know if UNKNOWN is actually working?

Spot-check your results. In compliance contexts, verify that each UNKNOWN marks genuinely unfindable information, not laziness. If your model uses UNKNOWN for roughly 10-20% of fields, you’re probably calibrated right; if it’s near 0% or very high, something’s off. Some users even track UNKNOWN count as a control metric.

Q: Is this part of a larger prompting system?

Yes. One commenter mentioned UNKNOWN is the first of four ordered “NerdyChefs patterns” that work together as a system. The author’s advice is to start with UNKNOWN, test it on real work, then layer additional patterns as needed. This approach builds complexity only after proving the foundation works.

I got tired of my AI inventing facts into blank fields, so I built one instruction that stops it. Here is the whole thing.
by u/Difficult-Sugar-4862 in PromptEngineering

Scroll to Top