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. Anthropic model-selection guide
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.

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.
Tap your answer to check it.
Tap your answer to check it.
Tap your answer to check it.
Tap your answer to check it.
Tap your answer to check it.
Tap your answer to check it.
Frequently asked
Does prompt caching ever hurt latency?
Is Batch API ever appropriate for a customer-facing agent?
Work this with your AI
Work this concept hands-on with Claude Code, Codex, or claude.ai. Copy a prompt, paste it into your assistant, and practise in tandem. Each one keeps you active (explain it back, get drilled, or build) rather than just reading.
- Drill it like the exam (scenario MCQs)Practice in the exam's scenario-MCQ format with trap awareness.
- Explain it back (Feynman)Build durable, transferable understanding of a concept you can half-state.
- Test me, adapting the difficultyActive recall practice on a concept you think you know.
- Check my prerequisites firstBefore studying a concept that keeps not sticking.
- Find the high-leverage 20%When a domain feels too big and you are short on time.
