
DeepSeek shipped V4-Flash-0731 on July 31 with the same architecture and the same size as the April preview, 284 billion total parameters with 13 billion active per token. The only thing that changed was the post-training pass.
On DeepSWE the score went from 7.3 to 54.4, and Flash now beats DeepSeek's own larger V4-Pro Preview on every agent benchmark the company published.
The open weights got a dated Hugging Face repo. The API got a floating pointer, deepseek-v4-flash, which now resolves to a materially different model than it did last week.
The numbers
From DeepSeek's model card, comparing the new checkpoint against the April Flash preview and against the larger V4-Pro preview:
| Benchmark | Flash-0731 | Flash Preview | Pro Preview |
|---|---|---|---|
| Terminal Bench 2.1 | 82.7 | 61.8 | 72.1 |
| Cybergym | 76.7 | 38.7 | 52.7 |
| Toolathlon-Verified | 70.3 | 49.7 | 55.9 |
| NL2Repo | 54.2 | 39.4 | 38.5 |
| DeepSWE | 54.4 | 7.3 | 12.8 |
The changelog line is unusually blunt for a release post: DeepSeek-V4-Flash-0731 keeps the same model architecture and size as the preview, and was only re-post-trained.
Artificial Analysis, measuring independently, put the model at 50 on its Intelligence Index against 40 for the previous Flash, and its GDPval-AA v2 Elo at 1559 against 1189.
The gains did not land evenly
GPQA Diamond moved one point, to 91. Humanity's Last Exam moved five, to 37. AA-LCR moved three.
Terminal Bench moved 21 points. DeepSWE moved 47.
The knowledge is the same knowledge. What changed is whether the model can hold a plan across forty tool calls, read a stack trace, and do something different instead of confidently reissuing the command that just failed.
That gap is what most agent frameworks exist to paper over. Retry wrappers, reflection prompts, forced planning steps, scratchpad files: a lot of that scaffolding was built because the model underneath could not sustain a long task on its own. A post-training pass on agent trajectories moves that competence into the weights, where it costs you nothing to maintain.
The cheap tier beat the expensive tier
This is the part worth sitting with before your next model selection meeting.
V4-Pro Preview activates far more parameters per token and bills $0.435 in and $0.87 out per million. Flash-0731 bills $0.14 and $0.28, roughly a third. On the agent benchmarks DeepSeek published, the cheaper model wins, and not narrowly. DeepSWE, 54.4 against 12.8.
The intuition that the expensive tier is the capable tier holds when both models came out of the same post-training pipeline. It stops holding the moment one of them gets a new one. Pro is still running preview-era post-training, and DeepSeek says the official Pro release follows soon, which presumably flips the ordering back.
So the tier ranking inside a model family is a snapshot of which checkpoint got the most recent training run. It is not a stable property of the parameter counts, and it will invert on you without warning.
The score came out of a harness you cannot download
Code agent tasks were run in what DeepSeek calls minimal mode of DeepSeek Harness, at max reasoning effort, temperature 1.0, top_p 0.95. DeepSeek Harness has not been released.
So 82.7 on Terminal Bench is 82.7 inside DeepSeek's scaffolding, with DeepSeek's tool definitions and DeepSeek's retry behaviour. Artificial Analysis, running its own setup, measured 79. That is a small gap and the direction of the result survives it, which is better than most vendor claims manage. But what you get is your harness multiplied by their weights, and only one of those two factors actually shipped.
Artificial Analysis also flagged the model as very verbose, burning roughly 3.4 times the median output tokens. At $0.28 per million that is still cheap. Cost per completed task is the number that matters, not cost per token, and verbosity is where the two come apart.
The versioning is backwards
Two distribution channels shipped this model, and they came with very different contracts.
The weights sit at deepseek-ai/DeepSeek-V4-Flash-0731, MIT licensed, dated, immutable, right next to the April DeepSeek-V4-Flash repo. If you self-host, you choose when to move, you can run both side by side, and you can diff their behaviour on your own traffic.
The API is deepseek-v4-flash. Same string as last week. DeepSeek's instruction is to set the model name to deepseek-v4-flash to get the latest version. No dated alias in the changelog, no deprecation window on the old behaviour.
The customers with the least control over the stack get the silent swap. The customers who downloaded a few hundred gigabytes of weights get version pinning for free. That is the wrong way round, and it is not unique to DeepSeek.
A capability increase is the hard case, harder than a regression. Regressions get caught, because something breaks and someone files a ticket. An improvement changes tone, verbosity, tool-call frequency, and plan length, sails through your smoke tests, and quietly invalidates every prompt you tuned against the old checkpoint. That 3.4x verbosity figure is the tell. Whatever reads as smarter also tripled what lands in your context window, your logs, and your invoice.
What this changes on Monday
Pin what you can pin. If a provider offers dated model strings, use them in production and treat the undated alias as a staging channel.
Where you cannot pin, your eval suite is the only warning system you have left. It has to run on a schedule against real traffic shapes, not just before your own releases, because with a floating pointer there is no release event on your calendar to trigger it.
Track output tokens per completed task next to accuracy. A post-training pass that makes a model deliberate harder shows up on the bill before it shows up on the dashboard.
And keep a golden set of agent traces, not just prompt and response pairs. Single-turn evals would have caught almost none of this change. GPQA moved one point. The thing that moved 47 points only appears when you make the model work for forty steps.
The axis everyone is watching is the wrong one
The interesting claim in this release is not that a Chinese lab shipped a good cheap model. That happens most months now.
It is the demonstration that a 47-point swing on real agent work was sitting in the post-training pipeline the whole time, not in the parameter count. Teams waiting for the next big base model to make their agents reliable are waiting on the wrong axis, and the gains they are waiting for may arrive under a model name that never changes.