Try this first
Look at what Rover does in one session: plans a change, reads six files, writes code, and
summarises what it did.
Those are not equally hard. Reading six files to answer “which file defines X?” is mostly
volume. Writing a correct edit to a subtle function is not.
You are paying the same rate for both.
One agent, several models
There is no rule that an agent uses one model. The model is a parameter on each call.
| Job | Model | Why |
|---|---|---|
| The main loop: planning, editing, judgement | The strongest you can afford | Errors here cost the most |
| Sub-agent reading and searching | The cheapest capable one | High volume, low judgement |
| Summarising a session | A middle option | Mechanical, but must be accurate |
| Classifying or routing | The cheapest | One decision, narrow |
You did this already in Lesson 6.6, where sub_agent connected to a cheaper model while
the main loop stayed on the strong one.
The rule of thumb
Match the model to the cost of being wrong.
A wrong file summary costs a re-read. A wrong edit to a subtle function costs a bug that
reaches someone. Spend where mistakes are expensive.
The one trap
Caches are per model. Switching models mid-conversation invalidates your cache, so the saving
you thought you made can vanish into cache misses.
The pattern that avoids this: keep one model for the main loop, and put the cheaper model in
a sub-agent with its own transcript. Two conversations, two caches, no invalidation. Which
is exactly the shape Lesson 6.6 already gave you — not by accident.
Do not guess
Every claim in this lesson is checkable, and you now have the tool:
- Run your eval with the main loop on the cheaper model.
- Compare pass rate and cost.
- Keep the change only if the pass rate holds.
Sometimes the cheaper model is fine and you save most of your bill. Sometimes it fails on the
two cases that matter and you keep the expensive one. Both are useful answers, and neither is
available by reasoning about it.
The model is a parameter on each call. Spend where being wrong is expensive, keep one model
per transcript, and let the eval decide.
Try this before the next lesson
Run your eval three ways: everything on the strong model, everything on the cheap one, and
split (strong main loop, cheap sub-agent).
Put pass rate and cost side by side. The split row usually wins, and now you have your own
evidence rather than mine.