TLDR
Every production Claude deployment sits on a capability/speed/cost triangle, and the exam trap is treating it as one dial ('use the biggest model') instead of independent levers - model tier, effort, thinking budget, prompt caching, and batching - that trade one axis for another *within* a single model choice, not just across the model family.
What it is
Every production Claude deployment sits on a triangle of capability, speed, and cost, and an architect's job is to pick a defensible point on that triangle per use case rather than defaulting to "use the biggest model everywhere." Anthropic frames model selection explicitly around these three axes, then layers additional knobs - effort, thinking budget, caching, batching - on top.
Those knobs let an architect trade one axis for another within a single model choice, not just across the model family. Justifying a configuration decision means naming which axis was binding (latency SLA, cost budget, or accuracy floor) for that specific pipeline - not restating a generic "use the best model" default.
How it works
Model tier is the first, coarsest lever. Anthropic's own guidance frames Opus as the default for complex agentic/enterprise work, with lighter models reserved for latency- or cost-sensitive paths; the three evaluation criteria to establish up front are capabilities, speed, and cost.
`effort` is a second, finer-grained lever within a model. Recent Opus and Sonnet models expose an effort parameter that trades intelligence for latency/cost *without switching models* - useful for tuning a single deployed model rather than re-architecting per task.
Extended/adaptive thinking trades latency and token cost for reasoning quality. Adaptive thinking lets Claude dynamically decide how much reasoning budget a request needs based on complexity, while manual budget_tokens extended thinking lets an architect set a stated reasoning-token target for a request. `budget_tokens` is a target, not a strict limit - actual thinking-token usage can still run under or over it, especially on complex tasks - so it narrows variance versus adaptive thinking but is not a guaranteed hard ceiling on its own; a real latency SLA still needs a request-level timeout or max_tokens cap as the enforced backstop.
Fast mode is a direct, priced latency-for-cost knob. Fast mode (research preview, Opus 4.7/4.8) delivers up to 2.5x higher output speed at premium pricing - trading dollars directly for latency on a specific request path.
Prompt caching and Batch API optimize token usage and cost-performance directly. Prompt caching typically cuts cost and latency together on repeated context (system prompts, tool defs, long documents) via cache_control breakpoints with 5-minute or 1-hour TTLs - one of the few levers that improves both axes at once rather than trading them, though a cache hit is a faster-and-cheaper *typical* outcome, not a guaranteed one (a cache write still costs more than a plain call, and a miss falls back to full-price processing). The Batch API instead trades latency for cost: async Message Batches processing gets a roughly 50% cost discount versus the realtime Messages API, appropriate only for non-time-sensitive workloads.

The trap is treating accuracy vs. latency vs. cost as a single fixed dial (bigger model = better, always) rather than recognizing the independent levers - model tier, effort, thinking budget, caching, batching - that let an architect optimize each axis somewhat independently, and justifying a configuration choice against the specific SLA/cost constraint rather than a generic "use the best model" default.
Where you'll see it
Overnight compliance classification
Haiku-tier + Batch API + prompt caching on the shared system prompt across 50,000 documents - cost is binding, latency is irrelevant.
Live support chat
Sonnet/Opus with adaptive thinking, no batching - latency and accuracy dominate; effort tunes the single deployed model rather than forcing a tier switch.
Side-by-side
| Lever | Trades | Effect | Best for |
|---|---|---|---|
| Model tier (Haiku/Sonnet/Opus) | Capability vs speed vs cost | Coarsest lever - sets the whole cost/quality baseline | Setting the default per use case |
| `effort` parameter | Intelligence vs latency/cost | Fine-tunes ONE model without switching tiers | Tuning a single deployed model per task |
| Adaptive / extended thinking | Reasoning quality vs latency/tokens | Adaptive = dynamic, no target; manual budget_tokens = stated target (not a strict limit) | Tighter variance than adaptive; pair with a timeout/max_tokens cap for a true hard ceiling |
| Fast mode (Opus 4.7/4.8, preview) | Speed vs price | Up to 2.5x output speed at premium pricing | Latency-critical paths willing to pay more |
| Prompt caching | Cost AND latency together | Rare double-win on repeated context | Shared system prompts / tool defs / long docs |
| Batch API | Latency vs cost | ~50% discount, async-only | Non-time-sensitive bulk workloads |
Question patterns

6 V2 questions wired to this concept. Tap an answer to check it instantly - you'll see whether it's right and why - then expand the full breakdown for the mental model and all four rationales.
An insurer classifies 200,000 routine claim documents each day. A fast model is highly accurate on clear forms but weak on a small ambiguous subset; sending every document to the strongest model exceeds both the batch window and budget. Which design best preserves quality where it matters?
Frequently asked
Showing 2 of 2 questions
