All posts
Blog

California was an island for a hundred years. So is your chatbot

  • knowledge base
  • AI hallucinations
  • RAG

In 1622, something new shows up on European maps of North America. The Baja California peninsula, previously drawn as part of the mainland, starts appearing as a separate island — a long, carrot-shaped piece of land cut off from the continent by a narrow strip of water. The error spreads across Europe and stays in the cartography for the next hundred-odd years.

The Spanish had already known better. In 1539 Francisco de Ulloa’s expedition sailed the coast and confirmed California was attached to the mainland. But eighty years later a Spanish clergyman, Antonio de la Ascensión, who had sailed the same coast in 1602–1603, started claiming the opposite — reportedly to undercut Francis Drake’s English territorial claims on that coastline. His version made it onto a map. That map got copied by someone else, then by someone else again. Nobody sailed back to check. People kept copying the source, not the terrain.

The error was stubborn enough that fixing it took intervention from the top. The Jesuit Eusebio Kino argued as early as the start of the 18th century that it was a mistake — nobody believed him. It took until 1747 for King Ferdinand VI of Spain to issue a decree officially stating that California is not an island. Even that wasn’t enough. As late as 1865, a hundred and eighteen years after the decree, a Japanese map still showed California surrounded by water on every side. Stanford’s Glen McLaughlin Collection holds close to 750 maps with the same error today — McLaughlin spent forty years collecting them, because each new find kept turning out to be a copy of the last one, not a new survey.

The same thing happens when you ask a chatbot for a price

Seventeenth-century cartographers weren’t lying. They drew what they’d seen on another map, fully convinced it was fact. A chatbot with no knowledge base of its own does exactly the same. Asked about your return policy, it doesn’t say “I don’t know” — it answers from whatever the model saw during training: an averaged version of how returns usually work in e-commerce. It sounds confident, it sounds specific, and for your company it’s usually wrong.

What actually breaks

Three things, from the most visible to the most expensive.

The bot states numbers that appear in none of your documents. A price, a delivery time, a warranty term. The language model has no access to your price list, so it generates something that statistically fits the question — a number that sounds like a price, not the price.

The customer treats the answer as binding. That’s the difference between a chatbot and a person who gets something wrong. A person says “let me check and get back to you.” The bot speaks with the same confidence whether it’s quoting your terms or making them up. The customer has no way to tell the two apart, because the answer looks identical either way.

The company finds out from a complaint, not from a test. Someone comes back saying “the bot promised me a refund within 24 hours,” the team checks the terms, and no such clause exists. Now there’s a decision to make: honour what the bot said, or explain to the customer that the machine got it wrong. Both options cost something, and neither was planned for.

Why chatbots make things up in the first place

This isn’t a bug you can switch off. It’s a consequence of how a large language model works — and it’s worth understanding the mechanism, because that’s what tells you what actually fixes the problem and what just masks it.

Where does the bot get its answer, if not from your documents?

A language model has no fact database about your company. It has a statistical pattern of what text on a given topic usually looks like, learned from a huge body of text scraped from the internet. Asked about something specific that wasn’t in its training — your current price list, say — it doesn’t return an error. It finishes the sentence the way the most probable sequence of words would finish it. That’s the whole mechanism behind hallucination: the model has no “I don’t know” mode, only a “most probable completion” mode.

Does every AI model have this problem?

Yes, to varying degrees, regardless of how large or expensive the model is. More scale improves fluency and general knowledge; it doesn’t remove the mechanism. A model without access to your data will always have a gap between what it knows and what you’re asking, and it will always fill that gap with something, because that’s what it’s built to do.

Does a better prompt fix it on its own?

Partly, and only up to a point. An instruction like “only answer with facts you’re certain about” reduces the number of hallucinations, but doesn’t remove the cause — the model still has no access to your price list, it just says “I don’t know” more often instead of guessing. That’s an improvement, not a fix. A chatbot that answers “I don’t know, please contact sales” to half of all pricing questions is safer, but not very useful.

What actually closes the gap

The only way to get a model to answer with facts instead of a statistical pattern is to give it access to the facts at the moment it answers — not during training, at every single question. The technical name for this is RAG, retrieval-augmented generation: the system first finds the fragments of your documents that match the question, attaches them to the prompt, and only then does the model generate an answer. The model still doesn’t “know” anything for certain, but it has the right piece of text in front of it to quote, instead of guessing from memory.

What a knowledge base won’t fix

To be straight about it: connecting documents to a bot doesn’t take hallucinations to zero.

If your documents contradict each other — an old price list sitting next to a new one, nobody removed the old one — the bot gets handed two fragments to choose from and might pick the wrong one. A knowledge base is only as good as the documents in it, and only as current as how often someone updates them.

It also won’t fix questions you have no written answer to at all. If a customer asks about something that isn’t in any document, a well-configured bot will say “I don’t know, let me check” instead of making something up — but that still means someone has to fill that gap by hand, at least once.

What to do about it

Two things you can check this week, before you even think about changing tools.

1. Ask the bot ten questions you already know the right answer to. Price, delivery time, return terms, contact details. Write down how many it gets right. It’s the simplest hallucination audit there is, and most companies have never run it.

2. Check whether your own documents agree with each other. Before you blame the model for making things up, confirm the price list on your site matches the PDF people download. It often turns out the bot isn’t hallucinating at all — it’s faithfully quoting a document that’s out of date.

How this works here

In Chatmerce the bot answers from a knowledge base you upload yourself — PDFs, URLs, plain text. The same knowledge base feeds every channel and every agent, so there’s no separate version of “the truth” for the widget and another for RCS. You control what the bot knows by editing the source documents — no prompting required, no fine-tuning.

That doesn’t remove the need to keep your documents in order. What it does remove is the situation where the bot answers from the model’s general knowledge because it has nothing else to draw on.

If you suspect your bot is making things up and don’t know what it’s costing you, get in touch — we’ll walk through those ten questions on your own account. More on keeping channels consistent: Ferrari, a children’s hospital, and two different answers for the same customer.


Sources for the cartography history: Public Domain Review, Maps Showing California as an Island; the Glen McLaughlin Collection, Stanford University Libraries (nearly 750 maps, Ferdinand VI’s 1747 decree, the 1865 Japanese map as the last known example of the error). Text current as of September 2026.