Newsletter image

Subscribe to the Newsletter

Join 10k+ people to get notified about new posts, news and tips.

Do not worry we don't spam!

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Search

GDPR Compliance

We use cookies to ensure you get the best experience on our website. By continuing to use our site, you accept our use of cookies, Privacy Policy, and Terms of Service.

Deepseek - Language Model, Multi-Modal, AI Agent, Reasoning

DeepSeek-V4.1-Flash-1017

DeepSeek-V4.1-Flash-1017 lifts Terminal-Bench 4.0 from 31.2 to 42.3 under MIT. It also switched harness for that benchmark between releases, so the before-and-after column is not a controlled comparison.

License MIT
License MIT
TL;DR
  • Terminal-Bench 4.0 rises 31.2 to 42.3, closing the gap to Opus 5 from 20.6 points to 9.5
  • The harness changed too: DeepSeek Harness Minimal to the Claude Code harness on that same benchmark
  • Eleven benchmarks improved, no regressions, still MIT, still 1M context and no Jinja chat template
System Requirements
RAMServer class, 763B parameters of weights on disk
GPUMulti-GPU server via vLLM or SGLang, not a single card
VRAMLarge; BF16, FP8 E4M3 and INT8 tensors ship, about 64 community quantizations exist

DeepSeek calls this a minor update. On Terminal-Bench 4.0 it scores 42.3 where the previous release scored 31.2, which closes the gap to Opus 5 from twenty points to nine. That is not a minor update. It is also not a clean comparison, because DeepSeek changed the harness for that benchmark between the two releases, and the number in the "before" column was measured with the old one.

What shipped

DeepSeek-V4.1-Flash-1017 landed on 17 October 2026 as a point release of DeepSeek-V4.1-Flash, which we covered on 27 September. Same 763B of weights on disk, same 1M-token context, same MIT licence with no attribution clause and no revenue ceiling. It picked up 1,531 likes in its first two days.

DeepSeek's own description is improvements across reasoning, coding, agentic tasks and visual benchmarks, plus reduced task execution time and output length. The architecture notes are unchanged from the original card: the Causal Encoder-Decoder, the 552B backbone with 8B active at prefill and 16B at decode, the 890-byte-per-token KV cache. If you want that explained, the September piece does it; nothing in the architecture moved.

The deltas, which are large

Every figure below is DeepSeek-reported, from the 1017 model card. The first two columns are the only ones that are a controlled comparison, and even they are not, for reasons in the next section.

BenchmarkFlash-1017Flash (Sept)ChangeOpus 5GPT-5.6 SolGLM-5.3K3
Terminal-Bench 4.042.331.2+11.151.839.937.912.6
ProgramBench29.120.3+8.837.023.019.017.5
Apex Bench v1.172.164.6+7.565.854.356.647.8
HLE w/o tools42.636.8+5.856.344.542.043.5
Automation-Bench v1.0.660.554.8+5.750.345.848.846.7
Chartography (w/tools)83.078.9+4.184.079.9-68.1
Agents' Last Exam35.431.8+3.628.626.728.527.6
BabyVision (w/tools)92.589.6+2.994.188.9-85.7
DeepSWE v1.177.074.2+2.874.073.066.967.5
NL2Repo-Bench68.265.4+2.875.356.858.058.0
ZeroBench-main (w/tools)51.049.0+2.052.053.0-41.0

Eleven benchmarks, eleven improvements, no regressions. DeepSeek now leads the comparison set outright on four rows: Apex Bench, Automation-Bench, Agents' Last Exam and DeepSWE. On Agents' Last Exam it beats Opus 5 by 6.8 points, which is the widest open-versus-frontier margin on the card.

And the thing we complained about in September has partly fixed itself. Our September piece said the pattern was consistent: strong on benchmarks that have been public long enough to optimise against, clearly behind on the newest and hardest ones. Terminal-Bench 4.0 was the sharpest example, 31.2 against Opus at 51.8. Six weeks later that gap is 9.5 points. Humanity's Last Exam went from nearly twenty points behind to 13.7 behind. The trend line is real and it is pointed the right way.

The harness changed at the same time

Here is what nobody is reporting, and it is sitting in a footnote on both model cards.

The September card said, for the code agent benchmarks including Terminal-Bench 4.0, that "the model is evaluated with the Minimal mode of DeepSeek Harness and a 1M-token context window," and that the mini-SWE harness was used for DeepSWE v1.1, with the Claude Code harness reserved for SEC-Bench Pro.

The October card says something different: "We use the Claude Code harness for Terminal-Bench 4.0 and the Mini-SWE-V2 harness for DeepSWE v1.1."

