If every task hits your most expensive model, you are not quality-first. You are burning budget on glue.
If every task hits the cheapest model, you are not efficient. You are buying rework.
Routing matches model class to failure cost.
As of mid-2026, surfaces (Claude Code, Codex, Cursor, Gemini CLI) are all multi-model-ish. The skill is not collecting APIs. It is a policy an agent can follow.
Companion maps: stack mid-2026 · verification loop.
Kill the default approach
Default: "auto" everything, or always Opus-class "to be safe."
What breaks first:
- Frontier spend on renames and CSS
- Cheap models on auth and money paths
- Parallel agents on one branch
- Model hops every ten minutes that reset context
If you cannot name four lanes, you are not routing. You are gambling.
By the end you will have
- The Four-Lane Routing Matrix
- A paste-ready Model Routing Policy for AGENTS.md
- A clean handoff protocol for one model switch
- A one-week practice that proves the policy earns rent
- Explicit when not to multi-model
Mechanism: failure cost, not model IQ
One mechanism dive: the right model is the cheapest class whose failure mode you can afford.
- Plan wrong → days lost → pay for frontier
- Bulk rename wrong → cheap rework → pay for flash
- Auth wrong → incidents → frontier + human
Routing is cost-of-error matching. Not brand loyalty.
Magnet: Four-Lane Routing Matrix
Name: Four-Lane Routing Matrix
| Lane | Job | Model class (typical) | Failure if wrong |
|---|---|---|---|
| Plan | Architecture, tradeoffs, acceptance | Frontier reasoning | Bad skeleton costs days |
| Implement | Multi-file edits in scope | Strong coding agent (Claude-class default) | Messy diffs, scope creep |
| Bulk | Renames, types, boilerplate | Cheap / flash / small | Usually recoverable |
| Truth | Security, auth, money, final review | Frontier + human | Production incidents |
Do not invent five more lanes until these four are habit.
Paste: Model Routing Policy
## Model routing (project)
- Plan / design: frontier reasoning model
- Implement default: Claude Code (or Cursor on Claude backbone)
- Stuck > 2 failed verify loops: switch family once (e.g. Codex)
- Bulk / mechanical: cheaper model only if green command exists
- Auth, keys, payments, migrations: frontier + human approve
- Never: two frontier agents thrashing the same bug in parallel
## Handoff paste (when switching once)
1. Scope sentence
2. Failing verify output
3. Last hypothesis that failed
4. Ask: minimal next experiment onlyYou should see: lane names used in session notes ("bulk lane") and at most one family switch per stuck bug.
When to switch models
Switch once with the handoff paste, not thrash.
If the second model also fails, the problem is usually spec or environment, not IQ. Return to scope and green command (verify loop).
Surfaces as seats
| Surface | Good default role |
|---|---|
| Claude Code | Implement + skills + long loops |
| Cursor | Editor-native multi-model + UI |
| Codex | Second opinion, alternate implement |
| Gemini CLI | Bulk / large-context when it fits |
Pick one implement home for two weeks. Tool hopping is not a stack. Full map: stack mid-2026.
Worked example: one week
Day 1-2: write Four-Lane policy in the repo; name implement home.
Day 3-4: all bulk tasks on cheap lane only; green command required before merge.
Day 5: hard feature - plan on frontier, implement on default agent, truth review with human on auth touchpoints.
Day 6: force one stuck-bug switch with handoff paste; no parallel agents.
Day 7: prune - which lanes did you actually use? Delete unused surface FOMO.
You should see: lower frontier spend on glue, fewer thrash sessions, receipts that name lanes.
Failure modes / anti-patterns
| Pattern | Why it fails |
|---|---|
| Auto forever | You cannot debug what you cannot name |
| Parallel agents same branch | Merge theater |
| Frontier for CSS renames | Cost without quality lift |
| Cheap model for crypto/auth | Silent security debt |
| Model hop every 10 minutes | Context reset tax |
Solana / high-risk paths
Route tighter:
- Plan + implement: strongest coding agent you trust
- Tools: simulate-first, no mainnet keys in agent context
- Review: second model or human before broadcast
Details: Solana AI agents beginner stack.
When not to multi-model
- Greenfield learning week: one surface only
- You have no green command yet (verify first)
- Incident already has a known one-line fix
- Policy forbids external models (document local-only lanes)
Multi-model without a verify loop multiplies mess.
Cost control without a spreadsheet
- Cap frontier sessions to hard plans and truth reviews
- Require green command before any second-agent spend
- Track rework time first; API cents second
Bottom line
Frontier for truth and hard plans. Strong agent for implement. Cheap for bulk. Human for irreversible.
Your next action: paste Four-Lane Routing Matrix into AGENTS.md and label today's first task with a lane name before you open a tool.