Signal, model choice
The Cheapest Correct Answer Wins
Match the model tier to the task, or pay twice: once in wasted tokens, once in silent failure.
The short version
- A single default model overpays on easy tasks and fails quietly on hard ones.
- Light work (tagging, extraction, short rewrites) belongs on a small fast tier.
- Hard, multi-step, hard-to-verify work belongs on your strongest model.
- Weak-model failure is invisible: plausible answers are the costliest kind of wrong.
- Test cheap versus strong on twenty real examples before you commit.
- The cheapest option that is still correct every time is the right one.
Most teams pick one model and route everything through it. That default is quietly expensive. A frontier model summarizing a two-line email wastes tokens and adds latency you never needed. A tiny model asked to reason through a multi-step migration fails, but it fails politely, returning confident text that looks fine until it breaks in production.1
Here is the rule we live by. The cheapest correct answer wins. Not the smartest model, not the fastest, our cheapest option that still gets the task right every single time.
The cheapest correct answer wins.
Model families ship in tiers for a reason. Anthropic offers Haiku, Sonnet, and Opus. OpenAI splits its lineup by capability and price the same way. Each step up buys deeper reasoning and costs more per token, often several times more. That gap is the whole decision.1 2
So we match the tier to the task. Classification, extraction, short rewrites, routing, tagging: these are light work. A small fast model handles them for pennies, and it answers in a fraction of a second. Save the heavyweight for tasks that actually need it.
When does a task need it? When the work has many steps, hidden constraints, or a right answer that is hard to check by eye. Code that must compile. Legal or medical nuance. Long documents where one missed clause changes the meaning. Here a light model's silent failure costs far more than the token savings.
The trap is that failure is invisible. A weak model rarely says I cannot do this. It produces a plausible answer, and plausible is the most expensive kind of wrong. You ship it, a user trusts it, and you pay in support tickets and lost trust instead of cents.2
Cost is not the only axis. Latency compounds too. A frontier model might take three or four seconds where a light one returns in under one. In a chat product that lag is the difference between a tool people use and one they abandon. Speed is a feature, and the smaller tier often delivers it for free.1
Routing gives you the best of both. Send every request to a cheap classifier first, let it label the task as easy or hard, then forward only the hard ones to your strong model. This one pattern often cuts our bill in half while keeping quality flat on the work that matters.
We test both ways before we commit. Run your real prompts through a cheap tier and a strong tier on the same twenty examples. If the cheap one matches on all twenty, ship it. If it misses even one that matters, step up. Twenty examples is cheap insurance against a silent miss.
Watch the version notes too. Model families improve, and a task that needed your top tier last quarter may run fine on the mid tier today. We re-benchmark on a fixed set of examples every time a provider ships an update, because yesterday's right answer can get cheaper overnight.
Money and time both bend to this. Cutting an over-served task from a frontier tier to a mid tier can drop its cost by five to ten times and shave latency at the same time. Multiply that across every call, and the savings fund the few tasks that genuinely deserve our best model.2
Use it this week
- List your five most frequent model calls and label each easy or hard, then move every easy one down a tier and re-test.For each task below, label it EASY (short, single-step, easy to verify) or HARD (multi-step, hidden constraints, hard to check). Suggest the cheapest model tier that would still be reliably correct: [paste your tasks]
- Build a twenty-example eval set for one task and run it through a cheap tier and a strong tier side by side.Here are 20 real inputs and their correct outputs for one task. Compare a cheap model and a strong model on all 20, count exact matches and near misses, and tell me if the cheap model is safe to ship: [paste examples]
- Add a cheap classifier in front of your pipeline to route only hard requests to the expensive model.Write a short classifier prompt that labels an incoming request as EASY or HARD so I can route only HARD requests to a frontier model. Task domain: [describe]