How to Choose a Model
Link copied!
The honest answer is to shortlist from benchmarks and reputation, then run a small eval on your actual task. Model rankings flip depending on the workload. That said, here are good starting defaults by need (July 2026). Swap specific names for whatever tops the live boards when you read this.
By task:
- Coding & agents → a frontier flagship (Claude Opus/Sonnet, GPT-5.6); open option: Qwen3.6-Coder, Kimi K3, DeepSeek V4. Weight SWE-bench Verified + Terminal-Bench, and remember the harness matters as much as the model.
- High-volume / cheap (classification, extraction, routing) → a mini/flash/haiku tier, or self-hosted open (DeepSeek, Qwen). Don't pay flagship prices for structured extraction.
- Long context (whole codebases, long documents) → Gemini (~2M), or 1M-context GPT/Claude. Beware: quality degrades toward the end of very long windows ("lost in the middle"), so test retrieval accuracy, don't assume it.
- On-device / private → Gemma 3n, Phi-4-mini, Ministral 3, small Qwen, quantized via Ollama/llama.cpp (Local & Self-Hosting Stack).
- Vision / multimodal → Gemini (strong native multimodal incl. video/audio), GPT-5.6, Claude; open: Qwen-VL, Llama 4.
- Reasoning-heavy (math, hard logic, research) → flagships with "thinking"/extended-reasoning mode enabled; open: DeepSeek R-series, GLM.
- Data residency / sovereignty → Mistral (EU), Cohere (on-prem/enterprise), or self-hosted open weights.
Decision shortcuts:
- Default to a flagship until cost or latency forces you down a tier: it's cheaper than debugging quality problems from an under-powered model.
- Prefer an aggregator/gateway (OpenRouter, a router) early on so you can swap models with a config change, not a rewrite.
- Decouple your code from the model: program against a provider-agnostic client so "choosing a model" stays a one-line decision you can revisit weekly.
- Re-evaluate quarterly. At the current pace, the best model for your task probably changes a few times a year.