Skip to main content
AI/ML

Fine-Tune, RL, or Just Fix the Prompt: A Decision Tree for Agent Teams

October 19, 20263 min read · 1035 words

Updated on October 21, 2026

AI AgentsFine-tuningLLM

Stop Asking "Should We Fine-Tune?"

"The agent isn't good enough — should we fine-tune it?" is the wrong first question. Training is expensive, slow to iterate, and painful to roll back. The right first question is diagnostic: why is it not good enough? Different failure causes point to wildly different — and differently priced — fixes. Teams that skip the diagnosis run RL pipelines on problems a one-line prompt change would have solved.

The Decision Tree

Work down this list in order. Each branch is cheap to evaluate with a small labeled set of your own tasks.

  1. The knowledge or tools just aren't there. The correct answer exists in your docs, or the right tool call is obviously available, and the agent misses it anyway. This is a context problem: fix retrieval, tool descriptions, or system prompt organization. Training cannot reliably teach your changing facts.
  2. Success on well-specified tasks is near zero. If the model can't do the task even once with a perfect prompt, the base capability is missing. Fine-tuning won't create it; you need a different (or larger) model, or task decomposition. Check pass@k first — if it is near zero on clear inputs, stop here.
  3. Capability exists, but format is unstable. The right content, wrong shape: JSON that half-parses, sections in the wrong order, tone that drifts. This is the classic supervised fine-tuning (SFT) case — demonstration data teaches "always answer like this" cheaply and reliably. SFT is memory: it clones patterns you show it.
  4. Multiple answers are valid, but some are better — measurably. There is a scoreable difference between acceptable and excellent outputs, and you can express it as a reward. Now reinforcement learning enters: RL generalizes beyond the demonstrations, finding behaviors nobody explicitly showed. It amplifies whatever signal you give it — including flaws in the signal.
Context missing? pass@k ≈ 0? Format unstable? Reward scoreable? yes no yes no yes no yes Fix prompt, retrieval, and tool descriptions Bigger model or task decomposition SFT clone the format from demos RL optimize a measurable reward
Diagnose before training: four failure causes route to four differently-priced fixes — prompt and context fixes first, SFT for unstable format, RL only when a reward is scoreable.

SFT Is Memory, RL Is Generalization

The most useful one-line model of post-training: SFT clones, RL explores. SFT is imitation — show the model 500 perfect trajectories and it absorbs the pattern, including your quirks and your data's blind spots. RL is trial against a reward — the model discovers routes to higher scores nobody demonstrated, for better and worse.

Two corollaries save real money:

  • Data and environments matter more than algorithms. A mediocre algorithm on great data beats a state-of-the-art algorithm on sloppy data. Half the work of a successful RL run is building the environment and reward, not tuning the optimizer.
  • Reward design is threat modeling. The model optimizes the reward, not your intention. Reward the final state and it may shortcut the process; reward the process steps and it may ritualize them. The robust pattern is reward the outcome, constrain the process — with verifiable checks, and validation penalties for skipping them.

The Cheap Fixes Come First — and They're underrated

Before any training run, in rough order of cost: rewrite the system prompt (days), add or fix tools (days), add few-shot examples (days), few-shot → retrieval of similar solved cases (weeks), then SFT (weeks-months), then RL (months). Post-hoc, the training decision should be re-validated against the same eval suite that motivated it: if the score didn't move, the diagnosis was wrong, not the learning rate.

And an honest budget note: SFT data synthesis — turning your best real trajectories into training examples — is itself a pipeline (collection, filtering, formatting, decontamination). Budget for it as a project, not a script.

The Decision Tree in Practice: A Diagnostic Session

Here is how the tree resolves for the most common complaint — "the agent is dumb, let's fine-tune." Run these checks in order; stop at the first fix that moves the metric:

  1. Context check (hours). Give the agent the exact document an expert would use. If pass@k jumps, the problem was missing context — build retrieval, not training data. This resolves roughly half of "dumb agent" cases on real projects.
  2. Model ceiling check (an afternoon). Run the same task on the strongest available model with a well-specified prompt. pass@k near zero means the model class cannot do the task reliably at all — no amount of fine-tuning fixes a missing capability; change the task decomposition or wait for a better base model.
  3. Format check (a day). The answers are right but the parser chokes: valid reasoning, broken JSON. This is the textbook SFT case — small dataset (500–2 000 examples), cheap, fast, done in a week. Do not skip it just because it feels unsophisticated.
  4. Preference check (weeks). Outputs pass automated checks, humans still prefer a different style, and you can grade the difference on a scale. Now RL (usually DPO-class first, RLHF if you have a real reward model) is justified — and the earlier diagnostic steps gave you a clean baseline to measure the gain against.

Budget heuristic from production experience: if the fix is not worth at least two weeks of an engineer's time to validate, it is not worth a training run. Prompt and retrieval fixes ship in days; a training run that cannot beat a two-day prompt fix was not worth running.

The Four Diagnoses at a Glance

Diagnosis Time to validate Fix Typical dataset / cost
Missing context Hours Retrieval pipeline Docs + embeddings; no training
Missing capability An afternoon Stronger model / task decomposition None; wait or redesign
Unstable format A week SFT 500–2 000 examples
Scoreable preference Weeks DPO first, then RLHF Preference pairs + reward model

Key Takeaways

  • Diagnose before training: missing context, missing capability, unstable format, or scoreable preference — four different problems, four different fixes.
  • pass@k near zero on well-specified tasks means wrong model, not insufficient training.
  • Unstable format → SFT. Measurable quality gradient with a clean reward → RL.
  • SFT clones (including your flaws); RL generalizes (including your reward hacks).
  • Data and environments beat algorithms. Design the reward like a threat model.