Changing models mid-conversation

Hey!

I always see that it is not recommended to change models when you’re conversing with an agent, but… Can anyone explain why?

I get that cache has to be regenerated again, but performance? Why can it degrade the output?

In simple terms, if you change the model you are really interrupting the accumulated model-specific context and state, and some translation and compacting of this may be needed in the new model, and some important info will be lost.

However changing the “effort” under the same model should be fine. I often do this. Perform a big from-scratch task with highest effort, then do smaller updates on lower effort.

Yeah that’s what I usually do, because some tasks don’t need high effort.

Thanks Armin, clearer now.

Agreed, and the practical fix is to do the compacting yourself before you switch. Ask the current model for a short hand-off: the goal, what’s been decided, what was tried and failed, and what’s still open. Then start a fresh chat on the new model with that summary as the first message, rather than switching mid-thread. You lose the noise but keep the decisions, and the new model isn’t guessing at state it never had.

Answer already provided here, but in case you’re interested, you can spawn a new agent in the same session with the new agent set to a different model. Your main (original) agent can arbitrate the result. The spawned agent keeps its own context window.

I’ve noticed this message no longer appears in the Windows ChatGPT app under a codex thread. What changed?

Yeah, IDK. It appears sometimes :man_shrugging:

I think it is because there is a model context, changing the efforts is fine, but changing the model will likely compact that context or state. Either way information will be lost.