How to Choose an AI Model for the Task: a 5-Axis Capability Matrix Instead of a Ranking of Names
Choose a model by five capability axes, not by the name in the release headline — a framework you won''t have to rewrite after every update.
On this page
- Why a Model’s Name Is Already a Stale Capability
- The Reasoning Axis: When You Actually Need a Brain, Not a Fast Mouth
- The Cost Axis: Why the Most Expensive Model Is Almost Never the Best for Your Task
- Counter-Pressure: Maybe “Take the Smartest” Is Actually Right?
- The Context Axis: A Million Tokens You Won’t Actually Be Able to Read
- The Latency Axis: The Mirror in Which You Are the One Waiting
- The Tools Axis: The Last Load-Bearing Beam Holding Up Agents
- The Matrix: One Table Worth Printing Out
- Third Thesis: Why the Matrix Outlives Releases While a List Does Not
An engineer in San Francisco opens his team’s internal wiki and deletes a line. The line read: “Standard production model — GPT-5.4.” He wrote it himself four months ago, with the same confidence with which he once drove a nail into a wall. Now that nail sticks out into empty air: a new version dropped, a cheaper alternative appeared for a different task, the marketing team already printed a slide with the outdated name. He erases the line and freezes for a moment over the cursor blinking in the gap. What do you write instead of a name?
The question looks technical — the kind you solve with one line in a config. It’s deeper than that: it’s a question about what to anchor a decision to when you’ll have to make it again and again.
According to release trackers, in 2023 the median interval between models from frontier labs was 37.5 days; by 2024 that interval had compressed to 13.5 days; in 2026 it fell to 11 days over the year — and if you roll all labs into a single stream, a new model appears roughly every three days (officechai.com). Think about that from the engineer’s vantage point: the document he writes about “the best model” goes stale faster than it can pass internal review. He’s not writing an instruction. He’s writing an obituary — in advance, for the line he just typed.
This scene isn’t about vendor selection. It’s about a mechanism of cognitive economy we call the alibi of simplicity: we grab a model name because a name is one memory token, while a capability is five. A name gives the illusion that the decision has been made once and for all. But a name is a label on a jar whose contents are repackaged every quarter. I’ll unpack this through three lenses: the engineer paying per token; the buyer drowning in brands; and the architect building a system for a decade. The razor thesis: the correct unit of selection is not a model but a capability axis; a framework built on axes will outlive any release, while one built on names will rot by next Friday.

Why a Model’s Name Is Already a Stale Capability
A model name is only a snapshot. It fixes a specific set of parameters at a specific week. A capability is an axis: a continuous scale along which snapshots move. When you anchor a decision to a snapshot, you anchor it to a moment that has already passed.
The mechanics here are simple and merciless. A lab retrains a model, keeps the same name or bumps the number by one, and the characteristics shift: the price drops, the context grows, latency changes, tools that didn’t exist yesterday appear. Your “GPT-5.4 for everything” document describes a jar whose contents have already changed. Your competitor, who wrote down “need a model with strong reasoning and latency under a second,” simply checks new snapshots against the same axes — and never rewrites anything.
Let’s name this framework directly: the Five-Axis Matrix. Five dimensions onto which any task projects onto any model — reasoning (depth of thinking), context (memory capacity in a single request), latency (response speed), cost (price per token), tools (reliability of function calling). These five axes aren’t novel — they appear in most serious selection frameworks of 2026 as the base evaluation dimensions (iternal.ai). What’s new is the disciplinary rule: axes first, names second. First the task profile on five scales, and only then — matching which snapshot fits that profile today.
The irony that underscores the point: companies that standardize on “the best model” rewrite their documentation more often than they test their code. They’ve built a process whose only stable output is the work of rewriting itself.
The Reasoning Axis: When You Actually Need a Brain, Not a Fast Mouth
The first axis is depth of reasoning. And here the first trap appears: people confuse “smart model” with “model that thinks for a long time.” These are different things, and the difference costs money.
Reasoning models generate internal “thinking tokens” before producing a visible response. This yields depth on complex tasks — multi-step math, scientific reasoning, code analysis — but it pays in time. On a speed benchmark, a reasoning model at the highest thinking level shows time-to-first-token of around 15 seconds (benchlm.ai), because those 15 seconds it’s thinking silently. For an analytical report that will be read once a week, 15 seconds is nothing. For a chatbot responding to a customer in real time, 15 seconds is a lost customer.
That is exactly what the axis means: reasoning is not “more is always better.” It’s a scale on which you mark the point where the task genuinely demands depth. Sorting support tickets by category requires no reasoning at all. Proving a mathematical lemma requires it at maximum. Between those poles lies your entire real product.
“Does this task need reasoning?” — a question worth asking for each task separately, not once for the whole application. Because an application isn’t one task. It’s a dozen tasks with very different profiles that you’re mistakenly serving with one model, because it’s simpler to hold one name in your head.

