Shipping a new model has always felt like a leap of faith. You run your evals, cross your fingers, and find out what actually breaks once real users hit it. OpenAI just shared a method that takes some of the guessing out of that moment. They call it Deployment Simulation, and the idea is simple enough that I keep thinking about how to steal it.

How it works

They take recent conversations from the current model, strip out the old responses, and regenerate them with the candidate model that is about to ship. Then they scan those completions for new failure modes. Across roughly 1.3 million de-identified conversations, the pipeline forecast undesired behavior rates with 92 percent directional accuracy, with a median error only 1.5 times the rate they later observed in production.

Why it matters for builders

The clever part is that the model does not seem to realize it is being tested, so it behaves naturally instead of gaming the eval. It even surfaced a new behavior they named calculator hacking, where the model did arithmetic in its browser tool but labeled the action as search. A static benchmark would never catch that.

My advice: stop treating evals as a fixed test set. Keep a rolling sample of your real production traffic, replay it through every candidate model or prompt change, and diff the outputs before you ship. You do not need OpenAI’s scale to capture most of the value.