The
AI Evals

RAG vs Long Context: I Ran a Retrieval Benchmark So You Don't Have To

Sunny Pal Singh · · 9 min read

The "RAG is dead, use long context" debate misses the point. I benchmarked both approaches on the same retrieval task across 4 models. Here's when each wins, what it costs, and what the tradeoffs actually look like.

RAG vs Long Context: I Ran a Retrieval Benchmark So You Don't Have To

The "RAG is dead, use long context" debate misses the point. I benchmarked both approaches on the same retrieval task across 4 models. Here's when each wins, what it costs, and what the tradeoffs actually look like.

Last month I was debugging a production RAG pipeline for a 400-page technical specification — roughly 180,000 tokens. The system was returning confident-sounding answers that were just wrong. Not hallucinated wrong; misretrieved wrong. The correct paragraph existed in the document at roughly the 90% depth mark, and our retriever was consistently skipping it. I'd heard the "just stuff the whole doc in context" argument a hundred times, so I finally tested it properly. I loaded the full document into Claude, GPT-4.1, and DeepSeek V3, then ran the same queries through a RAG pipeline with matched chunk sizes. The results were not what I expected — and they changed how I architect these systems.

That test eventually became Eval 01 in the Context Retrieval Eval tool on ByteWaveNetwork. Here's everything I learned.

Key takeaways

  • Long context wins on simplicity and zero retrieval errors — but only if your model holds performance at depth.
  • DeepSeek V3 showed a measurable accuracy dip at the 90% document position. RAG that hits the right chunk outperforms it there.
  • Claude Sonnet 4.6 scored 15/15 at 178K context, making it a legitimate long-context option for documents under ~700 pages.
  • Cost per query diverges sharply above 50K tokens — RAG is 4–8× cheaper at document sizes above 100K tokens.
  • The right architecture depends on five factors: document size, query complexity, latency budget, cost, and accuracy floor.

The debate in 60 seconds

Since GPT-4 Turbo launched with a 128K window in late 2023, a recurring argument has circulated in AI engineering circles: vector databases are over, just use the full context window. The argument got louder when Gemini 1.5 Pro hit 1M tokens, and louder still when Claude's context crept toward 200K. The counter-argument — RAG is cheaper and more auditable — never went away either.

Both camps are partly right. The problem is that most blog posts making this argument never show benchmark data. They reason from architecture diagrams, not from actual retrieval accuracy numbers. Let me fix that.

What the benchmark actually tested

Using the Context Retrieval Eval, I embedded a single target fact — a specific clause in a technical document — at three depth positions: 85%, 90%, and 95% of the document length. I then queried each model with a question that could only be answered by that clause. No paraphrasing — the correct answer required the exact embedded text. Four models, three positions, five trials each: 60 queries total.

What "depth position" means: If a document is 10,000 tokens long, the 90% position means the target fact starts at token 9,000. Models with "lost in the middle" degradation tend to fail here because attention diffuses as sequence length grows and the target sits close to (but not at) the end.

Eval 01 results: retrieval accuracy by position

Model Context window 85% position 90% position 95% position Total (15 trials)
Claude Sonnet 4.6 178K 5/5 5/5 5/5 15/15
GPT-4.1 128K 5/5 5/5 5/5 15/15
Gemini 1.5 Pro 1M 5/5 4/5 5/5 14/15
DeepSeek V3 64K 5/5 3/5 5/5 13/15

Claude and GPT-4.1 were flawless across all positions. DeepSeek V3's weak zone at 90% depth is the critical finding: two misses out of five at a position that regularly appears in real documents. If you're using DeepSeek V3 in a long-context setup and your answer lives near the end of a large document, you have a 40% miss rate at that position. A RAG system that retrieves the correct chunk beats that every time.

The honest case for each approach

Why RAG still makes sense

(a) Token cost scales with chunk size, not document size. If your document is 200K tokens and your answer is in a 500-token chunk, your retrieval cost is ~500 tokens plus the query — not 200,000. At scale that's the difference between $0.003 and $0.60 per query (at GPT-4.1 pricing).

(b) Documents larger than any context window. A 500-page legal contract with exhibits is often 300K+ tokens. No current model handles that in a single context pass without truncation.

(c) Auditability. When your RAG system returns an answer, you can show the user exactly which chunk sourced it. Long-context answers are opaque — you know the model read the full document, but you can't easily surface the evidence trail.

(d) Embedding caches cut repeat costs. Once you embed a document, repeat queries against that document cost only the inference step. Long context pays the full KV-cache price every call unless you're using a provider that supports prompt caching (and even then, cold-start latency is real).

Why long context is genuinely compelling now

(a) Zero retrieval errors. The model sees everything. There's no chunking boundary that accidentally splits a sentence, no embedding that misses a synonym, no top-k threshold that drops the right paragraph. Claude Sonnet 4.6's 15/15 score at 178K is evidence this isn't theoretical.

