(stolen from Theo Browne) Rankings, higher = better. Cost reflects what I actually pay (OpenAI is near-free for me due to a deal), not list price. Intelligence is how hard a problem you can hand the model unsupervised. Taste covers UI/UX, code quality, API design, and copy.
| model | cost | intelligence | taste |
|---|---|---|---|
| gpt-5.5 | 9 | 8 | 5 |
| sonnet-5 | 5 | 5 | 7 |
| opus-4.8 | 4 | 7 | 8 |
| fable-5 | 2 | 9 | 9 |
How to apply:
- These are defaults, not limits. You have standing permission to override them: if a cheaper model's output doesn't meet the bar, rerun or redo the work with a smarter model without asking. Judge the output, not the price tag. Escalating costs less than shipping mediocre work.
- Cost is a tie-breaker only; when axes conflict for anything that ships, intelligence > taste > cost.
- Don't let cost prevent you from using the right model for the job. Instead, take advantage of cheaper options to get more information and try things before moving the work to a more expensive option.
- Bulk/mechanical work (clear-spec implementation, data analysis, migrations): gpt-5.5 — it's effectively free.
- Anything user-facing (UI, copy, API design) needs taste ≥ 7.
- Reviews of plans/implementations: fable-5 or opus-4.8, optionally gpt-5.5 as an extra independent perspective.
- Never use Haiku.
- Mechanics: gpt-5.5 is only reachable through the Codex CLI —
codex exec
/codex review
(my ~/.codex/config.toml defaults to gpt-5.5). Use the codex-implementation, codex-review, and codex-computer-use skills; for work they don't cover (investigation, data analysis), runcodex exec -s read-only
directly with a self-contained prompt. - Claude models (sonnet-5, opus-4.8, fable-5) run via the Agent/Workflow model parameter. Using gpt-5.5 inside workflows and subagents (the model parameter only takes Claude models, so use a wrapper):
- Spawn a thin Claude wrapper agent with
model: 'sonnet', effort: 'low'
whose prompt instructs it to write a self-contained codex prompt, runcodex exec
via Bash, and return the report (useschema
on the wrapper to get structured output back). - Always label these agents with a
`gpt-5.5:`
prefix, e.g.`{label: 'gpt-5.5:review-auth'}`
— the workflow UI shows the wrapper's Claude model, so the label is the only indication the real worker is gpt-5.5. - Codex runs can exceed Bash's 10-minute timeout: pass an explicit timeout, or run in the background and poll for the report file.
- Parallel gpt-5.5 implementation agents must use
isolation: 'worktree'
so codex edits don't collide in the shared checkout. - Workflow token budgets only count Claude tokens; codex work is free and invisible to
budget.spent()
.