Fine-tuning vs RAG vs Prompting: How to Actually Make an AI Model Yours
Say you want an AI to work for your situation. Maybe it should know your company’s internal docs. Maybe it should always answer in your brand’s voice. Maybe it just keeps getting one specific thing wrong and you want that fixed. You’ve got a real goal, and now you hit the fork that trips up almost everyone: do you prompt it better, bolt on retrieval (RAG), or fine-tune the model?
People get this wrong constantly, and expensively. I’ve watched teams spend months and serious money fine-tuning a model to “know” their data, when a bit of retrieval would have done it in an afternoon, and done it better. I’ve watched others prompt endlessly at a problem that no prompt could ever solve. The three tools look interchangeable from a distance. They are not. Each fixes a different kind of problem, and once you can tell which kind you have, the choice becomes obvious.
This post is the map. If you’ve read my earlier ones on RAG and on prompting methods, this is where they click into a single decision. Let me give you the one mental model that settles it, then the exact signals that point to each tool.
The three levers, quickly
The one mental model that decides everything
Here it is, the single sentence that untangles the whole thing. Tattoo it on your brain:
RAG changes what the model can see. Fine-tuning changes how the model behaves. Prompting works with what it already knows.
This immediately kills the most common mistake. People try to fine-tune a model to teach it facts (“train it on our docs so it knows them”). But facts change, and baking them into weights makes them stale the moment a doc updates, plus the model can’t tell you which document an answer came from. Facts are a “what it sees” problem. That’s RAG’s job, not fine-tuning’s. Fine-tuning is for behavior, not knowledge.
The rule: prompt, then RAG, then fine-tune
Because the three cost wildly different amounts of effort, there’s a natural order. Always climb it in sequence, and stop the moment your problem is solved:
The decision tree, in four questions
Want it even more concrete? Ask yourself these, in order, and stop at the first “yes”:
Wait, isn’t fine-tuning insanely expensive?
It used to be, and this is why people fear it. Fully retraining even a 7-billion-parameter model means updating every weight, which needs enormous GPU memory, think tens of thousands of dollars for a single training run. That’s the scary version, and for most people it’s overkill.
The thing that changed the game is a technique called LoRA (and its memory-frugal cousin QLoRA). The idea is clever: instead of retraining all the model’s millions of weights, you freeze them and train only a tiny pair of add-on matrices that nudge the model’s behavior. You’re adjusting a small steering attachment, not rebuilding the engine.
The cost difference is not subtle. It’s the difference between renting a data center and using a gaming GPU:
Full fine-tuning still wins for the hardest, deepest cases (complex domains, very large training sets). But for most “teach it our house style” jobs, LoRA is the sensible, affordable default.
The best answer is usually “all of the above”
Here’s the grown-up truth: in real production systems, it’s rarely one tool. The strongest setups stack them, each doing the job it’s best at.
The full comparison
| Prompting | RAG | Fine-tuning | |
|---|---|---|---|
| Changes | Nothing (just the ask) | What the model sees | How the model behaves |
| Best for | What it already knows | Facts, your data, fresh info | Style, tone, format, narrow skills |
| Freshness | Frozen at training | Instant, swap a document | Goes stale, needs retraining |
| Cite sources? | No | Yes, points at the document | No, weights are opaque |
| Cost / effort | Lowest | Medium (build + iterate) | Highest (data + training) |
| Try it... | First | Second | Last, only if needed |
The takeaway
Stop asking “which is best.” None is best; each is best at its own job. The question that actually matters is: what kind of problem do I have?
If the model just needs to be asked better, that’s prompting. If it needs to see information it doesn’t have, especially changing information you need to trust and source, that’s RAG. If it needs to behave differently in a stable, repeatable way, tone, format, a narrow skill, that’s fine-tuning, and thanks to LoRA it’s finally affordable. And when you build something real, you’ll probably reach for all three, each doing the one thing it does best.
The teams that ship great AI aren’t the ones who fine-tune the most. They’re the ones who correctly diagnose which lever the problem actually needs, and reach for the cheapest one that solves it. Prompt first. RAG next. Fine-tune last, and only on purpose. That order will save you more time and money than any single technique ever could.