If your RAG system gives wrong answers, the model is almost never the problem. The retrieval step handed it the wrong context, and a frontier model will confidently reason over wrong context all day. In 2026 the hard part of retrieval-augmented generation is retrieval. Generation has been a solved-enough problem for a while.
We build a lot of RAG-backed agents, and the teams that get good results are the ones that stopped treating the vector database as a magic box and started treating retrieval as a pipeline they own end to end.
The single-vector-search era is over
The naive pattern, embed the query, pull the top-k by cosine similarity, stuff it in the prompt, was always going to plateau. Bi-encoder similarity is fast and cheap, but it's a coarse filter. It gets you near the answer, not on it. The 2026 baseline has moved to a two-stage pipeline:
- Retrieve broadly. Pull the top 50 to 100 candidates from your vector index with bi-encoder embeddings. Optimize this stage for recall: you want the right chunk to be somewhere in the candidate set.
- Rerank precisely. Run those candidates through a cross-encoder that scores each (query, chunk) pair jointly. Cross-encoders are slower because they actually read the query and chunk together, but they're far more accurate at ordering. Pass the top 3 to 10 reranked chunks to the model.
The split matters because the two stages have different jobs. Stage one maximizes the chance the answer is in the pile. Stage two makes sure the best chunks float to the top. Skipping the reranker is the most common reason a RAG system feels "almost right" but keeps missing.
More context is not better context
There's a tempting shortcut now that context windows are huge: just throw everything in. Don't. Cost and latency scale with tokens, and most of those tokens are noise. Worse, retrieval quality degrades when you dilute relevant chunks with marginal ones. Practitioners call the long-context version of this "context rot": past a point, adding tokens makes the agent worse, because the model has to find the needle in a bigger haystack. Retrieve the minimum sufficient context, not the maximum available. Five highly relevant chunks beat fifty mediocre ones almost every time.
Chunking is a per-document decision
There is no universal best chunk size. The goal is chunks that are semantically complete: each one should answer a question on its own. Fixed-size chunking is fine for uniform prose; semantic chunking splits where the subject actually changes; recursive/structural chunking respects headings and code blocks, which matters for technical docs and contracts. Pick per corpus, and measure. Get this wrong and no reranker will save you, because the right answer was never a clean chunk to begin with.
Agentic and adaptive retrieval
The bigger shift in 2026 is letting the model drive retrieval. In agentic RAG, the agent retrieves, checks whether what it got actually answers the question, and if not, reformulates and tries again. One pass becomes a small loop with a quality gate. The state of the art layers adaptive routing on top: a lightweight classifier reads the query and routes it to the right strategy by complexity, so a simple lookup gets one fast retrieval and a multi-part question gets decomposition.
The through-line is the same as everywhere else in agent engineering: verification beats blind trust. An agent that checks its retrieved context before reasoning over it is the retrieval-layer version of the QA discipline we argued for on the code-generation side: AI writes 4x the code, here's the QA layer that stops 4x the bugs.
Key takeaways
- In 2026, RAG quality is a retrieval problem. Wrong context produces confident wrong answers regardless of model.
- Run retrieve-then-rerank: 50 to 100 bi-encoder candidates, then a cross-encoder to pick the top 3 to 10.
- More context isn't better. Dilution and context rot make over-stuffed prompts worse and pricier.
- Chunk per document type and measure. Semantically complete chunks matter more than any fixed size.
- Let the agent drive retrieval (agentic RAG) and route by query complexity (adaptive RAG).
FAQ
Do I still need a vector database if context windows are huge?
Yes. Long context doesn't fix relevance, and stuffing your whole corpus in is expensive and degrades quality via dilution. Retrieval narrows to what matters.
Is a reranker worth the latency?
Usually, yes. The cross-encoder stage is where "almost right" becomes "right." If your answers are close but keep missing the best source, add reranking first.
What's the difference between agentic and adaptive RAG?
Agentic RAG loops until the context is good enough. Adaptive RAG classifies the query up front and routes it to the cheapest retrieval strategy that will work. They compose well together.
If you're tuning a RAG pipeline and the answers are close but wrong, that's almost always retrieval, and we enjoy this problem. Happy to compare pipelines with anyone building in the space at Shanti Infosoft.
Top comments (0)