Series reference
Choosing your approach
The single most useful skill in AI engineering is reaching for the simplest thing that works, then knowing when to climb to the next rung. This guide maps the ladder. Part of the AI Engineering Deep Dives.
The rule repeated throughout the series: start at the bottom and only climb when a measurement says you need to. Every rung up costs more money, more latency, and more complexity. Most problems get solved lower than people reach for.
The ladder
more power
more cost/complexity
┌──────────────────────────────────────────────┐ ▲
│ 6. Agent model drives a tool loop │ │
├──────────────────────────────────────────────┤ │
│ 5. Fine-tune change default behavior │ │
├──────────────────────────────────────────────┤ │
│ 4. RAG put your facts in context │ │
├──────────────────────────────────────────────┤ │
│ 3. Tools let it act / fetch live data │ │
├──────────────────────────────────────────────┤ │
│ 2. Few-shot show 2–5 examples │ │
├──────────────────────────────────────────────┤ │
│ 1. Better prompt clearer instructions │ ▼
└──────────────────────────────────────────────┘ start here
Climb only when the rung below genuinely can't do the job, and prove that with an eval rather than a vibe.
What each rung changes
The rungs aren't interchangeable. Each one changes a different thing, and that's the distinction worth internalizing.
| Approach | Changes… | Reach for it when… |
|---|---|---|
| Prompt / few-shot | how you ask | the model can do the task but needs clearer instruction or format |
| Tools | what the model can do | it needs to act, calculate, or fetch live/private data |
| RAG / long context | what's in the context (knowledge) | it needs facts that change, are private, or must be cited |
| Fine-tuning | how it behaves by default | you need the same format/tone/skill every time, or a cheaper model |
| Agent | how steps are chosen | the path to the answer can't be known up front |
Knowledge, behavior, capability. RAG changes what it knows. Fine-tuning changes how it behaves. Tools change what it can do. Pick the lever that matches your actual problem. Most "we need to fine-tune" instincts turn out to be a knowledge problem, which is RAG, or a phrasing problem, which is a better prompt.
A decision walkthrough
Answer these in order and stop at the first yes.
1. Is the output just poorly phrased, formatted, or inconsistent? → Fix the prompt. Be specific, assign a role, show the exact output format, and say how to handle missing information. → Prompt Engineering
2. Does it get the shape wrong, or fumble a few edge cases? → Add two to five few-shot examples that demonstrate the format and the tricky cases. → Prompt Engineering (few-shot, classification)
3. Does it need to do something, like math, an API call, or a database query? → Give it tools. You describe functions, the model asks to call them, and you run them. → Agents (tools), the API dives (OpenAI, Claude) (function calling)
4. Does it need facts it doesn't have, like your docs, recent data, or private knowledge? → RAG. Retrieve the right text and put it in the context, with citations. Don't bake changing facts into a model. → RAG
5. Does it need to behave a fixed way every time (format, tone, one narrow skill), or do you want a cheaper and faster model on a high-volume task? → Fine-tune, but only once a prompt and RAG have fallen short, and only if you can measure that it beat your baseline. → Fine-tuning
Check where you can still do this before you plan around it. OpenAI is winding down self-serve fine-tuning through 2026 and into January 2027, and Anthropic never offered it self-serve at all. In practice this rung now means an open-weight model you tune yourself with LoRA or PEFT, locally or on rented GPUs, which raises the bar for choosing it over a better prompt.
6. Is the task open-ended and multi-step, with no path you can script? → Build an agent, a model-driven loop. If you can draw the flowchart, build a workflow instead, which is cheaper and predictable. → Agents (workflows vs. agents)
"But everyone uses agents." Usually that means everyone uses an agent someone else built and hardened, like Cursor, Claude Code, or a framework's prebuilt loop. The complexity that puts this rung last gets paid once by the tool's author and then hidden, so the hardest rung feels like the cheapest. Building an agent into your own product is the decision this ladder is about, and there it's rarely the cheapest thing that works. Prove the lower rungs fail first.
Branches for specific needs
These aren't higher rungs. They're side doors for particular requirements.
| You need… | Go to |
|---|---|
| To build on an agent loop (hooks, permission policies, sandboxing, subagents, headless runs) | Agent Harnesses |
| A long conversation (or agent) to remember without blowing the context window | Context Engineering |
| Images or audio in/out (batch) | Multimodal |
| Real-time, spoken conversation (low latency, interruption) | Realtime Voice |
| To understand tensor shapes, loss, gradients, attention, sampling, calibration, quantization, or model memory | ML Foundations for AI Engineers |
| Privacy, offline, or zero per-token cost | Local Models |
| To serve open weights as a fleet, with KV memory, batching, parallelism, admission, GPU placement, scaling, rollouts, and capacity | Inference Platform Engineering |
| To share tools/data with an LLM across apps | MCP |
| To own the corpus behind the index, with versions, lineage, ACLs, and deletes | AI Data Engineering |
| To answer questions about a database in English, and to know whether the SQL it wrote is right | Structured Data + AI |
| To know if any change actually helped | Evals, the skill every rung needs |
| To stop it being jailbroken or leaking | Prompt Injection & Guardrails |
| To secure the system around the model, meaning identity, supply chain, tenant isolation, egress, budgets, and release gates | GenAI Security |
| To run any of it for real users | Production |
| To know it's still working weeks later, watching drift, silent regressions, and alerting | Observability |
| To decide whether a framework beats what you hand-rolled, measured rather than assumed | Professional Tools |
| To decide where the pieces go, across state, queues, tiers, and tenant boundaries | Architecture |
| To decide whether a specific build qualifies for promotion, on contract, compatibility, supply-chain, rollout, and rollback evidence | Testing & Delivery |
| To write down who decided, on what evidence, and what would reverse it | GOVERNANCE.md |
| To have a runbook ready before the 2am page | INCIDENTS.md |
| To make a wrong answer visible, contestable, and undoable | AI-UX.md |
Three rules that apply at every rung
- Measure, don't guess. "It seems better" ships regressions. Put a number on quality and rerun it. → Evals
- Start cheap. Use the small model (
gpt-6-lunaorclaude-haiku-4-5) and the simplest technique. Climb only when an eval forces you to. → MODELS.md - They combine. Real systems stack rungs. A fine-tuned model for behavior, RAG for facts, inside an agent, behind guardrails, measured by evals, operated with the production stack. The ladder tells you what to try first, not what to use only.