My rule for routing between a cheap model and an expensive one
Default to a cheap workhorse model, move up to an expensive one only for architecture, cross-system judgment, deep debugging and final review.

What you get
The rule I enforce on myself for every agent I run: when to stay on a cheap model and when to move up to an expensive one
Who it is for
For anyone running sub-agents or multi-agent workflows who sends every task, even the smallest one, to the most expensive model without thinking.
Why this matters
According to a market analysis from June 2026, there is a price gap of more than 20x between different model tiers, and the average large organization burns more than $11 million a year on models, often without knowing whether the model it picked was even needed for the task.
- This is the rule I enforce on myself for every sub-agent I run in Claude Code and every multi-agent workflow.
- Not theory, not another generic "best practice." This is how I work every day.
The rule in two lines
- Default: always the cheap model, the workhorse.
- Move up to the expensive model only when the task itself demands it, never just because it "might help."
When you do move up to the expensive model: the checklist
- Architecture and system design decisions: choosing a layout, folder structure, boundaries between modules, decisions that are hard to change later.
- Cross-system judgment: when the task touches several systems at once and requires understanding the full picture.
- Complex debugging that needs deep context: when you have to trace a long chain of calls, dependencies and side effects.
- Final holistic review: the last check before merge, on the whole change as one piece.
- Everything not on this list stays on the cheap workhorse model: typos, text changes, running a test, routine code that follows an existing pattern.
What happens when the cheap agent gets stuck
If an agent on a cheap model comes back stuck, or asks for a deeper level of thinking than it has, I do not move every task to the expensive model. I reroute just that specific task to the expensive model, solve it there, and keep going with the workhorse model for everything else.
What I do not do
I never drop below the workhorse tier I set as the default, unless I explicitly asked for it for a specific purpose. "Even cheaper to save a bit more" is a different mistake: dropping below the minimum quality level that is likely to work.
Quick summary
- Default: cheap model, always.
- Move up to the expensive model only for: architecture, cross-system judgment, deep debugging, final review.
- Stuck? Reroute just that task, not the whole process.
- Do not drop below the workhorse tier without an explicit request.
How to use this now
Start using this rule today, and you will see how many tasks that ran on the expensive model for no reason never needed it at all.