How an architect arrives at a model
- Define the barquality, latency, cost per task
- Build a small evalreal prompts and real data
- Test candidatescompare models on the same eval
- Tune effortbefore moving up or down a tier
Re-run when volumes, prompts or the model line-up change
The current line-up and what separates it
Anthropic’s models overview lists four generally available models at the time of writing. They differ on four axes an architect has to weigh together: capability, speed, price and features such as context size and how the model thinks.
| Model (API id) | Input / output per MTok | Context · max output | Positioned for |
|---|---|---|---|
Claude Fable 5.1 (claude-fable-5-1) | $10 / $50 | 1M · 128K | Hardest reasoning, multi-hour agent sessions; thinking always on |
Claude Opus 5 (claude-opus-5) | $5 / $25 | 1M · 128K | Complex agentic coding and enterprise work; the docs’ default starting point |
Claude Sonnet 5 (claude-sonnet-5) | $2 / $10 | 1M · 128K | Best balance of speed and intelligence |
Claude Haiku 4.5 (claude-haiku-4-5-20251001) | $1 / $5 | 200K · 64K | Fastest and cheapest; real-time and high-volume work |
Two details in that table change designs. First, Haiku 4.5 has a 200K window while the others have 1M — a long-document workload can rule it out on context alone. Second, the pricing page says models from Claude 4.6 onward charge no long-context surcharge: a 900K-token request costs the same per token as a 9K one. The cost of a big context is volume, not a premium rate (context budgeting is covered in 2.4).
Two starting strategies
The choosing-a-model guide describes two honest ways to begin. Efficiency-first: start with the small, fast model (Haiku 4.5) and move up only where evals show it falling short. This suits high-volume, straightforward, latency-sensitive or cost-sensitive work. Capability-first: start with a frontier model (the docs name Opus 5) to learn what “good” looks like, then try cheaper models against that bar. This suits complex reasoning, nuanced judgement and autonomous agentic work where accuracy matters more than cost.
Which model do I start with?
- Tight latency, huge volumeHaiku 4.5move up only if evals fail
- Balanced everyday workSonnet 5tune effort for cost
- Complex agentic or enterpriseOpus 5the docs’ default start
- Evals still fail at high effortFable 5.1deepest reasoning, highest cost
Effort: the lever inside a model
Before swapping models, look at effort. On current models output_config.effort takes low, medium, high (the default), xhigh or max, and it governs every output token — text, tool calls and thinking. Lower effort means fewer, terser tool calls and less or no thinking; higher effort means more planning and more thorough answers. The choosing-a-model guide advises tuning effort before switching models, and the models overview says to reach for Fable 5.1 when Opus 5 at higher effort still falls short.
Thinking has changed shape too. Current models use adaptive thinking (thinking: {"type": "adaptive"}), where Claude decides whether and how much to think, steered by effort. The older manual mode with budget_tokens is rejected on Claude 4.7 and later, and is still the only option on Haiku 4.5. Opus 5 turns adaptive thinking on by default, so expect more output tokens per request than an Opus 4.8 baseline. Thinking tokens are billed as output whether or not you display them.
import anthropic
client = anthropic.Anthropic()
def classify(ticket: str):
# Short, well-defined task: cheaper, faster answers
return client.messages.create(
model="claude-sonnet-5",
max_tokens=512,
output_config={"effort": "low"},
messages=[{"role": "user", "content": ticket}],
)
def investigate(incident: str):
# Hard, multi-step analysis: let the model think more
return client.messages.create(
model="claude-sonnet-5",
max_tokens=16000,
thinking={"type": "adaptive"},
output_config={"effort": "xhigh"},
messages=[{"role": "user", "content": incident}],
)| Lever | What it changes | When to pull it |
|---|---|---|
| Model tier | Underlying capability, price per token, context size | Evals fail even at high effort, or a feature is missing |
| Effort | How many tokens the model spends thinking, calling tools and explaining | Quality is close but cost or latency is off |
| Fast mode (Opus 5, research preview) | Up to 2.5× output speed at premium prices; no change in intelligence | Long streamed outputs where throughput, not first-token time, is the pain |
| Batch API | 50% off input and output; asynchronous | Work that can wait — nightly reports, backfills |
Mixing models in one system
Enterprise systems rarely run one model. The choosing-a-model guide describes pairing a lower-cost model with a frontier one: an executor handles the routine path and escalates hard decisions to a stronger advisor, or an orchestrator delegates bulk work to cheaper workers. The architect’s job is to draw the line — which requests are routine — and to prove it with evals on each path (orchestration patterns are covered in 1.4).
Traps the wrong answers are built from
| Tempting but wrong | Do this instead |
|---|---|
| Defaulting every request to the most capable model | Match each workload slice to the smallest model that passes its eval. |
| Choosing the cheapest model because the volume is high | Check the quality bar first; route the hard minority to a stronger model. |
| Switching tiers as the first response to a cost or quality problem | Tune effort (and batching for async work) before changing models. |
| Picking a model from benchmarks or launch posts | Run the candidates on your own prompts and data and compare. |
| Ignoring context and feature limits | Check window size, max output and thinking mode against the workload before comparing price. |
You should now be able to
- Compare Claude models on capability, latency, price, context window and thinking mode.
- Choose between efficiency-first and capability-first starting strategies for a workload.
- Use effort as the first lever for cost, latency and quality before changing model tier.
- Design a multi-model system that routes routine and hard work to different models.
- Justify a model choice with an eval on representative data rather than reputation.