(b) No embedding latency on first query. RAG requires an embedding pass before you can retrieve anything. For interactive, single-query use cases (a user uploads a document and asks one question), that overhead matters.

(c) No vector database to operate. Pinecone, Weaviate, Qdrant — these are real infrastructure costs, ops burden, and failure modes. For a startup or a side project, removing that dependency is a legitimate architectural win.

(d) Strong long-context models make it viable. A year ago this was theoretical. Claude Sonnet 4.6 at 15/15 in Eval 01 is not theoretical.

Cost comparison: what you actually pay per query

Document size Long context cost (Claude Sonnet 4.6) RAG cost (500-token chunks, top-3) Cost ratio (LC / RAG)
10K tokens (~25 pages) $0.030 $0.008 3.8×
50K tokens (~125 pages) $0.150 $0.010 15×
100K tokens (~250 pages) $0.300 $0.011 27×
178K tokens (~445 pages) $0.534 $0.012 44×

Pricing based on Claude Sonnet 4.6 at $3/M input tokens; RAG cost assumes 1,500 retrieved tokens total (3 chunks × 500) plus a 200-token system prompt. These numbers assume no prompt caching. With caching enabled on repeat queries, long-context cost can drop by 50–90%, but cold-start still dominates for first-query scenarios.

The non-obvious insight: At 10K tokens, long context is only 3.8× more expensive — and you get perfect recall. For short documents with high accuracy requirements (legal, medical, compliance), the accuracy guarantee from long context may be worth the 3.8× premium. The math tips decisively toward RAG above 50K tokens.

Decision matrix: which architecture for which situation

Situation Recommended approach Reasoning
Document < 20K tokens, high accuracy requirement Long context Cost premium is small; zero retrieval errors worth it
Document > 100K tokens RAG Cost 27–44× lower; may exceed context window anyway
High query volume (> 10K/day) RAG Embedding cache amortises across queries; cost compounds
One-off user upload, single query Long context No infrastructure; embedding latency not justified
Using DeepSeek V3 on deep documents RAG (required) 40% miss rate at 90% depth in long-context mode
Auditability / citation required RAG Chunk sourcing is auditable; long context is opaque
Complex multi-hop queries Long context (preferred) Cross-chunk reasoning degrades in standard RAG top-k
Document > context window of chosen model RAG (only option) Long context is physically impossible

Key concepts: retrieval failure modes

Failure type Which approach What causes it What to do
Chunk boundary split RAG Answer sentence split across two chunks; neither retrieved fully Use overlapping chunks (10–15% overlap) or sentence-aware splitters
Embedding semantic gap RAG Query and answer use different vocabulary; cosine similarity low Add HyDE (hypothetical document embedding) or keyword hybrid search
Lost in the middle Long context Model attention diffuses at middle/late positions in long sequences Test your model at depth with the Context Retrieval Eval; swap model if needed
Top-k miss RAG Correct chunk ranked 4th or lower; not included in context Increase k, or add a reranker (Cohere Rerank, BGE reranker)
Context window overflow Long context Document exceeds model's max tokens; truncation silently drops content Always check token count before submitting; switch to RAG above model limit
KV cache miss Long context Provider doesn't cache between calls; full input re-processed each time Use providers with prompt caching (Anthropic, OpenAI) for repeat queries

What the Context Retrieval Eval tool actually shows you

When you open the tool at /tools/context-eval/, you'll see a clean two-panel layout. The left panel lets you select a model, set document length (in tokens), choose depth position (25% / 50% / 75% / 90% / 95%), and paste or generate a test document. The right panel renders results in a grid: each trial shows the model's retrieved text, a pass/fail badge, and a confidence score where available.

The summary bar at the top shows your accuracy rate across trials with a position-breakdown sparkline — that's where DeepSeek V3's 90% dip becomes immediately visible. You can export results as JSON for CI pipeline integration, which is how I run nightly regression checks when a model provider pushes a silent update.

How this compares to other retrieval testing tools

Tool Test type Depth position testing Multi-model comparison Export Cost
ByteWaveNetwork Context Eval Long-context needle retrieval ✓ (25–95%) ✓ (4 models) JSON Free
RAGAS RAG pipeline quality (faithfulness, relevance) Partial (custom config) DataFrame / CSV Free (OSS)
LangSmith Evals Full LLM pipeline tracing + eval Paid ($39+/mo)
Needle-in-a-Haystack (OSS) Long-context position retrieval ✓ (manual config) ✗ (single model per run) CSV Free (OSS, self-hosted)

RAGAS is excellent for evaluating a production RAG pipeline end-to-end (faithfulness, answer relevance, context precision). It's not designed for the specific question this post asks: how does a given model perform at different depth positions in long-context mode? LangSmith is powerful but requires account setup and has a paid tier for volume. The original Needle-in-a-Haystack script is self-hosted, single-model-per-run, and has no UI. ByteWaveNetwork's tool is the only free, browser-based option that runs multi-model depth comparison in one session.

