The short answer to RAG vs fine-tuning: use retrieval-augmented generation (RAG) when the model needs to know your facts, use fine-tuning when the model needs to behave differently (a format, a tone, a narrow classification task), and use long-context prompting when the relevant material is small enough to fit in the prompt and you can cache it. Most production systems in 2026 combine at least two of the three. The rest of this guide explains why, with the research behind each claim and current prices from the model vendors.
This matters because the wrong choice is expensive in a quiet way. Teams fine-tune a model on their policy manual and find it still invents policy. Or they paste 600 pages into every request and wonder why the bill tripled and answers got worse. Picking the right pattern up front is usually the cheapest decision in the whole project.
What each approach actually does
Retrieval-augmented generation (RAG)
RAG looks up the most relevant passages from your documents at question time and puts only those passages in the prompt. The idea was formalized in the original RAG paper by Lewis et al. (NeurIPS 2020), which paired a language model with a searchable index of Wikipedia. The authors reported more specific and factual generation than a model relying on its own memory, and pointed out two properties that still drive business adoption: you can show where an answer came from (provenance), and you can update knowledge by updating the index instead of retraining the model.
Fine-tuning
Fine-tuning changes the model's weights by training it on examples of the input and output you want. Parameter-efficient methods such as LoRA (Hu et al., 2021) made this far cheaper: the paper reports cutting trainable parameters by 10,000x and GPU memory by about 3x compared with full fine-tuning of GPT-3 175B. Fine-tuning is good at teaching a model a pattern. It is poor at teaching a model facts, and it does not tell you where an answer came from.
Long-context prompting
Long-context prompting skips retrieval and sends the whole document set with each request. With frontier models now accepting around a million tokens, that can mean hundreds of pages at once. Prompt caching makes repeated use of the same large prefix much cheaper. The catch is that models do not use a very long prompt evenly, and every token still costs money and time.
What the research says about RAG, fine-tuning and long context
Fine-tuning is a weak way to add knowledge. In Fine-Tuning or Retrieval? (Ovadia et al.), the authors compared unsupervised fine-tuning with RAG for injecting knowledge into LLMs and found that RAG consistently outperformed fine-tuning, both for knowledge the model had seen in training and for entirely new facts. Models struggled to learn new facts through fine-tuning unless they saw many variations of the same fact.
Long prompts degrade in the middle. The Lost in the Middle study (Liu et al., TACL 2023) showed that performance is often highest when the relevant information sits at the start or end of the prompt and drops significantly when it sits in the middle, even for models built for long contexts. Newer work suggests the problem has not gone away. Chroma's Context Rot report (July 2025) tested 18 models, including Claude Opus 4, GPT-4.1 and Gemini 2.5 Pro, and found that performance degrades as input length increases, often in non-uniform ways, with distractors doing more damage as prompts grow.
But long context often wins on raw accuracy when money is no object. A 2024 study, Retrieval Augmented Generation or Long-Context LLMs? (Li et al., EMNLP 2024), found that when resourced sufficiently, long-context models consistently outperformed RAG on average, while RAG kept a large cost advantage. Their proposed fix, Self-Route, lets the model decide per query whether retrieved chunks are enough or whether it needs the full context, cutting compute while staying close to long-context quality. A later evaluation, Long Context vs. RAG for LLMs (Li et al., 2024), found long context generally ahead on Wikipedia-style question answering, retrieval over summaries performing comparably, simple chunk retrieval lagging, and RAG favored for conversational and general queries.
Context windows and prompt caching in 2026
A million-token window is now standard at the top end. The figures below come from each vendor's official documentation as of September 2026. Check them again before you commit, because they change often.
| Model (vendor) | Context window | Cache read price | Long-prompt pricing |
|---|---|---|---|
| Claude Opus 5.5 / Sonnet 5 (Anthropic) | 1M tokens | 5% of input price on Opus 5.5, 10% on Sonnet 5 | Standard rate across the full 1M window |
| Claude Haiku 4.5 (Anthropic) | 200K tokens | 10% of input price | Standard rate |
| GPT-6 Astra and Luna (OpenAI) | 1.05M tokens (922K max input) | Cached input at 10% of input price | Over 272K input tokens: 2x input, 1.5x output |
| Gemini 3.8 Flash (Google) | 1,048,576 input tokens | Implicit caching on by default | See Gemini pricing page |
Sources: Anthropic models overview and pricing, OpenAI's GPT-6 Astra model page and prompt caching guide, and Google's Gemini 3.8 Flash page and caching docs.
Prompt caching is what makes long context practical. On Anthropic's API, a 5-minute cache write costs 1.25x the base input price and a cache read costs 0.1x (less on some newer models), so caching pays off after a single reuse, according to Anthropic's prompt caching docs. OpenAI's newer models bill cache writes at 1.25x and cached reads at 0.1x with a default 30-minute retention. Google applies implicit caching automatically on Gemini 2.5 and newer models. Caching cuts cost and time for the repeated prefix. It does nothing for the accuracy problems described above.
One more shift worth knowing: fine-tuning access is narrowing on some closed platforms. OpenAI's supervised fine-tuning guide now states that it is winding down its fine-tuning platform and that it is no longer open to new users, with GPT-4.1-family models listed as the tunable options. Google still documents supervised tuning on Vertex AI, and open-weights models can be tuned on your own infrastructure. If fine-tuning is central to your plan, confirm availability with your provider first.
Decision table: RAG vs fine-tuning vs long context
| Factor | RAG | Fine-tuning | Long context |
|---|---|---|---|
| Best for | Answering from large or changing document sets | Consistent format, tone, or narrow classification | Deep reasoning over one contract, codebase or report |
| Corpus size | Any size, including millions of pages | Not a knowledge store | Up to roughly the model's window (hundreds of pages) |
| Freshness | Update the index in minutes | Retrain to change anything | Always current, since you send the latest text |
| Citations | Natural: you know which chunks were used | None | Possible, but you must prompt for it |
| Cost per query | Low: only a few thousand tokens sent | Low at inference, plus training and data prep | High unless cached; scales with document size |
| Latency | Retrieval adds a step, prompt stays short | Fast; can enable a smaller model | Slower with very long prompts |
| Main failure mode | Retriever misses the right passage | Confident answers from stale or absent facts | Details missed in the middle; distractors |
| Access control | Filter documents per user before retrieval | Hard: knowledge is baked into weights | Must assemble a per-user prompt |
Cost, latency, freshness and accuracy trade-offs
Cost. Here is a simple example using Anthropic's published Sonnet 5 price of $2 per million input tokens. Sending a 500,000-token document set with every question costs about $1.00 in input per query. If that prefix is cached, reads drop to $0.20 per million tokens, or about $0.10 per query, plus periodic cache writes. A RAG pipeline that sends 5,000 retrieved tokens costs about $0.01 in input per query. At 10,000 questions a month, that is roughly $10,000, $1,000 or $100 in input tokens before output. The gap narrows for small corpora and widens as volume grows.
Latency. Processing a very long prompt takes longer than a short one, and caching helps only when the prefix is identical. For live chat, voice or customer support automation, a short RAG prompt on a fast model is usually the better fit.
Freshness. RAG and long context both read your current documents. Fine-tuned knowledge is frozen at training time. If your prices, policies or inventory change weekly, keep facts out of the weights.
Accuracy. Long context can beat basic RAG on questions that need the whole document, as the EMNLP 2024 study showed. RAG accuracy depends heavily on retrieval quality. Anthropic's Contextual Retrieval write-up (September 2024) reported that adding chunk-level context before embedding cut failed retrievals by 49%, and by 67% when combined with reranking. The same post notes that if your knowledge base is under 200,000 tokens, you can often just include the whole thing in the prompt. For more on keeping answers grounded, see our guide on preventing AI hallucinations in production.
Hybrid patterns that work in production
- RAG plus a cached system prompt. Cache the stable parts (instructions, policies, tool definitions, product glossary) and retrieve the variable parts. This is the default pattern for most internal knowledge assistants.
- Retrieve, then read long. Use retrieval to pick the right three or four documents, then pass them whole rather than as small chunks. This follows the finding that chunk retrieval underperforms and gives the model full context without sending the entire corpus.
- Route per query. Answer simple lookups with RAG and escalate hard, whole-document questions to a long-context call, in the spirit of Self-Route. A router can be a small model or a rule set.
- Fine-tune for form, retrieve for facts. Tune a smaller model to always return your exact JSON schema or classification labels, and feed it facts through retrieval. This is common in document processing pipelines.
- Long context for one-off analysis, RAG for the repeat work. Reviewing a single 300-page contract suits long context. Answering questions across 5,000 contracts suits RAG.
A practical way to decide
- 1Write down what must be true of every answer. Must it cite a source? Respect per-user permissions? Reflect today's data? If yes to any, you almost certainly need retrieval.
- 2Measure your corpus in tokens. If everything fits comfortably under about 200K tokens and rarely changes, start with long context plus caching. It is the fastest thing to ship.
- 3Build a small evaluation set first. Fifty to a hundred real questions with known answers will tell you more than any benchmark. OpenAI's own fine-tuning guide says to set up evals before investing in tuning. Our post on AI agent evaluation and observability covers how.
- 4Only fine-tune after prompting and retrieval plateau. If the model knows the facts but still gets the format or judgment wrong, a small tuned model may help.
- 5Estimate cost at real volume. Multiply tokens per query by monthly queries using the vendor's current price sheet. Our breakdown of AI agent development costs shows how running costs fit into the total.
How Flowrest Labs approaches RAG, fine-tuning and long context
We start with the question your team actually needs answered, then pick the simplest pattern that passes an evaluation set built from your real documents. In practice, most of the knowledge assistants we build use retrieval with citations, a cached instruction layer, and human approval gates for anything consequential. Our RAG development service covers the full pipeline: document ingestion, chunking and retrieval tuning, access control, and exact page citations so staff can check every answer.
You own all of it: code, prompts, pipelines and index configuration, with no platform lock-in. If you are unsure which approach fits your data, a free 30-minute workflow audit is a quick way to find out.
Frequently Asked Questions
Is RAG better than fine-tuning?
+
For making a model know your facts, yes in most cases. A study by Ovadia et al. found RAG consistently outperformed unsupervised fine-tuning for injecting both existing and new knowledge. Fine-tuning is better for changing behavior, such as output format, tone, or a narrow classification task.
Do million-token context windows make RAG obsolete?
+
No. Long context can beat basic RAG on accuracy when the material fits, but research such as Lost in the Middle and Chroma's Context Rot report shows performance degrades as prompts grow. Long prompts also cost more per query. RAG remains the practical choice for large, changing, or permission-sensitive document sets.
When should I fine-tune an LLM?
+
Fine-tune when you have a stable task, a clear evaluation set, and prompting plus retrieval still fall short on format or judgment. Common cases are strict output schemas, classification, and style consistency. Check that your provider still offers fine-tuning for the model you want, since availability has narrowed on some platforms.
Can I combine RAG and fine-tuning?
+
Yes, and it is common. A typical pattern is to fine-tune a smaller model for consistent output and use retrieval to supply current facts at query time. Another is to cache stable instructions and retrieve only the variable content.
How does prompt caching change the RAG vs long context decision?
+
Caching makes repeated use of the same large prompt much cheaper and faster. On Anthropic's API, cache reads cost 10% of the base input price or less. It narrows the cost gap for small, stable corpora, but it does not fix accuracy loss in very long prompts or help with data that changes per request.
Sources & Further Reading
- 01Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks — arXiv / NeurIPS 2020 (Lewis et al.), 2020-05-22
- 02Lost in the Middle: How Language Models Use Long Contexts — arXiv / TACL (Liu et al.), 2023-07-06
- 03Retrieval Augmented Generation or Long-Context LLMs? A Comprehensive Study and Hybrid Approach — arXiv / EMNLP 2024 (Li et al.), 2024-07-23
- 04Long Context vs. RAG for LLMs: An Evaluation and Revisits — arXiv (Li, Cao, Ma, Sun), 2024-12-27
- 05Fine-Tuning or Retrieval? Comparing Knowledge Injection in LLMs — arXiv (Ovadia et al.), 2023-12-10
- 06LoRA: Low-Rank Adaptation of Large Language Models — arXiv (Hu et al.), 2021-06-17
- 07Context Rot: How Increasing Input Tokens Impacts LLM Performance — Chroma Research, 2025-07-14
- 08Introducing Contextual Retrieval — Anthropic, 2024-09-19
- 09Models overview and Pricing — Anthropic (Claude Platform docs), Accessed September 2026
- 10GPT-6 Astra model page and Prompt caching guide — OpenAI API docs, Accessed September 2026
- 11Supervised fine-tuning — OpenAI API docs, Accessed September 2026
- 12Gemini 3.8 Flash and Context caching — Google AI for Developers, Accessed September 2026
