Fine-tune, RAG, or prompt: which one, and what each costs
There are three ways to adapt a model to your need, and the wrong choice can get expensive. The difference is in what problem each one actually solves.
The Felesh team8 min
When a language model needs to adapt to a specific use case, you have three routes: prompt engineering, context retrieval (RAG), or fine-tuning. These are frequently confused, but each solves a distinct problem. The wrong choice wastes compute and yields poor results. Here is how to draw the line.
One model call has three places to change it: the instructions, the documents beside the question, and the weights.
Prompt: the cheapest starting point
Prompt engineering means guiding the model with instructions alone, leaving the underlying weights untouched. This is the cheapest and fastest route. No training is required, and iterations take minutes. For many tasks, clear instructions are enough. Start here; only reach for heavier methods when prompting genuinely falls short.
RAG: when the model needs new knowledge
If the model lacks access to specific information — private documents, or data generated after its training run — the answer is usually RAG. This involves retrieving relevant text and placing it in the model’s context window at inference time. The advantage is that knowledge can be updated continuously without retraining the base model. RAG is the answer to “the model doesn’t know something”, not “the model doesn’t know how to do something.”
RAG finds the one line the model lacks and sets it beside the question, so the answer is right today and changes the day the file does.
Fine-tuning: when the model has to change its behaviour
Fine-tuning applies elsewhere: when the problem isn’t missing knowledge, but behaviour. If you need the model to adopt a specific tone, consistently output a strict format, or internalise patterns that are hard to articulate in a system prompt, fine-tuning is the right route. The cost is inherently higher, requiring datasets, compute, and maintenance. Fine-tuning answers “the model doesn’t do something the way I want”, not “the model doesn’t know something.”
Fine-tuning shows the model examples of the behaviour until the format becomes its default: the same new input, now in the same shape every time.
Fine-tuning is itself a ladder
Fine-tuning is not monolithic; it spans a spectrum from light to heavy. The lightest step involves parameter-efficient methods (PEFT) — most notably LoRA and its lower-memory variant, QLoRA. These techniques freeze the original model weights and train only a few small, inserted layers. Compute and memory costs drop sharply, training accelerates, and you can run multiple specialised versions on top of a single base model.
At the far end of the ladder is full fine-tuning, where every weight in the network is updated. It offers maximum flexibility but remains the most demanding option. It requires heavy compute, larger datasets, and strict maintenance, while introducing the risk of “catastrophic forgetting” — overwriting the model’s foundational reasoning abilities.
LoRA freezes the base and trains a small adapter; full fine-tuning rewrites every weight, which costs more and can overwrite what the model already knew.
The core logic remains consistent: if you require fine-tuning, start at the lightest rung. Only consider full fine-tuning when methods like LoRA fail to reach your target quality.
A simple rule for choosing
The decision reduces to a few clear questions. Does a better instruction solve the problem? Prompt. Does the model need information it lacks? RAG. Does the model need to durably change its behaviour or style? Fine-tuning. Often, the right architecture is composite: a fine-tuned model retrieving new knowledge through RAG, guided by a precise prompt.
Each symptom ends in a question that picks the route, and the answer is often all three together.
The cost of each
These routes form an ascending cost ladder. Prompting is the cheapest. RAG sits in the middle, incurring the operational overhead of a retrieval infrastructure. Fine-tuning is the most expensive. Even within fine-tuning, LoRA sits at the lower end and full fine-tuning at the top. Both demand curated data, training cycles, and lifecycle maintenance, but full fine-tuning is far heavier. A common engineering mistake is fine-tuning a model to solve a problem that RAG or a better prompt could have addressed. Before paying the structural cost, verify the requirement.
Where each route hides a cost
The “start cheap, escalate only when needed” heuristic is sound, but every tier introduces friction, and honesty requires naming it. Prompting is cheap to write but brittle at scale. A prompt that works today drifts as models or inputs shift, and long instruction stacks quietly consume context windows and compute budgets. RAG provides updatable knowledge but demands a secondary system to build and operate — chunking, indexing, embedding, and adding latency to every call. It also fails in its own way: retrieve the wrong passage, and the model answers confidently from flawed context. LoRA, the recommended fine-tuning rung, is cheap to train but not free to run. You must manage adapter versions, route requests correctly, and accept a quality ceiling below full fine-tuning for profound behavioural shifts. Trading a single general model for a fleet of specialised ones means more assets to evaluate, version, and keep in sync. None of this argues against the ladder; it simply means climbing it with open eyes.
Every rung hides a cost somewhere; the sharpest is retrieval handing the model the wrong passage, which it answers from with full confidence.
Putting it together
These three routes are not rivals; they are discrete tools for distinct problems. Prompting guides immediate behaviour, RAG provides external knowledge, and fine-tuning internalises durable behaviour. The key to building reliable systems is isolating the exact problem you face — and deploying the cheapest tool that solves it.