Before any method discussion, internalize this hierarchy. Always go top-down — exhaust cheaper interventions first.
Customer problem
│
├─ Can prompt engineering fix it? ─── YES → stop here
│ (clearer instructions, format spec, role)
│ NO ↓
│
├─ Can few-shot examples fix it? ──── YES → stop here
│ (3-10 in-context examples)
│ NO ↓
│
├─ Is it a knowledge/fact problem? ── YES → RAG, not fine-tuning
│ NO ↓
│
├─ Is it style / format / narrow ──── YES → SFT (LoRA/QLoRA)
│ task / domain language?
│ NO ↓
│
├─ Is it a "I want it to behave ───── YES → Preference tuning (DPO/RLHF)
│ more like X, less like Y"
│ problem?
│ NO ↓
│
└─ Full retraining (almost never the answer)
Strong signals FOR fine-tuning:
Strong signals AGAINST: