what each lever actually fixes

ProblemRight leverWhy
Model doesn't know a fact, or facts change oftenRAGFacts live outside the weights and can be updated by re-indexing, not retraining
Model knows the facts but answers in the wrong format/style/tonePrompting first, fine-tuning if prompting can't hold it consistently at scaleFormat and style are about steering generation, not injecting new knowledge
Model needs a narrow skill applied consistently across thousands of calls, and per-call prompt overhead to specify it is costlyFine-tuningBakes the behavior into the weights once instead of re-explaining it every call
Model needs to take actions, not just answerNeither — that's tool callingDifferent problem: execution, not knowledge or style

the honest ordering

Prompting is nearly free to try and iterate on, so it should always be exhausted first. RAG is the next step up in cost/complexity and solves the single most common reason production LLM apps disappoint: the model doesn't have the specific, current, or private information the answer requires. Fine-tuning is the most expensive and slowest to iterate on, and — contrary to a common assumption — is a comparatively weak tool for injecting new factual knowledge reliably; it's much better suited to teaching consistent behavior (format, tone, a narrow classification task) than to teaching facts.

they compose

# a realistic production stack uses all three at once
system_prompt   = "Answer only from the provided context. Cite sources."   # prompting
retrieved_docs  = rag_pipeline.retrieve(user_query)                        # RAG
model           = "support-bot-ft-v3"  # fine-tuned on the company's Q&A style/format

response = call_model(model, system_prompt, retrieved_docs, user_query)
Treat this as a checklist to exhaust in order, not a menu to pick one item from — a fine-tuned model with no retrieval still hallucinates on facts it wasn't trained on, and perfect retrieval with a poorly prompted model still produces badly formatted answers.

where to go from here

RAG Architecture — lever two, in depth.
LoRA & Parameter-Efficient Fine-Tuning — lever three, and how to do it without full retraining cost.
Prompt Engineering Fundamentals — lever one, exhausted first.