The Cost Axis: Why the Most Expensive Model Is Almost Never the Best for Your Task
The second axis — and the second major thesis of this piece: the most expensive model is almost never the best one for your specific task. It’s the best on average across all tasks at once — and you’re not solving all tasks at once. You’re solving yours.
Look at the price spread. In 2026, the cost of one million input tokens ranges from $0.10 in budget models to $30 in flagship reasoning models — roughly a 300× gap within a single provider (cloudzero.com). Cross providers and the chasm widens: output tokens from a cheap frontier model cost around $0.28 per million against $180 from a flagship — meaning for output you pay hundreds of times less for the same unit of text (cloudzero.com). And on specific tasks, one published analysis recorded an extreme case: the same work cost $0.04 on one provider and $25 on another — a difference of 625× (cloudzero.com).
One hundred times is not 60% more. That’s a different order of arithmetic. And at the sharp edges — all six hundred.
Now the most interesting part — performance. A fine-tuned small model on a narrow task outperforms a large universal one while working dozens of times cheaper: by 2026 estimates, a model sharpened to a specific job at 1–7B parameters delivers higher accuracy than a general flagship API while costing about 50× less in production (bentoml.com). The sharpest example — on a tool-calling benchmark: a preprint showed a fine-tuned small model at 77.55% accuracy versus 26% for the base large model (arxiv.org). Smaller model. Nearly three times higher accuracy. Lower price. Because it was sharpened to one axis, not forced to be pretty good at all of them.
One caution is needed here, because without it the thesis becomes a naive “just take the cheapest.” The correlation between cheapness and narrow specialization isn’t causality. A small model wins not because it’s cheap; it’s cheap and wins because it was trained on one task. If your task is broad and unpredictable — open-ended support, a research assistant, an agent that selects tools on its own — savings on a cheap narrow model will deliver an army of errors, each of which will cost you a customer. Cheapness isn’t a virtue. It’s a consequence of a correctly narrowed task. Narrow the task first — the savings come on their own.
Counter-Pressure: Maybe “Take the Smartest” Is Actually Right?
Now I’ll honestly punch my own thesis, because without that it’s just another confident line in someone’s wiki.
The strongest counter-argument goes like this: all this matrix is premature optimization. While you’re profiling tasks on five axes, drawing tables, and arguing about latency, your competitor took the most expensive model, plugged it into everything, and already shipped. Engineering time costs more than tokens. If the most expensive model is “good enough” everywhere, then the decision “take the best one and don’t think about it” saves the most expensive resource — team attention. And prices are falling: Epoch AI estimates that API costs at a comparable quality level fall 40 to 900× per year depending on the task and benchmark (epoch.ai), so tomorrow even the flagship will be cheap.
This argument has weight. And in one scenario it’s simply correct: early prototype, small volume, you don’t yet know what you’re building. Then yes — take one strong model, don’t optimize, validate the idea. The matrix is bureaucracy over a garage.
What would definitively refute my thesis? If the price spread were not 100× but, say, 2× — optimization wouldn’t be worth the effort. If a large model didn’t degrade on long context (more on that below) — there’d be no technical reason to look elsewhere. If volumes stayed small forever. But the moment you reach scale, the arithmetic flips hard: an average enterprise with 10,000 requests per day pays millions per month through a flagship API, while a self-hosted 7B model on a single GPU comes in at under $1,000 per month (iterathon.tech). At scale, “don’t think” isn’t attention savings. It’s a subscription to your own bankruptcy. The matrix pays for itself exactly when your product starts working.
The Context Axis: A Million Tokens You Won’t Actually Be Able to Read
The third axis — context, memory capacity in a single request. And here the market is selling you a number that lies.
In 2026, context windows stretch from 128,000 to 10 million tokens (tokenmix.ai). That sounds like you can throw your entire corporate knowledge base into the model and get a perfect answer. You can’t. There’s a phenomenon researchers call “lost in the middle”: models retrieve information from the middle of a long context noticeably worse than from the beginning or the end, and effective window capacity, as measured, is typically 60–70% of the advertised maximum (morphllm.com). This isn’t an isolated observation. The independent RULER benchmark shows the same in numbers: GPT-4 drops from 96.6 points at 4,000 tokens to 81.2 at 128,000, and Llama 3.1-70B from 96.5 all the way down to 66.6; nearly all models that are perfect at “needle in a haystack” fail harder tasks the moment context lengthens (medium.com).
Translated into human terms: if you placed a critical fact at position 400,000 in a million-token window, there’s a real chance the model will miss it or confuse it — and the deeper into the middle, the higher that chance. This isn’t memory — it’s a sieve with a nice marketing sticker about volume.
The context axis is not “how much fits in,” but “how much the model will actually hold in focus.” So the correct engineering decision on this axis is almost always not “take a bigger window” but “narrow what I feed in.” Good retrieval over a knowledge base that places five relevant paragraphs at the top beats mindlessly dumping a million tokens — cheaper, faster, and more accurate. A large window isn’t a solution to the memory problem. It’s a temptation to not solve it.
The Latency Axis: The Mirror in Which You Are the One Waiting
Now the fourth axis, and here you need a mirror. Imagine yourself not as the engineer, but as your own user.
You opened the app, asked a question, and you’re waiting. One second passed. Two. On the third you’ve already clicked to another tab. That’s where the latency axis lives — not in a metrics dashboard, but in that very second when your patience runs out before the model’s response arrives.
The numbers here are specific. The fastest lightweight models deliver time-to-first-token of around 600 milliseconds (benchlm.ai). The fastest by throughput generate 146–173 tokens per second (benchlm.ai). And a reasoning model at full thinking depth — those same 15 seconds of silence before the first word (benchlm.ai). And here’s a paradox that catches even experienced engineers: a lightweight version of a model can be slower than the full version on short requests — some “mini” variants take over 2 seconds to first token versus under 900ms for the full version (benchlm.ai). “Smaller” does not mean “faster.” You have to measure, not guess from the name.
The antagonist of this story has a face, and it isn’t the vendor. It’s a product manager — let’s call him Max — who demands simultaneously “the smartest model” and “instant response,” without noticing that these two requirements pull the latency and reasoning axes in opposite directions. Max wants reasoning depth and the speed of a lightweight model in a single API call. Physics doesn’t work that way. Either the model thinks long and gives depth, or it responds instantly and gives surface. The matrix doesn’t resolve this conflict for Max — it does something more honest: it shows him the trade-off to his face, in numbers, before he promises it to a customer.
The Tools Axis: The Last Load-Bearing Beam Holding Up Agents
The fifth axis — reliability of function calling. Once it was exotic. In 2026, in a world of agents, it’s structural.
If your system is an agent that calls functions on its own, walks databases, runs code — then the model’s ability to form a tool invocation correctly matters more than its erudition. A smart model that garbles the API call format is worse than a mediocre one that calls it flawlessly. This is precisely the axis on which specialized models most loudly beat large universal ones: a fine-tuned model on the tool-calling benchmark showed 77.55% versus 26% for the base model (arxiv.org) — because it was trained on this exact axis, not on general chattiness.
That’s the whole matrix: five load-bearing beams. Not “which model is better,” but “which beam does this specific task put weight on.” And here is why it’s better to keep all these axes in one table than in your head.
The Matrix: One Table Worth Printing Out
Here is the framework in action. On the left — typical task classes. Across the top — five axes. Inside — where to mark the point. No model names: you’ll fill those in yourself by matching today’s snapshots to the needed profile. Tomorrow the snapshots will change — the table stays.
| Task class | Reasoning | Context | Latency | Cost | Tools |
|---|---|---|---|---|---|
| Ticket classification / routing | low | small | critical (fast) | minimize | not needed |
| Real-time chat support | medium | medium | critical | low–medium | basic |
| Analytical report / research | high | large | unimportant | can be high | moderate |
| Code agent / refactoring | high | medium–large | moderate | medium | critical |
| Long-document summarization | medium | large (with retrieval!) | moderate | medium | not needed |
| Autonomous agent with tools | high | medium | moderate | medium | critical |
| Bulk boilerplate text generation | low | small | moderate | minimize | not needed |
How to use it. Step one: take your real task and honestly mark a point on each of the five axes — not “I want everything at maximum,” but where it genuinely hurts. Step two: eliminate models that fail even one axis that is critical for you (too slow — out of real-time; unreliable on tools — out of the agent). Step three: among those that remain, take the cheapest one that clears the threshold. Not the most expensive. The cheapest one that passes. Step four — and the only one you’ll have to repeat — every quarter, re-check the snapshots against the profile. You don’t touch the axes themselves for years. Only the names in the empty cells of your head change.
Let me walk through one live task, because an abstract table has never saved anyone. Imagine a bot that sorts incoming support tickets by department — tens of thousands per day. Run the axes. Reasoning: low — this is classification into a handful of categories, you don’t need to prove a theorem here. Context: small — the model sees one ticket, not the entire customer history. Latency: critical — tickets pour in like a river, each extra second multiplies across tens of thousands. Cost: minimize, for the same reason. Tools: not needed — the model simply returns a label. The profile converged: you need the cheapest fast lightweight model that clears the accuracy threshold. A flagship at $30 per million isn’t just unnecessary here — it would be a joke your finance team would laugh at reading the invoice. And now the trick: when next month a new cheap model comes out, and the month after that another one, you don’t rewrite a single sentence of this paragraph. You change one name in one cell. The task profile hasn’t shifted a pixel.
“Why now?” — a fair question, because back in 2018 this matrix would have been meaningless. Then there was essentially one axis — “does it work at all” — and one or two models with nothing to choose between. Reasoning as a separate mode, million-token contexts, reliable tool-calling, a 100× price spread — all of this emerged in the 2023–2026 window. The matrix became necessary exactly when the axes reached five and the snapshots reached hundreds. Before, you were choosing from a two-item menu. Now you’re choosing coordinates in a five-dimensional space where the menu is rewritten every week. A name is poor navigation in that space. Axes are the only decent kind.