So between the two releases, Terminal-Bench 4.0 moved from DeepSeek's own harness in Minimal mode to Anthropic's Claude Code harness, and DeepSWE moved from mini-SWE to Mini-SWE-V2. The recommended sampling moved too, from top_p=0.95 to top_p=1.0.

The 31.2 in the comparison column is the September measurement. It was taken under the old harness. Which means the +11.1 is a model change plus a harness change plus a sampling change, added together and presented as one number.

How much of that eleven points is the harness?

Nobody can say from the published data, and that is the honest answer. But we now have a decent idea of the order of magnitude, because Google Cloud AI Research published a paper on exactly this question eight days before DeepSeek shipped this model.

Harness2 measures what you get from rewriting the scaffolding around a model whose weights never change. Their headline result is 11.5 points on WorkBuddy-Bench for GLM-5. Their sharper result is that GLM-5 with a refined harness scores 75.7 while Gemini 3.5 Flash with its default harness scores 72.4, so the harness is worth more than the model difference in that pairing.

DeepSeek's reported delta is 11.1 points. Google's measured harness-only gain tops out at 11.5. Those are different benchmarks and different models and the comparison proves nothing on its own. What it establishes is that the harness term here is not a rounding error you can wave away. It is the same size as the whole reported improvement.

To be fair to DeepSeek: switching to the Claude Code harness for Terminal-Bench 4.0 is probably the more standard choice, not a thumb on the scale, and every lab's benchmark table is run inside some scaffold. The problem is not that they changed it. The problem is publishing a before-and-after column where the two rows were measured under different conditions, with the change disclosed only in a footnote and never quantified.

If DeepSeek re-ran the September checkpoint under the Claude Code harness and published that number, the ambiguity would vanish in an afternoon. Until then, treat +11.1 as an upper bound on the model improvement, not a measurement of it.

The other caveats on this card

Two more things to carry. First, the competitor columns are DeepSeek's own collation of other labs' figures, which were not produced under DeepSeek's harness or sampling settings. Cross-lab benchmark tables are approximately never like-for-like, on anybody's model card.

Second, the HLE row has a dagger variant: 42.6 overall and 44.0 on the text-only subset. Quote the right one. The card also carries no Terminal-Bench 2.1 row at all this time, which is the benchmark the September release led outright. Make of that what you will.

Running it

Still a server model, still not a laptop. The supported paths are vLLM, SGLang, Docker Model Runner and Transformers, and there are roughly 64 community quantizations for llama.cpp, Ollama and LM Studio if you want to try a smaller build.

vllm serve "deepseek-ai/DeepSeek-V4.1-Flash-1017"

Or through Docker Model Runner, which is the shortest path to poking at it:

docker model run hf.co/deepseek-ai/DeepSeek-V4.1-Flash-1017

Recommended sampling is temperature=1.0 and top_p=1.0, and DeepSeek recommends max_tokens of at least 256K, because reasoning tokens and the answer share that budget.

One real gotcha that will cost you an hour if you miss it: this release ships no Jinja chat template. There is a Python reference implementation in the encoding folder covering multi-turn, tool calling, thinking mode, numeric reasoning effort, mid-conversation system messages and interleaved images. For production DeepSeek points at deepseek-recipe, a 428-star MIT Rust library with Python bindings that speaks the Messages, Chat Completions and Responses formats. If you were planning to pass this to a tool that expects a chat_template in the tokenizer config, plan differently.

Who should care

Upgrade if you already run V4.1-Flash. Eleven improvements and no regressions, under the same licence, with shorter outputs. There is no argument for staying on the September checkpoint.

Start here if you need an MIT agentic model with vision and a long context, and you have the hardware. Agents' Last Exam and Automation-Bench are the rows where it beats everything on the card including Opus, and those are agent-loop benchmarks rather than single-shot ones.

Keep testing Opus alongside it if your work looks like Terminal-Bench 4.0, ProgramBench or HLE. Nine points, eight points and fourteen points are still real gaps, even after a good six weeks.

And the wider point this release makes by accident is worth more than the release. We are now at the stage where a lab can ship a genuine improvement and a scaffolding change in the same artefact and nobody downstream can separate them. The harness wars stopped being a tooling story and became a measurement problem.

Sources and further reading

Your under-ten-minutes move: open both model cards side by side and find the harness footnote on each. It takes about two minutes, it changes how you read the headline, and it is a habit that will serve you on every model card you open after this one.

Tested on: not independently tested. All benchmark figures, parameter counts and licence terms are DeepSeek-reported and were read from the Hugging Face model cards on the date below. The agentic evaluations were run inside harnesses chosen by DeepSeek, and those harnesses differ between the two releases compared above.
Date checked: 2026-10-19

Prev Article
PersonaPlex-7B
Next Article
Nemotron 3.5 Super VL

Related to this topic: