Contextual Retrieval: Better RAG
Adding context to chunks before retrieval — Anthropic's upgraded RAG approach
THE QUESTION THIS PAGE ANSWERS
ANSWER FIRSTWhat is the key idea behind “Contextual Retrieval: Better RAG”?
Adding context to chunks before retrieval — Anthropic's upgraded RAG approach
Make the claim earn its place. Use this page as a decision aid, not a definition to memorize. Connect the idea to one real task, one observable result, and one failure that would change your mind.
Write one question you could answer with evidence after trying this idea.
A conclusion that sounds complete but leaves the key assumption untested.
The traditional RAG workflow: split a document into small Chunks, vectorize each Chunk, retrieve the most similar Chunks when a user asks a question, then feed the Chunks to the LLM to generate an answer. This workflow has one fatal flaw:
Chunks become ambiguous when stripped of context
Use an LLM to prepend a context prefix to each Chunk before Embedding
Retrieval Failure Rate Reduction
No Free Lunch
Why “The Core Problem with Traditional RAG” can find relevant content
“The traditional RAG workflow: split a document into small Chunks, vectorize each Chunk, retrieve the most similar Chunks when a user asks a question, then feed the Chunks to the LL…” moves retrieval beyond storing material: the real question is how to find what is relevant. That decision shapes the input quality of RAG, recommendation, and image-search systems.
Similarity is not the answer
In the flow described by “The traditional RAG workflow: split a document into small Chunks, vectorize each Chunk, retrieve the most similar Chunks when a user asks a question, then feed the Chunks to the LL…”, embeddings place items in a comparable semantic space and a neighbor index narrows the search. The final answer still depends on whether the retrieved chunks cover the question, whether the distance metric fits, and whether the evidence is current.
Separate findable from relevant
Turn “The traditional RAG workflow: split a document into small Chunks, vectorize each Chunk, retrieve the most similar Chunks when a user asks a question, then feed the Chunks to the LL…” into a small test: prepare queries with known answers, record relevance, misses, and distractors, then decide whether chunking, the index, or reranking needs to change.
From “The Core Problem with Traditional RAG” to “The Core Idea of Contextual Retrieval”
“The Core Problem with Traditional RAG” grounds the problem in “The traditional RAG workflow: split a document into small Chunks, vectorize each Chunk, retrieve the most similar Chunks when a user asks a question, then feed the Chunks to the LLM to generate an answer. This…”. “The Core Idea of Contextual Retrieval” then moves it toward “Use an LLM to prepend a context prefix to each Chunk before Embedding The idea is elegantly simple: before vectorizing each Chunk, have an LLM read the entire document and generate a brief contextual descriptio…”. Together, they show that the lesson is not just a conclusion to remember, but a claim with conditions.
Carry the judgment into the next situation
The same logic applies to retrieval: define what counts as relevant, check whether recall covers the question, and then inspect whether ranking, chunking, or freshness pushed useful evidence out.
- “The Core Problem with Traditional RAG”: The traditional RAG workflow: split a document into small Chunks, vectorize each Chunk, retrieve the most similar Chunks when a user asks a question, then feed the Chunks to the LLM to generate an answer. This…
- “The Core Idea of Contextual Retrieval”: Use an LLM to prepend a context prefix to each Chunk before Embedding The idea is elegantly simple: before vectorizing each Chunk, have an LLM read the entire document and generate a brief contextual descriptio…
- “The closing point”: The traditional RAG workflow: split a document into small Chunks, vectorize each Chunk, retrieve the most similar Chunks when a user asks a question, then feed the Chunks to the LLM to generate an answer. This…
The final “The closing point” brings the discussion to “The traditional RAG workflow: split a document into small Chunks, vectorize each Chunk, retrieve the most similar Chunks when a user asks a question, then feed the Chunks to the LLM to generate an answer. This…”. The useful thing to carry forward is knowing which judgments must be revisited when input, scale, or risk changes.
I turned one judgment from this article into a small experiment I could run today. Knowing what to observe next is more useful than simply remembering the conclusion.
After reading this, I first looked for the conditions behind the idea instead of copying the method into a project. That order made the later trade-offs much clearer.
When this judgment reaches real work, which constraint should be added first? I am curious which step matters most between reading and the first practical attempt.
No discussion on this article yet.