AI for beginnersGuide
Why AI makes things up and 4 prompt habits that reduce it
What AI hallucinations are, why a model sounds sure and is wrong, and four copy-paste prompt habits with a before/after example for your own documents.

On this page
- Why a model sounds sure when it's wrong
- Four habits that reduce made-up answers
- 1. Allow "I don't know"
- 2. Quote first, answer second
- 3. Make it cite, and drop what it can't back up
- 4. Restrict it to the text you gave it
- Before and after on one example
- All four habits in one API request
- What quoting costs
- What these habits don't fix
Your rental agreement has no late-fee clause. You ask a chatbot what the late fee is, and sometimes it answers with a percentage and a due date. Confident, specific, and made up.
That is a hallucination: the model writes fluent text that is factually wrong or doesn't match the context you gave it. Anthropic's documentation on reducing hallucinations (page checked 27 October 2026; it carries no publication date) says even the most advanced models do this sometimes, and it lists the habits that help. Four of them fit inside a prompt, and you can paste them as they are below.
Why a model sounds sure when it's wrong#
A language model doesn't look facts up. It continues text: given everything so far, it picks the words that most likely come next. Think of the autocomplete on your phone, only far better read. When the true answer is something the model learned, the likely words and the true words line up. When it isn't, the likely words are still fluent, and fluent sounds like sure.
Two situations explain a lot of the made-up answers you'll meet:
- The fact isn't in the model. It happened after the model's training ended, or it sits in your private document that the model has never seen. Ask about last month's news and you may get a confident answer built from older patterns.
- The fact is missing from your document, but the question assumes it exists. The model fills the gap. Picture a student who has to write something for every exam question and is never allowed to leave one blank.
Try it yourselfTry it: what does a model do with a question your text can't answer?Show answer
Paste a short text into a chat (a menu, a policy, a recipe) and ask about a detail it clearly doesn't contain, such as the price of a dish that isn't listed. Read the reply. Some answers say the text doesn't mention it. Others invent a plausible detail. Which one you get depends on the model and on your wording, and the four habits below push it toward the first.
Four habits that reduce made-up answers#
Say you pasted a rental agreement and want the late fee. This agreement has no late-fee clause, and it will be our test case from here on.
1. Allow "I don't know"#
A model that believes every question must be answered will answer it. Tell it that's not the rule:
If the document doesn't say, answer exactly: "Not stated in the document."
Do not guess.Anthropic lists this as the first, simplest step: explicitly give the model permission to admit it doesn't know.
2. Quote first, answer second#
For long documents (Anthropic's guidance draws the line at about 20,000 tokens, roughly 15,000 words), ask for word-for-word quotes before any analysis, and make the answer rest on them:
First, copy the sentences relevant to my question, word for word,
under the heading "Quotes". If there are none, write "No relevant quotes."
Then answer using only those quotes.The model has to point at text that is really there before it concludes anything. Reading the quotes also takes you five seconds.
3. Make it cite, and drop what it can't back up#
Ask for a supporting quote after each claim, then have the model check itself:
After each claim, put the supporting quote in brackets.
Then re-read your answer: if a claim has no quote, delete it.This is Anthropic's verification step: no quote, no claim.
4. Restrict it to the text you gave it#
Use only the document between the <document> tags.
Do not use outside knowledge.Anthropic lists limiting outside knowledge to the provided documents among its advanced techniques. It is also the habit to copy if you are building a bot on your own docs: the bot answers from your pages, not from memory.

Before and after on one example#
Same agreement, same question, two prompts. The left one is how most of us start.
Compare
Same question, two prompts
Before
Here is my rental agreement:
[agreement text]
What is the late fee?A model that feels it must answer may give you a number.
After
<document>
[agreement text]
</document>
Question: What is the late fee?
Use only the document above. First copy the relevant
sentences word for word under "Quotes" (or write
"No relevant quotes."). Then answer using only those
quotes, with the quote in brackets after each claim.
If the document doesn't say, answer exactly:
"Not stated in the document."The answer you are aiming for here: "No relevant quotes." and then "Not stated in the document."
The "after" prompt is longer, and that is fine: you write it once and reuse it.
All four habits in one API request#
If you call a model through the API, the habits go into the system message and your document goes into the user message, wrapped in tags. This request uses the CheapTokens OpenAI-compatible endpoint; the key comes from an environment variable, and the full model id is MiniMaxAI/ (take ids from the CheapTokens docs, because names differ between providers).
curl https://api.cheaptokens.dev/v1/chat/completions \
-H "Authorization: Bearer $CHEAPTOKENS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "MiniMaxAI/MiniMax-M2.7",
"messages": [
{"role": "system", "content": "Use only the document in the <document> tags. No outside knowledge. First list word-for-word quotes relevant to the question under “Quotes”, or write “No relevant quotes.” Then answer using only those quotes, with the quote in brackets after each claim. If the document does not say, answer: “Not stated in the document.”"},
{"role": "user", "content": "<document>[paste the agreement here]</document> What is the late fee?"}
]
}'The reply is in choices[0].. If this is your first call, Your first API request with CheapTokens walks through the key and the balance step by step.
What quoting costs#
Quoting makes the answer longer, and on most models the answer is the pricier side of a request (see input vs output tokens). The quote-first habit is therefore cheap to afford but not free.
Say a 40-page report is about 25,000 tokens and the quotes plus the answer come to about 1,500. One such request on MiniMax-M2.7 costs $0.0015. The table shows the same request on every model, with an OpenRouter column, so you can compare in total, with input and output counted together:
| Model | Input $/1M | Output $/1M | Cost | OpenRouter |
|---|---|---|---|---|
| GLM-5.3-Flash | $0.02 | $0.04 | $0.00056 | $0.00096 |
| DeepSeek-V4-Flash | $0.015 | $0.10 | $0.00053 | $0.002 |
| MiniMax-M2.7 | $0.05 | $0.15 | $0.0015 | $0.0177 |
25,000 input and 1,500 output tokens in total. Prices per 1M tokens are current and change together with our tariffs; the OpenRouter column shows reference prices for the same workload.
MiniMax-M2.7 takes a 180K context and up to 8,192 tokens in an answer at one fixed price at any hour, so a 25,000-token report and a long quoted answer both fit. Current prices are on the pricing page, and the models are described in the docs.
What these habits don't fix#
They reduce made-up answers a lot, but they don't remove them. Anthropic says so directly: check anything important. In a contract that means the numbers, dates and names, against the original page.
Two more tricks from the same page are worth knowing. Best-of-N: ask the same question a few times and compare, because a detail that changes from run to run is a sign the model is guessing. An identical request can come back as an identical reply, so change the wording a little or the temperature (see system prompt and temperature). And a thinking mode lets the model check its own reasoning before it answers, which costs extra tokens (why thinking costs more).
Checklist
Before you trust an answer built on your documents



