Cognition's own comparison table gives SWE-2 Flash exactly one win over SWE-2: 24.0 against 23.8 on FrontierCode 2.0. Two-tenths of a point, on Cognition's own benchmark, in a table Cognition built to show the smaller model at its best. It is also the most useful number in the release, because of what the rows underneath it do — and because of what the one row above the fold quietly leaves out.
The short version for someone deciding at a desk rather than reading to the end: the Flash is not a smaller SWE-2. It is a different model from a different base, tuned for the bounded end of the work, and priced at a fifth inside the same product. The 0.2-point win is real and it means less than it looks.
Two editions of the same benchmark disagree, and that is the first finding
Put the two FrontierCode rows next to each other and the table stops being a story about a small model catching up.
• FrontierCode 2.0 — SWE-2 Flash 24.0 vs SWE-2 23.8
• FrontierCode 1.1 Main — 45.5 vs 50.0
Same instrument, two editions, opposite verdicts. On the newer edition the Flash is fractionally ahead; on the older one it is 4.5 points behind. One of those rows will end up in a launch slide and the other will not, and which one is chosen tells you more about the presenter than the model.
There is a defensible reading in which both rows are true and neither is contradictory: the 2.0 edition is harder, absolute scores compress, and a newer task set may reward the thing the Flash was post-trained for. There is also a less flattering reading: a 4.5-point swing between two editions of one benchmark is a measure of how sensitive the instrument is, and a 0.2-point margin is inside that sensitivity. Cognition publishes no confidence intervals and no repeated runs, so the difference between 24.0 and 23.8 cannot be distinguished from noise with the information given. What can be said is narrower and still useful — on Cognition's newest benchmark the two models are level, not separated.
Where the thirteen points go
The rest of the table is not close, and the shape of the gap is the informative part.
• DeepSWE 1.1 — SWE-2 Flash 60.1 vs SWE-2 73.0
• Terminal-Bench 4.0 — 20.0 vs 27.3
• SWE-Atlas QA — 50.0 vs 56.3
• Terminal-Bench 2.1 — 89.2 vs 92.8
• SWE-Bench Pro v2 Hard — 89.9 vs 90.6
• ExploitBench — 34.8 vs 36.1
Order those by how much freedom the task gives the agent and a pattern appears. On SWE-Bench Pro v2 Hard — a well-specified issue with a defined fix — the Flash is 0.7 points behind. On Terminal-Bench 2.1 it is 3.6 behind. On Terminal-Bench 4.0 the gap is 7.3, and on DeepSWE 1.1, the long-horizon row, it is 12.9. The more the task requires the model to decide what to do next, the wider the gap.
That is a plausible mechanism, not a proven one. A model with a tenth of the active parameters has less capacity to hold a long plan together, and long-horizon benchmarks are where that shows up first. But Cognition does not publish turn counts, token counts or per-task breakdowns for the Flash the way it did for SWE-2 — where it reported mean steps falling from 127 to 53 at medium effort — so the mechanism is inferred from the shape of the table rather than demonstrated. Treat it as a hypothesis that matches your own experience or does not.
Price and speed, in the only currency Cognition quotes
Neither model has a per-token price, because neither has an endpoint. What Cognition publishes is a ratio: SWE-2 Flash costs one-fifth of SWE-2 and runs at three times the speed, 200 tok/s against 60. Both figures come from the same replay methodology — each model's run on Terminal-Bench 4.0's gsea-proteomics task, replayed at simulated rates with transcripts shortened to equal length — so both describe an intended serving profile rather than a measured one.
The ratio is still the most decision-relevant number in the release, provided you do the next step. Price per unit of work is not the same as cost per solved task, and the second is what a team actually pays. If the fifth is a fifth of the cost of a task — the only reading that makes the claim meaningful inside a subscription product — then the arithmetic is straightforward.
• On DeepSWE 1.1 — the Flash solves 82% as many tasks at a fifth of the cost, which is roughly 4.1 times cheaper per solved task even on the row where it loses worst.
• On FrontierCode 2.0 — it solves slightly more tasks at a fifth of the cost, which is roughly 5 times cheaper per solved task.
• On Terminal-Bench 4.0 — it solves 73% as many at a fifth of the cost, roughly 3.7 times cheaper per solved task.
Every one of those figures assumes the fifth applies to the cost of a task and not to a token, and that the solve rates transfer to your queue. Cognition does not say which, and the assumption is doing a lot of work. If the fifth is a token price on a model that emits more tokens per task, the advantage narrows and could invert on the long-horizon rows. The arithmetic is a sensitivity check, not a measurement, and it should be run again against your own logs.
What is not in doubt is the promotional window. SWE-2 Flash is free in Devin Desktop and CLI through 30 November 2026. SWE-2's own free window ended on 10 October. For the next few weeks the price comparison inside Devin is one-fifth against zero, which is not a comparison at all — it is an evaluation period with a deadline.
They are not the same lineage, and the parameter gap is the least interesting thing about them
SWE-2 is post-trained from Kimi K3: 2.8 trillion parameters, 104B active per token, a base that had already been through extensive RL for agentic coding. SWE-2 Flash is post-trained from Inkling-Small: 276B total, 12B active, Apache 2.0, from Thinking Machines. Cognition's own size chart puts the Flash at 1x and SWE-2 at 10.1x. In active parameters the ratio is closer to nine to one.
Now line that up against the scores. An eight-and-a-half-fold difference in active parameters buys 4.5 points on FrontierCode 1.1 Main and nothing at all on FrontierCode 2.0. Meanwhile the post-training step itself is worth far more than the parameter difference: Cognition's table shows Inkling-Small at 21.5 on FrontierCode 1.1 Main and the Flash at 45.5, a gain of 24 points from mid-training and RL on the same base. The variance attributable to post-training is roughly five times the variance attributable to the entire parameter gap between the two models.
That is the finding the pair produces together, and it is bigger than either model. It also explains why Cognition is willing to sell the smaller one at a fifth of the price: the expensive part of SWE-2 was never the base model. It was the data, the verifiers and the RL environments, and the Flash reuses that investment on a cheaper base.
Two caveats belong here. The comparison is one vendor's table on benchmarks the vendor controls, and nothing in it has been independently reproduced. And the base models are not equivalent inputs — Kimi K3 arrives with a million-token context and native vision, while Inkling-Small is a different architecture with different multimodal support — so "same post-training, cheaper base" is Cognition's framing rather than an isolated variable.
The effort-setting asymmetry
SWE-2 shipped with three documented reasoning-effort levels — medium, high and max — and Cognition's September launch explained what each was for: medium steps into action sooner, while high and max plan more, explore more of the codebase and spend more on verification. It also stated that every model's best score across effort settings was reported.
SWE-2 Flash documents no effort control at all. The launch post mentions none, and the benchmark table carries no setting column. So the comparison as published is SWE-2 at its best against the Flash at an unstated configuration — which is a matched comparison only if the Flash has one setting, and an unfair one in an unknown direction if it has several.
If the Flash genuinely has no effort control, that is a product difference worth naming rather than a documentation gap. Effort is how you trade cost for depth on a per-task basis, and a model without it gives you one setting for a queue that contains both trivial and hard work. That is precisely the trade the ratio is supposed to let you make.
Which queue each one belongs in
Cognition's own framing is the most honest guide here. It says smaller models "are increasingly able to handle a significant portion of the work that software agents do, such as automations, code review, feature development, and updating documentation", and that SWE-2 Flash was developed for that work. Read that list against the benchmark shape and the two agree: bounded tasks, a clear definition of done, high volume, low tolerance for latency.
• If the task fits in a prompt and the definition of done is unambiguous — a review pass, a doc update, a small feature, a scheduled automation — the Flash is the right default, and the cost-per-solved-task arithmetic above says it is several times cheaper even where it solves fewer tasks.
• If the agent has to decide what to do next more than a handful of times — a migration, a cross-repo refactor, a debugging session where the first hypothesis is usually wrong — the 13-point DeepSWE gap is exactly what you are buying with SWE-2, and the ratio does not compensate for it.
• If you cannot tell which of those a task is, start it on the Flash and escalate. That is the decision Cognition built the effort levels for on SWE-2, and the Flash's missing effort control makes escalation a routing decision rather than a parameter.
The mistake to avoid is using the 0.2-point win as licence to move the hard queue. It is one benchmark, one edition, one vendor, and it sits inside the instrument's own sensitivity.
Outside Devin, neither is a candidate
Neither model has an API. Neither has public weights. If your harness is your own, the pair is not a choice you can make, and the free window does not help you — it is a trial inside a product you have to buy.
The reachable half of this stack is the base. Kimi K3 is routed on OrcaRouter as kimi/kimi-k3 at $3.00 per million input tokens and $15.00 per million output tokens, with a 1M-token context window and native tool calling, at the provider's list price with no markup added. One API covers more than 200 models, which makes the queue split above implementable outside Devin: a routing rule can send bounded work to a cheap model and escalate the long-horizon jobs to a stronger one, without the client knowing which answered. Automatic failover belongs behind the escalated path, because the model you escalate to is the one you cannot afford to have unavailable.
That is a different product from SWE-2 Flash, and it is not a substitute for it. It is what you do when the thing you want to evaluate has no endpoint.
What would settle it
Three disclosures would turn this comparison from a vendor's table into evidence. An independent run of DeepSWE 1.1 and Terminal-Bench 4.0 on both models, by someone who is not Cognition and does not use Cognition's harness. A statement of the effort setting and scaffold behind each row in the Flash table, matching what the SWE-2 launch provided. And a repeated run, so that a 0.2-point margin can be distinguished from run-to-run variance.
Until then the defensible reading is the narrow one. SWE-2 Flash is a cost-optimised sibling built on a much smaller base, level with SWE-2 on the newest benchmark and clearly behind on long-horizon work, sold at a ratio that makes it several times cheaper per solved task on the evidence available. That is a good product decision and a modest technical claim. The 0.2-point win is not evidence that it replaced anything — it is evidence that on one instrument, on one day, the gap closed far enough to disappear into the noise.











