Model Selection Framework: Match the Job, Not the Model
The right model depends on what the job looks like, not which one tops a leaderboard. Here is the matrix I run, use case by use case, and the process that keeps it current.
The right model depends on what the job looks like, not which one tops a leaderboard. Here is the matrix I run, use case by use case, and the process that keeps it current.
A model selection framework works best when it starts from the use case, not the model name. High-volume classification, agentic tool-use, long-document summarization, customer-facing chat, and code generation each reward a different model property. Picking the wrong property is a more common mistake than picking the wrong model.
I watch this go wrong in the same shape every time. A team picks one frontier model in a single Slack debate, then routes every job through it: ticket classification, a support chatbot, code review, a long contract summary. Three months later the invoice is high, the chatbot is slow, and nobody can say which job actually needed the expensive model. The debate picked a model. It never picked five.
Key takeaways
- The use case's shape decides the property that matters, not the other way around. A leaderboard rank does not tell you which property your job actually needs.
- High-volume classification rewards cost per call. Agentic tool-use rewards reliability across repeated runs, not success on the first try.
- Long-document work rewards effective context at your real document length, not the context window printed on the spec sheet.
- One team can run five use cases on five different price tiers and spend less overall than routing everything through one frontier model.
- Model selection is not a one-time decision. Pricing and capability shift under a single named model within months, build a process, not a verdict.
Why "best model" is the wrong question
Every comparison article ranks models against each other on the same axis: reasoning, coding, general chat. Almost none of them ask what your job looks like first, and that omission is the expensive one. A support ticket classifier, a customer-facing chatbot, and an agent that books refunds are three completely different jobs wearing the same label, "use an LLM," and each one breaks on a different property when you get the model wrong.
I already cover the five factors that make up any single model decision, accuracy, cost, latency, context, and deployment fit, in my framework for how to choose an LLM. This piece answers a narrower and more practical question: for a given use case's shape, which of those five factors decides the call, and which real 2026 models actually fit each shape.
| Use case shape | Property that decides it | What breaks if you get it wrong |
|---|---|---|
| High-volume classification | Cost per call at your real volume | You overpay for accuracy the task never needed |
| Agentic tool-use | Reliability across repeated runs | A demo that succeeds once and drifts on retry |
| Long-document summarization | Effective context at your real document length | Silent truncation or quiet recall loss past a point |
| Customer-facing chat | Latency and policy adherence under real dialogue | Slow replies, or a policy miss a human would have caught |
| Code generation | Correctness on your repo's conventions | A patch that passes CI and fails code review anyway |
Run your job through that table before you open a single benchmark page. It tells you which property to test for, which tells you which models even belong on your shortlist.
High-volume classification: optimize for cost per call
Ticket tagging, content moderation, intent routing, field extraction from a fixed schema. These jobs share a shape: high volume, a narrow and repeatable task, and accuracy that plateaus fast once a model clears a "good enough" bar. Past that bar, spending more per call buys you nothing measurable.
Cost per call is the property that decides this use case, and the 2026 model tiers are built around exactly that trade. Google positions its Gemini 3.1 Flash-Lite as the "workhorse model" for "high-volume tasks," priced well below its Pro tier. Anthropic's cheapest current model, Claude Haiku 4.5, prices at $1 per million input tokens and $5 per million output tokens, roughly a fifth of what its Sonnet 5 model costs per token (Anthropic pricing).
Name the trade-off honestly: a cheap model that clears your average case can still miss the rare, expensive one. A misclassified refund request costs more than the tokens saved classifying the other nine thousand correctly. The fix is not a bigger model for every call. It is a cheap model for most calls and a routing layer that escalates the low-confidence ones, which is the exact mechanism I cover in LLM model routing.
Agentic tool-use: optimize for reliability across repeated runs
An agent that books a reservation, updates a record, or calls three internal APIs in sequence is a different job than a chatbot that answers a question. It takes real actions with real side effects, and a single successful demo run tells you almost nothing about whether it will succeed the next nine times.
This is why tau-bench, the benchmark built at Sierra specifically for tool-calling dialogue agents, scores a pass^k metric instead of a single pass rate: it reruns the same task multiple times and reports how often the agent still succeeds. Early results on the benchmark found state-of-the-art agents succeeding on fewer than half of tasks on a single try, and a top agent's success rate on an identical task fell to roughly 25% when that task ran eight times in a row (Yao et al., tau-bench). That gap between first-try and eighth-try is the number a demo never shows you.
On the model side, Claude Sonnet 5 scored 78.5% on OSWorld-Verified, a computer-use evaluation, and Anthropic's own announcement describes it as a model that "finishes complex tasks where previous Sonnet models would stop short" and "checks its own output without explicitly being asked" (Anthropic, Claude Sonnet 5). Self-checking behavior matters more for this use case than raw reasoning score, because the failure mode is not a wrong answer. It is a confident, silent wrong action. The framework wrapped around the model matters here too, and I compare the real trade-offs between LangGraph, CrewAI, and the alternatives in my piece on agentic AI frameworks.
Long-document summarization: optimize for effective context, not advertised context
A 200-page contract, a full research report, a year of support transcripts: this shape needs a model that can actually reason across the whole document, not just accept it as input without erroring out. Those are two different capabilities, and the spec sheet only tells you about the first one.
The 2026 baseline for this tier is a 1M-token context window. Gemini 3.1 Pro and Gemini 3 Flash both ship 1M tokens of input and 64k of output, with Google positioning the Pro tier for "complex tasks that require broad world knowledge and advanced reasoning across modalities" (Google, Gemini 3 developer guide). Anthropic has also moved to price its full 1M-token window at standard input rates on its 4.6-generation models and later, with no long-context surcharge, so a 900,000-token request now costs the same per token as a 9,000-token one (Anthropic pricing).
The honest trade-off, which I go into in more depth in the choosing-an-LLM piece, is that effective quality on long-context tasks tends to degrade well before the advertised ceiling. A model that "supports" a million tokens is not guaranteed to reason accurately across all of them. Test at your real document length, not the marketing number, before you trust a summary of your longest contract to any model's context window.
Customer-facing chat: optimize for latency and policy adherence
A support chatbot is not a classification job and not an autonomous agent. It has to reply fast enough that a waiting customer does not bounce, and it has to follow a policy manual correctly across a multi-turn conversation, which is a narrower and harder bar than "sound helpful."
Tau-bench was built to test exactly this: retail and airline customer-service agents that must hold a policy manual and a live conversation with a simulated user at the same time, scored on whether the database ends up in the state the policy actually requires (Yao et al., tau-bench). This is the same reliability discipline as agentic tool-use, applied to a conversation instead of a task queue.
Cost math matters here too, because chat volume adds up fast. Anthropic's own worked example for a customer-support use case: 10,000 conversations, averaging roughly 3,700 tokens each, run on Claude Haiku 4.5 at $1 per million input tokens and $5 per million output tokens, cost about $37 total (Anthropic pricing). That is the economic case for a cost-tier model handling the routine 90% of turns, with escalation reserved for the policy-sensitive ones, the same routing pattern as the classification use case above.
Code generation: optimize for correctness on your repo, gated by your own tests
Coding is the use case with the loudest public benchmarks and the least trustworthy transfer from benchmark to your codebase. SWE-bench Verified, the standard reference for resolving real GitHub issues, is worth checking on its live leaderboard for current entrants, because a score printed in any article, including this one, goes stale within weeks.
What I trust more than a leaderboard rank is behavior described directly by the model's own release notes. Anthropic describes Claude Sonnet 5 as showing "sustained coding, tool use, and debugging well across messy technical contexts," at $2 per million input tokens and $10 per million output, against $5 and $25 for its Opus 5 tier (Anthropic, Claude Sonnet 5; Anthropic pricing).
Name the revenue consequence plainly: a cheaper model that passes your own CI and your own reviewers beats a frontier model that merely tops a public leaderboard, because the invoice difference is real every month and the leaderboard gap is often noise on your actual repo. Gate the decision on your test suite, not swebench.com's front page.
The repeatable process: shortlist, eval set, pilot, monitor
The matrix above tells you which property matters for a given use case. It does not tell you which specific model wins this month, because that answer keeps changing. Here is the process I run to keep the answer current instead of re-litigating it from scratch every time.
- Shortlist. Pull two to four candidates per use case, chosen against that use case's row in the matrix, not a global "best" list. A classification shortlist and a coding shortlist should rarely share a model.
- Eval set. Build 20 to 50 real examples per use case and score the property that matters: cost per call for classification, repeated-run success for agentic tasks, recall at your real document length for long context, p95 latency and policy compliance for chat, your own CI for code. I lay out the full harness for this in LLM evaluation.
- Pilot. Run the shortlist against the eval set at low traffic or in shadow before a full cutover. For agentic and chat use cases, run each task multiple times, not once. A single pass tells you almost nothing about reliability.
- Monitor. Set trip-wires that re-trigger the shortlist step automatically, instead of waiting for someone to notice.
Name the trade-off honestly: this loop costs real engineering time every quarter, time that competes directly with feature work. Skipping the monitor step is how a team ends up defending a model choice made for last quarter's price curve. The proof is dated exactly to this article: Claude Sonnet 5 launched at introductory pricing, and Anthropic's own pricing page confirms a scheduled 50% jump on output tokens was cancelled at the last minute rather than allowed to happen quietly (Anthropic pricing). If the price of one named model is not stable for a full quarter, your shortlist is not either.
The deeper reason this keeps happening is structural, not a rough patch. Frontier capability keeps getting cheaper and more capable at the same time, which is the pattern I trace through in The Bitter Lesson, Revisited. A shortlist built six months ago is stale even if nothing about your use case changed, because the models underneath it did not stand still.
How do I pick the right model for my use case in 2026?
Start from the job's shape, not a leaderboard. Identify which property decides it, cost per call, repeated-run reliability, effective context, latency and policy adherence, or correctness on your own tests, then shortlist two to four models against that property and score them on a small eval set built from your own data.
Do I need a different model for every use case, or can one model handle all of them?
One frontier model can technically handle all five shapes above, but it will overpay on the ones that did not need frontier reasoning. Most production systems in 2026 run a small portfolio: a cost-tier model for high-volume and routine chat, a stronger model reserved for agentic and coding work that genuinely needs it.
How often should I re-run a model selection process?
On a trigger, not a calendar. Re-run the shortlist when a candidate's price changes, a new model ships in your tier, your eval score drifts, or latency regresses past your threshold. Waiting for someone to notice is how teams end up running a stale choice for a full year.
What is the biggest mistake teams make when choosing a model?
Picking one model in a single debate and routing every use case through it. The classification job, the chatbot, the agent, and the coding assistant each reward a different property, and a decision optimized for one of them is, by default, wrong for the other three.
Run the matrix, build the eval set per use case, and treat the choice as a loop instead of a verdict. If you want a second set of eyes on the shortlist before you commit engineering time to it, ViitorCloud's technology consulting team can help you scope the eval and the pilot before you spend a quarter on the wrong model.
