Bij de meeste migraties begin je met het wijzigen van een modelnaam. DeepSeek V4.1 Flash 1017 deed het omgekeerd: op 17 oktober 2026 behield DeepSeek de naam deepseek-flash en veranderde het model erachter. Iedereen die deepseek-flash, deepseek-v4-flash of deepseek-v4-flash-vision-exp aanriep via de API van DeepSeek, werd zonder een regel code te wijzigen overgezet.
Op AIHubMix heeft het nieuwe checkpoint een eigen ID, deepseek-v4.1-flash-1017, dus jij kiest wanneer je overstapt. Hoe dan ook, dit zijn de problemen om te controleren:
| Probleem | Faalt | Waar je het merkt |
|---|---|---|
| reasoning_content niet teruggestuurd | Luid | 400 na de eerste toolaanroep |
| Model gewisseld onder dezelfde naam | Stil | Uitvoerlengte, formaten, evaluatiescores |
| Prijzen in piekuren | Stil | Rekening verdubbelt in piekuren op werkdagen |
| Effort standaard op max | Stil | Agentruns 1,6–1,8x langer |
| Denken telt mee voor max_tokens | Beide | Afgekapte antwoorden |
| Search- en Fetch-facturering | Stil | Vanaf 31 okt, 16:00 UTC |
AIHubMix heeft een korte set testverzoeken uitgevoerd tegen deepseek-v4.1-flash-1017 op 19 oktober 2026 (03:02 UTC). Resultaten van die run zijn hieronder als zodanig gemarkeerd.
1. De 400 die toolloops breekt
Wat je ziet. Het tweede verzoek na een toolaanroep mislukt met HTTP 400 en deze melding, zoals gemeld in een GitHub-issue tegen opencodex voor V4.1 Flash op 15 oktober:
[invalid_request_error] The `reasoning_content` in the thinking mode must be passed back to the API.
Dezelfde tekst komt voor in eerdere meldingen tegen opencode, LangChain en claude-code-router voor V4 Pro en V4 Flash.
Waarom. Volgens de gids over thinking mode van DeepSeek moet, wanneer een verzoek tools bevat, de reasoning_content van elke eerdere assistant-beurt worden teruggestuurd, "zelfs voor beurten waarin het model geen toolaanroep deed". Als dat niet gebeurt, "retourneert de API een 400-fout". Zonder tools is het terugsturen optioneel en wordt het genegeerd. Clients lopen hier meestal op vast omdat hun message-serialiser content en tool_calls bewaart maar het extra veld weglaat.
Het verzoek dat het veroorzaakt. Beurt twee van een toolloop, met het assistant-bericht zonder reasoning_content:
curl -s https://aihubmix.com/v1/chat/completions \
-H "Authorization: Bearer $AIHUBMIX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-v4.1-flash-1017",
"tools": [{"type": "function", "function": {"name": "get_weather",
"parameters": {"type": "object", "properties": {"city": {"type": "string"}}, "required": ["city"]}}}],
"messages": [
{"role": "user", "content": "What is the temperature in Hangzhou? Use the tool."},
{"role": "assistant", "content": null, "tool_calls": [{"id": "call_00_example", "type": "function",
"function": {"name": "get_weather", "arguments": "{\"city\": \"Hangzhou\"}"}}]},
{"role": "tool", "tool_call_id": "call_00_example", "content": "{\"celsius\": 18}"}
]
}'
Op de eigen API van DeepSeek is dit de vorm die de 400 geeft in de publieke meldingen. Via AIHubMix gaf dezelfde vorm in de testrun van 19 oktober HTTP 200 en een normaal antwoord. Dat was één run, dus bouw er niet op als garantie.
Hoe je het oplost. Behoud het veld, welke route je ook gebruikt:
msg = resp.choices[0].message
messages.append(msg) # carries content, reasoning_content, and tool_calls over
- Voeg in je eigen code het hele assistant-bericht toe, niet een zelfgemaakte kopie ervan.
- Upgrade in frameworks: opencode heeft de round trip in latere releases gerepareerd, en opencodex heeft op 16 oktober zijn fix samengevoegd.
- Als laatste redmiddel kun je voor toolloops
{"thinking": {"type": "disabled"}}instellen. Dat voorkomt de fout, maar je geeft dan de redenering op die het model goed maakt in agentwerk.
2. Dezelfde naam, een ander model
De changelog van DeepSeek van 17 oktober zegt het duidelijk: "De manier van API-aanroepen en de prijzen blijven ongewijzigd, gebruik gewoon deepseek-flash om toegang te krijgen tot het nieuwste model." Er is geen vastgezette naam voor het september-checkpoint, en de twee oudere Flash-namen draaien nu ook op 1017.
Er treedt geen fout op, maar drie dingen kunnen verschuiven:
- Uitvoerlengte. 1017 is getraind om kortere outputs te produceren. Parsers, UI-indelingen en prompts die de lange uitleg van het september-model verwachtten, krijgen mogelijk minder tekst dan voorheen.
- Evaluatiebasislijnen. Scores en kosten die je op het september-checkpoint hebt genoteerd, beschrijven niet langer wat
deepseek-flashteruggeeft. - Gedrag. DeepSeek heeft 1017 opnieuw getraind voor end-to-end projectwerk. Agents kunnen verschillende paden nemen naar hetzelfde resultaat.
Wat te doen. Leg bij elke evaluatierun het model en de datum vast, en voer nu je regressieset opnieuw uit. Het antwoord laat zien welk checkpoint heeft geantwoord: in de test van 19 oktober bevatte elke respons via AIHubMix "model": "deepseek-v4-1-flash-261017". Log dat veld, dan wordt een ongeannoncieerde wissel zichtbaar op de dag dat hij gebeurt.
3. Factureringsregels die je makkelijk mist
Piek en daluren. DeepSeek rekent de volle prijs van 01:00–04:00 en 06:00–10:00 UTC op werkdagen, en de halve prijs op alle andere uren, het hele weekend en op Chinese feestdagen. AIHubMix volgt dezelfde tijdvensters en prijst elk verzoek op het moment dat het werd ingediend, dus een lang streamingverzoek dat buiten de piek begint, blijft buiten de piek.
| Item | Piek | Daluren |
|---|---|---|
| Invoer, cache-miss | $0.3098 | $0.155 |
| Invoer, cache-hit | $0.0062 | $0.0031 |
| Uitvoer | $1.2392 | $0.62 |
Lijstprijzen van AIHubMix per 1M tokens voor deepseek-v4.1-flash-1017. Bovenop loopt een tijdelijke korting van 30%.
Cache-hits zijn 50 keer goedkoper dan misses. Agents sturen bij elke aanroep dezelfde systeemprompt, tooldefinities en geschiedenis opnieuw. Houd dat voorvoegsel stabiel, zet alles wat per aanroep verandert aan het eind, en dan wordt het grootste deel van elk verzoek tegen het cache-hit-tarief gefactureerd.
Denken wordt als uitvoer gefactureerd. Denken staat standaard aan, en redeneertokens tellen mee voor zowel de rekening als max_tokens.
Search en Fetch. DeepSeek heeft op 17 oktober zijn nieuwe Search- en Fetch-API's opengesteld, tegen $0.75 per 1.000 geslaagde aanroepen elk. Server-side aanroepen die via DeepSeek Harness, Claude Code of Codex op de API van DeepSeek worden gedaan, zijn gratis tot 31 oktober 2026, 16:00 UTC. Daarna voegt een agent die bij elke beurt zoekt een kosten per aanroep toe bovenop de tokens.
Wat het optelt tot. Onder de vermelde aannames (40 aanroepen, 1,2M invoertokens met 90% cache-hits, 60K uitvoertokens) kost één agentsessie $0.118 in de piek en $0.059 buiten de piek tegen AIHubMix-lijstprijzen. Batchruns naar daluren verplaatsen is de grootste afzonderlijke besparing.
4. Instellingen die meer kosten dan ze opleveren
Effort. De API biedt low, high (standaard) en max. De paper van DeepSeek over V4.1 Flash koppelt ze aan interne effortwaarden van 50, 75 en 100, en meldt dat de stap naar max "agenttrajecten verlengt met 1,6–1,8× voor slechts marginale verbeteringen". De eigen Claude Code-installatiegids van DeepSeek zet nog steeds CLAUDE_CODE_EFFORT_LEVEL=max. Voor dagelijks agentwerk is high de betere standaard.
DeepSeek koppelt ook andere effortnamen aan zijn drie niveaus: minimal wordt low, terwijl medium en xhigh beide high worden. Een tool die vijf niveaus aanbiedt, geeft je in feite er twee of drie. In de test van 19 oktober accepteerde AIHubMix low, high en max op Chat Completions.
max_tokens. De modelkaart raadt minstens 256K aan voor lange agentruns, omdat denken het uitvoerbudget deelt. Bij een kleine limiet kan een moeilijke stap het hele budget opmaken aan denken. Controleer op finish_reason: "length".
Samplingparameters. In thinking mode worden temperature, presence_penalty en frequency_penalty zonder fout geaccepteerd en hebben ze geen effect. top_p wordt vastgezet op 0,95–1,0. Als een pipeline op lage temperatuur vertrouwde voor deterministische output, krijgt het die niet meer.
5. Agents met echte rechten
1017 is getraind met reinforcement learning op volledige projecten, dus het neigt ertoe door te bouwen tot de klus af lijkt. Zijn antwoorden zijn ook korter, wat betekent dat er minder toelichting is over wat het heeft gewijzigd. Twee gewoontes helpen:
- Controleer diffs en commandologs, niet de samenvatting die het model ervan geeft.
- Draai het in een sandbox met een allowlist van commando's, en vereis goedkeuring voor alles wat destructief is (verwijderen, force pushes, migraties, uitgaande netwerkaanroepen).
DeepSeek zelf wijst op de sterkte van de Flash-lijn bij beveiligingstaken; het september-checkpoint scoorde 88.1 op CyberGym in de eigen tabel van DeepSeek. Dat is nuttig voor defensief werk, en een reden te meer om de rechten strak af te bakenen.
6. Coding-tools
AIHubMix levert deepseek-v4.1-flash-1017 via alle drie de protocollen die de coding-tools nodig hebben. In de test van 19 oktober gaven Chat Completions, Anthropic Messages (inclusief een tweebeurts toolaanroep) en de Responses API allemaal 200 terug.
Claude Code (Anthropic Messages). Wijs het naar AIHubMix zoals in de Claude Code-gids en stel het model in:
export ANTHROPIC_BASE_URL="https://aihubmix.com"
export ANTHROPIC_AUTH_TOKEN="$AIHUBMIX_API_KEY"
export ANTHROPIC_MODEL="deepseek-v4.1-flash-1017"
export ANTHROPIC_DEFAULT_HAIKU_MODEL="deepseek-v4.1-flash-1017"
export CLAUDE_CODE_SUBAGENT_MODEL="deepseek-v4.1-flash-1017"
export CLAUDE_CODE_EFFORT_LEVEL="high"
- Thinking: in de test kwam een Messages-verzoek zonder effortinstelling terug zonder thinking-blok, terwijl een verzoek met
output_config.effortthinking teruggaf. Houd een effortniveau ingesteld zodat 1017 redeneert, en controleer de requestlogs. - Context: de gids van DeepSeek voegt een
[1m]-suffix toe aan de modelnaam voor het eigen endpoint; dat suffix is via AIHubMix niet getest. - Bekend probleem: via sommige routers heeft Claude Code thinking-inhoud laten vallen en de hierboven genoemde 400 gekregen (claude-code-router-issue 1378). De tweebeurts-tooltest via het Messages-endpoint van AIHubMix liep daar niet tegenaan.
Codex (Responses API). Volg de Codex CLI-gids: een aihubmix-provider met base_url = "https://aihubmix.com/v1" en wire_api = "responses", en model = "deepseek-v4.1-flash-1017". Om het uit /model te kiezen, voeg je het toe aan een model_catalog_json-bestand met context_window ingesteld op 1.000.000.
- Effort: het catalogusscript van de gids biedt
low,mediumenhigh. Onder de mapping van DeepSeek komenmediumenhighbeide op dehighvan DeepSeek uit, dus je krijgt twee echte niveaus. - Bekend probleem: nieuwere Codex-versies verwerpen de hele catalogus als één verplicht veld ontbreekt. Het script in de gids voorkomt dat.
DeepSeek Harness (Chat Completions). DeepSeek zegt dat 1017 het best werkt met Harness 0.2.1-rc.1 of later. Voeg AIHubMix toe als OpenAI-compatibele provider volgens de DeepSeek Harness-gids en voeg deepseek-v4.1-flash-1017 toe als model. Die gids is geschreven voor een eerdere Harness-release, dus controleer de veldnamen als de UI is veranderd.
Een smoke test van 15 minuten. Maak een kleine repo met één falende test:
mkdir flash-smoke && cd flash-smoke && git init -q
printf 'def mean(xs):\n return sum(xs) / len(xs)\n' > stats.py
printf 'from stats import mean\n\ndef test_mean():\n assert mean([1, 2, 3]) == 2\n\ndef test_empty():\n assert mean([]) == 0\n' > test_stats.py
Start je tool in die map en vraag: "Voer pytest uit, repareer de falende test door alleen stats.py te wijzigen, en voer daarna pytest opnieuw uit." Het slaagt als:
- de agent ten minste twee toolaanroepen doet (de tests uitvoeren, het bestand bewerken) zonder 400;
- beide tests aan het eind slagen;
- het AIHubMix-verzoeklog toont
deepseek-v4.1-flash-1017, en de kosten van de sessie bedragen hooguit enkele cent.
Migratiechecklist
- Bepaal de model-ID: deepseek-v4.1-flash-1017 op AIHubMix.
- Voeg in toolloops volledige assistentberichten toe, zodat reasoning_content elke beurt wordt teruggestuurd.
- Voer je regressie- en evaluatieset opnieuw uit; noteer model, datum en het veld response model.
- Controleer parsers en UI's op kortere outputs.
- Stel effort standaard in op high; bewaar max voor de moeilijkste taken.
- Verhoog max_tokens voor agentbeurten en stel een melding in bij finish_reason length.
- Laat aannames over deterministisch gedrag op basis van temperature los in thinking mode.
- Plan batch- en nachtelijke agentruns buiten piekuren.
- Houd promptprefixen stabiel voor cachehits.
- Reken vanaf 31 oktober op kosten voor Search- en Fetch-aanroepen als je de server-side tools van DeepSeek gebruikt.
- Laat agents draaien in een sandbox met echte rechten en controleer diffs, niet samenvattingen.
- Voer de smoke test van 15 minuten uit in elke codeertool die je gebruikt.
Veelgestelde vragen
Moet ik code aanpassen om DeepSeek V4.1 Flash 1017 te gebruiken?
Op de API van DeepSeek niet: deepseek-flash wijst al naar 1017. Op AIHubMix wijzig je de modelnaam in deepseek-v4.1-flash-1017.
Waarom krijg ik een 400-fout over reasoning_content?
DeepSeek vereist dat de reasoning_content van elke eerdere assistentbeurt wordt teruggestuurd wanneer een verzoek tools bevat. Clients die dat veld weglaten, mislukken bij de aanroep na de eerste toolaanroep.
Doet de reasoning_content-fout zich ook voor via AIHubMix?
Niet in de testrun van AIHubMix op 19 oktober 2026, waarin een beurt zonder reasoning_content een 200 teruggaf. Stuur het veld toch mee, want dit is de gedocumenteerde regel van DeepSeek.
Kan ik de september-versie van V4.1 Flash nog gebruiken op de API van DeepSeek?
Nee. DeepSeek heeft deepseek-flash en de oudere Flash-namen naar 1017 verplaatst en biedt geen vaste naam voor de september-checkpoint.
Wanneer is DeepSeek V4.1 Flash goedkoper?
Buiten 01:00 tot 04:00 en 06:00 tot 10:00 UTC op werkdagen. Elk ander uur, in het weekend en op Chinese feestdagen kost het de helft.
Welk effort-niveau moeten coding-agents gebruiken?
High, de standaard. Het eigen paper van DeepSeek stelt dat max agentruns 1,6 tot 1,8 keer langer maakt voor kleine winst.
Werkt 1017 in Claude Code en Codex via AIHubMix?
Ja. AIHubMix levert het via de Anthropic Messages- en Responses-protocollen die die tools gebruiken, en beide slaagden op 19 oktober 2026 voor een basistest.
Lees verder: de DeepSeek V4.1 Flash 1017-serie
- Nog niet zeker of de overstap het waard is? In de upgradepost zie je wat 1017 verbetert ten opzichte van de september-checkpoint en wat een sessie kost: DeepSeek V4.1 Flash 1017: Same Price, Shorter Outputs. Should You Switch?
- Wil je toch Claude Code instellen? Bekijk hoe 1017 zich verhoudt tot het model dat Claude Code gebruikt voor zijn eigen subagents: DeepSeek V4.1 Flash 1017 vs Claude Haiku 5.5: Which Cheap Model for Terminal Coding Agents?
- Migreer je van V4 Pro in plaats van de oude Flash? In deze post kijk je of je Pro nog nodig hebt: DeepSeek V4.1 Flash 1017 vs V4 Pro: Is the Flash Enough Now?
Bronnen
- Thinking Mode (DeepSeek)
- Change Log (DeepSeek)
- Integrate with AI Tools (DeepSeek)
- DeepSeek V4.1 Flash 1017 on AIHubMix (AIHubMix)
- DeepSeek V4.1 Flash returns reasoning_content 400 after tool calls, issue 7118 (GitHub)