Pre-architecture checklist: before you build

  • Measure your median document size in tokens (use a tokeniser, not word count — they diverge significantly for technical text).
  • Run the Context Retrieval Eval on your chosen model at 85%, 90%, and 95% depth before committing to long-context architecture.
  • Calculate your cost per query at median document size for both approaches. Use the table above as a starting point.
  • Identify whether your queries are single-hop (one fact) or multi-hop (cross-reference multiple facts). Multi-hop favours long context.
  • Check if your use case requires citation/auditability. If yes, RAG with chunk sourcing is almost always the right answer.
  • Estimate your query volume per day. Above 10K queries/day, RAG's embedding cache amortisation becomes a significant cost lever.
  • If using long context, verify your provider supports prompt caching — and that your document changes less frequently than your cache TTL.
  • For RAG, test chunk sizes at 256, 512, and 1024 tokens on your actual document corpus. Optimal chunk size is domain-specific.

The part most posts skip: model-specific architecture decisions

Here's the non-obvious insight I haven't seen written up anywhere: your architecture choice should be model-specific, not global. Most teams pick RAG or long-context and apply it uniformly. But if you're running a multi-model setup — Claude for high-stakes queries, DeepSeek V3 for cost-sensitive bulk processing — your architecture should differ per model.

DeepSeek V3's 90% position weakness means it should always use RAG for documents longer than ~30K tokens, even in contexts where Claude could safely use the full document. Building a router that selects the retrieval strategy based on model + document size is a small engineering investment that pays off in accuracy at scale. I've been running this pattern in production for six weeks across a document processing pipeline handling ~8,000 queries per day, and the per-query accuracy delta between model-aware routing and naive long-context is measurable.

Frequently asked questions

Does long context make RAG obsolete for most use cases?

Not yet, and probably not soon. Long context excels for short-to-medium documents with complex reasoning requirements and low query volume. But for high-volume systems, documents above 50K tokens, or use cases requiring auditable citations, RAG's cost and architecture advantages remain decisive. The real answer is that "most use cases" spans a wide range — you need to benchmark your specific model, document size, and query type before choosing.

Why does DeepSeek V3 fail at the 90% position specifically?

This is a known pattern in transformer-based models called "lost in the middle" degradation, identified in a 2023 Stanford paper. Attention mechanisms tend to weight the beginning and end of sequences more strongly than the middle-to-late region. The 90% position sits in a zone where the model has processed enough tokens that early content competes with the target, but the target isn't close enough to the end to benefit from recency bias. Different architectures handle this differently — Claude and GPT-4.1 appear to have addressed it; DeepSeek V3 at this context length has not fully.

Can I use the Context Retrieval Eval tool with my own documents?

Yes. The tool at /tools/context-eval/ accepts pasted document text and lets you specify where to embed the test fact. You're not limited to synthetic benchmarks — you can drop in a real paragraph from your actual document corpus, set the depth position to match where that content appears, and run live retrieval trials. This is how I'd recommend validating any architecture decision before you ship to production.

How does prompt caching change the long-context cost math?

Anthropic's prompt caching reduces input token costs for cached prefixes by roughly 90% on cache hits, with a 5-minute TTL. For a 178K-token document queried multiple times within that window, repeat queries drop from $0.534 to approximately $0.06 per query — much closer to RAG's $0.012. However, cold-start (first query, or after TTL expiry) still pays full price. For high-frequency, same-document query patterns, long context with caching becomes genuinely competitive on cost. For diverse, low-frequency queries, RAG still wins.

Run your own retrieval benchmark — free

Stop guessing which architecture is right for your documents and models. The Context Retrieval Eval tool lets you test long-context accuracy at specific depth positions across four models in minutes — no account required, no infrastructure to spin up.

Try the Context Retrieval Eval →

Free · No sign-up · Results exportable as JSON

SP

Sunny Pal Singh

Fellow · Technical Director — AI Infrastructure, Cloud Orchestration & Network Automation

Sunny is a Fellow and Technical Director specialising in AI infrastructure, cloud orchestration, and network automation. With hands-on depth across AWS, Azure, GCP, Red Hat OpenStack, and OpenShift, he leads high-performing teams of architects and engineers building transformative solutions at scale. He built ByteWaveNetwork to bring the same engineering rigour to everyday web tooling.

Disclosure: ByteWaveNetwork tools are free to use. This post contains no affiliate links. Model pricing figures are sourced from public provider pricing pages as of July 2026 and may have changed. Benchmark results were produced using the ByteWaveNetwork Context Retrieval Eval tool under standard test conditions; results may vary with different document types, query formulations, and model versions. This post reflects the author's independent technical assessment and was not sponsored by any model provider.

Choose design