Why Your AI Has Amnesia (And What RAG Is Trying to Fix)
Why Your AI Has Amnesia (And What RAG Is Trying to Fix)
The Confident Lie
Picture this. It's a Tuesday morning. You've just gotten back from a long weekend and you want to know how many vacation days you have left. Instead of digging through an ancient PDF buried in your company's shared drive, you ask the company's new AI assistant — let's call it Polly — "Hey Polly, how many vacation days do I have left this year?"
Polly doesn't hesitate. Not even a beat. It cheerfully replies:
> "Based on your company's standard policy, employees receive 15 days of paid vacation per year. After a long weekend, you would have 13 days remaining."
You nod. That sounds about right. You move on with your day.
Two weeks later, you ask the same question in a slightly different way: "Polly, what's our PTO policy at the moment?"
Same Polly. Same friendly tone. Completely different answer:
> "Your company offers a flexible PTO policy where employees can take unlimited time off, with manager approval. There is no fixed cap on remaining days."
Wait, what? Last time it was 13 days. Now it's "unlimited"? You ask a third question — "How many PTO days have I used so far this year?" — and Polly confidently tells you:
> "Based on typical usage patterns, employees use an average of 8 to 12 vacation days per year. You have likely used between 6 and 9 days."
Three questions. Three different answers. None of them are correct. None of them match what's actually in the company handbook. And the worst part? Polly was *completely confident* about every single one. No hedging, no "I'm not sure," no "you might want to double-check." Just clean, polished, wrong sentences.
This isn't a made-up scenario. This kind of thing happens every single day in companies that have rushed to deploy AI assistants built on top of large language models — the kind of models that power ChatGPT, Claude, Gemini, and their cousins. It doesn't just happen with vacation policies either. It happens with product specs, legal clauses, internal procedures, customer account details, medical protocols, financial regulations, and engineering runbooks. Anywhere there's a specific fact the AI doesn't actually know, it will confidently fill in the gap with something that *sounds* right but isn't.
The cost of these confident lies is real. In 2023, a U.S. law firm was sanctioned after submitting a legal brief that cited six fictitious cases generated by ChatGPT. In 2024, a Canadian airline was ordered to pay damages after its chatbot misrepresented its bereavement fare policy to a customer. A medical AI once recommended a drug dosage that was ten times the safe limit because it had been trained on data that included old, incorrect journal articles. These aren't hypothetical risks; they're documented incidents. And underneath every one of them is the same root cause: an AI that *cannot tell the difference between what it knows and what it's making up*.
So why does this happen? And — more importantly — what do we do about it?
Here's the short version: a Large Language Model (LLM) is, at its core, a wildly sophisticated autocomplete engine. When you ask it a question, it doesn't "look up" an answer. It predicts the next word, then the next, then the next, based on patterns it learned during training. Those patterns include correct information, outdated information, conflicting information, and (because language is weird) outright nonsense. The model has no internal "true" database it can query. It just keeps predicting tokens until it has something that *looks* like a complete answer.
This is why LLMs hallucinate. This is why their answers sometimes contradict themselves. This is why their knowledge stops on a specific date and never updates unless someone retrains them. And this is why a company that drops a vanilla chatbot into its Slack channel is, statistically speaking, going to embarrass itself within a week.
The good news is that the fix is conceptually simple, even if the engineering takes some care. The fix is called Retrieval-Augmented Generation, or RAG. And it's the topic of this entire book.
Before we get into what RAG is, let's be precise about what it's solving. That means understanding, in detail, the four reasons your AI confidently tells you lies.
---
Four Reasons Your AI Makes Stuff Up
When an LLM gives you a wrong answer, it almost always traces back to one (or more) of four root causes. Let's walk through each one carefully, because once you see them clearly, the design of RAG will feel almost inevitable.
Reason 1: There's a Wall Called the Knowledge Cutoff
Every LLM has a knowledge cutoff date. This is the latest point in time at which the training data was collected. For GPT-4-turbo, the cutoff was December 2023. For Claude 3.5 Sonnet, it was April 2024. For Gemini 1.5 Pro, it was around early 2024. The numbers change as new model versions roll out, but the principle doesn't: at some point, the model stopped learning.
What this means in practice is that anything that happened after the cutoff — new laws, new product launches, new executives, new bug fixes, new pricing — simply doesn't exist in the model's "brain." If you ask a model with a December 2023 cutoff who won the 2024 World Series, it has no idea. If you ask it about a feature that shipped in January 2024, it'll either say "I don't know" or (more dangerously) it'll guess based on related patterns and *sound* like it knows.
Even worse, the cutoff is uneven. The model might know about a major news event from November 2023 because that was heavily represented in its training data, while being completely ignorant about a smaller but equally important event from December 2023. The cutoff isn't a sharp wall; it's a foggy gradient, and you don't know exactly where the model becomes unreliable.
For consumer questions ("Who is the current CEO of X?"), this is annoying. For business questions ("What is the latest version of our internal API?"), it's catastrophic. Your company's APIs are *never* in the training data of any general-purpose LLM, because they're private. Which brings us to the next reason.
Reason 2: Your Private Data Doesn't Exist in the Model
This one is fundamental. When OpenAI, Anthropic, or Google trains a general-purpose model, they train it on a giant corpus of public text: web pages, books, Wikipedia, GitHub repositories, public forums, and so on. They do not train it on your company's internal wiki, your customer support tickets, your Salesforce database, your Notion pages, or your secret sauce recipe.
So when you ask the model about something specific to your organization, you're asking about information it has *literally never seen*. The model is in the same position as a new hire who started yesterday and hasn't been given access to the company intranet. But unlike that new hire, the model doesn't *say* "I haven't been given that information." It improvises.
Here's a concrete example. Imagine you work at a company called Acme, and your internal pricing for the "Enterprise Plus" tier is $49,000 per year, with a 30% discount if paid annually. If you ask a vanilla LLM "What does Acme charge for Enterprise Plus?", the model will know what the word "Acme" looks like (it's a common word, also a cartoon company), and it will know what enterprise software pricing generally looks like. So it'll synthesize something plausible — maybe "$50,000 per user per year" or "$25,000 annually with a custom quote." The answer will sound reasonable. It will be totally wrong. And because the model has no way to check its answer against reality, it will deliver this wrong number with the same confidence as if it were correct.
The same problem applies to legal contracts, medical protocols, internal Slack threads, customer-specific terms, and proprietary research. Private data is invisible to the model, and yet private data is exactly the kind of data we most want our AI assistants to handle well.