Lesson 27 of 30
"Always reach for the most capable model" is the default instinct and usually the wrong call — the actual skill is matching a model to how hard the task really is.
12 min read
Every option explains itself — why the right one is right, and why each wrong one is wrong. Miss one and it comes back later on a spaced-repetition schedule.
Question 1 of 3
A feature classifies short support tickets into one of six fixed categories. What's the strongest reason to prefer a small, cheap, fast model over the most capable model available for this task?
Hints without spoilers, and a plain explanation of why a wrong answer was wrong — answered only from this lesson. Free account, no card.
Sign up freeWhat interviewers actually ask about this, and what a strong answer has to cover.
A strong answer covers
Likely follow-ups
Picking a model for a feature isn't a single decision, it's a tradeoff across several axes at once:
The framing worth internalizing: match the model to the task's actual difficulty, not "always use the most capable model available." Running every request, including trivial ones, through an expensive frontier model is a real and common source of waste — it's slower and costlier for no quality benefit on tasks a cheaper model already handles correctly.
Task A: classify a support ticket into one of 6 categories
-> short input, short output, well-defined labels
-> a small, fast, cheap model gets this right essentially every time
Task B: read a 40-page contract and flag ambiguous liability clauses
-> long input, requires genuine reasoning and judgment
-> worth paying for a stronger model here
Both tasks might live in the same product, even the same codebase, but routing both through the same "best available" model means overpaying (and adding latency) on Task A for no quality gain, while correctly needing that spend on Task B. A codebase built with a provider-agnostic entry point — this app's own lib/ai/chat/handler.ts is exactly that shape, a single function every AI call site goes through rather than each call site talking to a provider's SDK directly — makes it straightforward to route different tasks to different models, and to swap providers later, without rewriting every call site.
"How would you decide which model to use for a new AI feature?" is a real question, and naming cost, latency, task-appropriate capability, context window, and lock-in — rather than reflexively answering "the most powerful one available" — is what separates someone who's actually shipped AI features from someone repeating marketing copy.