Third Thesis: Why the Matrix Outlives Releases While a List Does Not
Let me collapse three theses into one mechanism. First: choose by axes, not brands — because a brand is a snapshot and an axis is a scale. Second: the most expensive is almost never the best for the task — because “best on average” and “best for your task” are different maxima. Third, and the one everything was written for: the matrix outlives releases because it describes the task, not the model.
A document that describes a task ages at the speed of your business; a document that describes a model ages at the speed of someone else’s lab — and that lab ships a new model every three days.
That’s the entire difference in longevity. Your tasks change when your product changes — once a quarter, every six months, once a year. Model names change every time someone in California cuts a release. Tying a decision to the task, you’ve tied it to your own clock. Tying it to a name — to someone else’s, which ticks sixty times faster.
That engineer from the opening of this piece, frozen over the cursor in the empty line, wasn’t wrong about the name. He was wrong about the category. He was looking for what name to write in place of the stale one — when he should have deleted the “model” column entirely and introduced five “axes” columns. Not “what do I write instead of the name,” but “why was a name ever there at all.”
He didn’t know that and wrote a different name. Four months later another engineer on the same team opened the same wiki, found the same line with a new stale name — and froze over the same blinking cursor. As long as you choose models by name, that cursor will blink in your team forever. The matrix is the only known way to finally turn it off: not to write the correct name, but to delete the very column where it stood.
Frequently asked
What is the 'Five-Axis Matrix' and why does it matter if models keep updating anyway?
It's a framework in which any task is projected onto five capability dimensions: reasoning (depth of thinking), context (memory capacity in a single request), latency (response speed), cost (price per token), and tools (reliability of function calling). The point is the disciplinary rule of 'axes first, names second': you describe a task's profile on five scales, then simply match model names to it. The axes don't change for years — only the names in the cells go stale, so you never have to rewrite the framework after each release.
Why does a model's name expire while a capability axis doesn't?
A name is a snapshot of parameters at a specific week; an axis is a continuous scale along which snapshots move. A lab retrains a model, keeps the same name or bumps the number by one, and the price, context, and latency all shift — your 'GPT-5.4 for everything' document now describes a jar whose contents have already been repackaged. Someone who wrote down 'need strong reasoning and latency under one second' simply checks new snapshots against the same axes and never rewrites anything.
Why is the most expensive model almost never the best one for my specific task?
Because 'best on average across all tasks' and 'best for yours' are different maxima, and you're not solving all tasks at once — you're solving yours. The price spread in 2026 reaches roughly 150× within a single provider, and on specific tasks a recorded case showed a difference of 625×. A fine-tuned small model on a narrow job outperforms a large flagship and costs about 50× less — on a tool-calling benchmark it hit 77.55% accuracy versus 26% for the base model.
Does a million-token context window solve the memory problem?
No — the number lies. There is a 'lost in the middle' effect: models retrieve information from the middle of a long context noticeably worse than from the beginning or end, and effective capacity is typically 60–70% of the advertised maximum. The RULER benchmark confirms this: GPT-4 drops from 96.6 at 4k tokens to 81.2 at 128k. So the right answer is almost always not 'take a larger window' but 'narrow what I feed in': good retrieval that places five relevant paragraphs at the top beats mindlessly dumping a million tokens.
Maybe 'just use the smartest model and don't think about it' is actually correct, since engineering time costs more than tokens?
On an early prototype — yes: small volume, you don't yet know what you're building, the matrix is bureaucracy over a garage. But at scale the arithmetic flips hard: an enterprise with 10,000 requests per day pays millions per month through a flagship API, while a self-hosted 7B model on a single GPU costs under $1,000 per month. At scale, 'don't think' isn't attention savings — it's a subscription to your own bankruptcy; the matrix pays for itself exactly when your product starts working.
Comments
Signed-in readers only — to keep it human, not a bot swamp.