Stop blaming the weights for your LLM's "regression
If you want to stop chasing ghosts and actually benchmark performance, you have to engineer your way out of the "auto" trap.
1. Kill the "Auto" modes. If you’re working with reasoning models, force the specific mode every single time. I've seen routers try to be "efficient" by quietly demoting complex prompts to faster, weaker models to save compute. If you don't explicitly command the model, the router will optimize for their margin, not your output.
2. Pin your API calls. Never call a generic model name like gpt-4. Always use the exact versioned ID. The weights behind a specific versioned ID are static. If a provider pushes an update, it should trigger a new ID, ensuring your production environment remains untouched by silent system prompt churn.
3. Control your own harness. If you're running agents, stop inheriting the default settings from a web interface. You need to own your system prompts and verbosity limits. Look at the recent Claude Code situation—users were convinced the model had degraded, but the post-mortem showed it was just three minor wrapper changes: a reasoning-effort downgrade, a history bug, and a verbosity cap. The actual model weights hadn't moved an inch.
Stop trying to prompt-engineer your way out of a bad wrapper. Control the environment instead.
https://anthropic.com/engineering/april-23-postmortem