Zero-Shot vs Few-Shot vs Fine-Tuned
Comparing how to teach an LLM a new task.
Verdict: Always start with Zero-Shot; if it fails, add 3-5 examples to the prompt (Few-Shot); if you still need higher accuracy or want to save token costs on massive workloads, invest in Fine-Tuning.
The Short Answer
Zero-Shot is asking the model to do a task with no examples. Few-Shot is providing a few examples of the task inside the prompt so the model can copy the pattern (in-context learning). Fine-Tuning takes hundreds of examples and physically updates the model's weights, removing the need to put examples in the prompt ever again.
Where They Differ
| Feature | Zero-Shot | Few-Shot | Fine-Tuned |
|---|---|---|---|
| Where do examples live? | No examples | In the prompt (Context Window) | In the Model Weights |
| Cost per inference | Lowest | Highest (You pay for the examples every time) | Low (Prompt is short again) |
| Setup Cost | Free | Low (Just write 5 good examples) | High (Requires GPU training) |
| Performance ceiling | Baseline | Very High | Highest (and most consistent) |
Choose Few-Shot When
- You are prototyping a new feature: It takes 10 minutes to write 3 good examples and drop them into your API call. This immediately tests if the model is capable of the task before you commit to building a training pipeline.
- The task changes frequently: If you are categorizing support tickets, and new categories are added weekly, updating a Few-Shot prompt takes seconds. Retraining a model takes hours.
Choose Fine-Tuning When
- You are hitting token limits or high costs: If you are running 100,000 API calls a day, paying for the same 5 examples in the prompt every single time is a massive waste of money. Fine-tuning allows you to drop the examples entirely, slashing input token costs.
- You need rigid formatting: Models often ignore Few-Shot instructions to return strict JSON and occasionally output preamble ("Here is your JSON:"). A fine-tuned model will output perfectly raw JSON 99.9% of the time.
What People Get Wrong
People assume that because modern models are so smart, Few-Shot prompting is dead. In reality, providing just 2 or 3 high-quality examples in the prompt is still the single highest ROI optimization you can make for an LLM pipeline. Models are incredible pattern matchers; showing them exactly what you want is always better than trying to describe it.