Hầu hết các đợt di chuyển bắt đầu bằng việc đổi tên mô hình. DeepSeek V4.1 Flash 1017 đi theo hướng ngược lại: vào ngày 17 tháng 10 năm 2026, DeepSeek giữ nguyên tên deepseek-flash và thay đổi mô hình đứng sau tên đó. Bất kỳ ai gọi deepseek-flash, deepseek-v4-flash hoặc deepseek-v4-flash-vision-exp trên API của DeepSeek đều đã được chuyển sang mô hình mới mà không cần sửa một dòng code nào.
Trên AIHubMix, checkpoint mới có ID riêng là deepseek-v4.1-flash-1017, nên bạn có thể tự chọn thời điểm chuyển. Dù thế nào, đây là các vấn đề cần kiểm tra:
| Vấn đề | Mức độ lỗi | Dấu hiệu nhận biết |
|---|---|---|
| Không gửi lại reasoning_content | Rõ ràng | Lỗi 400 sau lần gọi công cụ đầu tiên |
| Mô hình bị đổi dưới cùng một tên | Âm thầm | Độ dài đầu ra, định dạng, điểm đánh giá |
| Giá cước giờ cao điểm | Âm thầm | Hóa đơn tăng gấp đôi vào giờ cao điểm các ngày trong tuần |
| Effort mặc định được đặt là max | Âm thầm | Các phiên chạy agent dài hơn 1,6–1,8 lần |
| Phần suy luận được tính vào max_tokens | Cả hai | Câu trả lời bị cắt cụt |
| Giá cước Search và Fetch | Âm thầm | Từ 16:00 UTC ngày 31/10 |
AIHubMix đã chạy một bộ yêu cầu thử nghiệm ngắn với deepseek-v4.1-flash-1017 vào ngày 19 tháng 10 năm 2026 (03:02 UTC). Kết quả từ lần chạy đó được đánh dấu bên dưới.
1. Lỗi 400 làm gián đoạn vòng lặp công cụ
Bạn sẽ thấy gì. Yêu cầu thứ hai sau một lần gọi công cụ thất bại với HTTP 400 và thông báo sau, như được ghi nhận trong một issue trên GitHub của opencodex đối với V4.1 Flash vào ngày 15 tháng 10:
[invalid_request_error] The `reasoning_content` in the thinking mode must be passed back to the API.
Cùng nội dung này cũng xuất hiện trong các báo cáo trước đó đối với opencode, LangChain và claude-code-router với V4 Pro và V4 Flash.
Nguyên nhân. Hướng dẫn chế độ thinking của DeepSeek nêu rằng khi yêu cầu có tools, reasoning_content của mọi lượt trợ lý trước đó phải được gửi lại, "ngay cả với những lượt mà mô hình không thực hiện gọi công cụ". Nếu không, "API sẽ trả về lỗi 400". Khi không có tools, việc gửi lại là tùy chọn và bị bỏ qua. Các client thường mắc lỗi này vì bộ serialize tin nhắn của họ giữ lại content và tool_calls nhưng bỏ đi trường bổ sung.
Yêu cầu gây ra lỗi. Lượt thứ hai của một vòng lặp công cụ, với tin nhắn trợ lý đã bị loại bỏ 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}"}
]
}'
Trên API chính thức của DeepSeek, dạng yêu cầu này trả về lỗi 400 trong các báo cáo công khai. Qua AIHubMix, cùng dạng yêu cầu đó trả về HTTP 200 và câu trả lời bình thường trong lần chạy thử nghiệm ngày 19 tháng 10. Đây chỉ là một lần chạy, vì vậy đừng coi đó là điều được đảm bảo.
Cách khắc phục. Giữ lại trường này, bất kể bạn dùng đường nào:
msg = resp.choices[0].message
messages.append(msg) # carries content, reasoning_content, and tool_calls over
- Trong code của riêng bạn, hãy thêm toàn bộ tin nhắn trợ lý, không tự tạo lại một bản sao thủ công.
- Với các framework, hãy nâng cấp: opencode đã sửa vòng lặp này ở các bản phát hành sau, còn opencodex đã hợp nhất bản sửa của họ vào ngày 16 tháng 10.
- Phương án cuối cùng, đặt
{"thinking": {"type": "disabled"}}cho các vòng lặp công cụ. Cách này tránh được lỗi nhưng đánh đổi phần suy luận giúp mô hình làm tốt các tác vụ agent.
2. Cùng một tên, một mô hình khác
Changelog của DeepSeek ngày 17 tháng 10 nói rõ: "Cách gọi API và giá cước không thay đổi — chỉ cần dùng deepseek-flash để truy cập mô hình mới nhất." Không có tên cố định cho checkpoint tháng 9, và hai tên Flash cũ hơn hiện cũng chạy trên bản 1017.
Không có lỗi nào xuất hiện, nhưng có ba điều có thể thay đổi:
- Độ dài đầu ra. Bản 1017 được huấn luyện để tạo ra đầu ra ngắn hơn. Bộ phân tích cú pháp, bố cục giao diện và các prompt mong đợi phần giải thích dài của mô hình tháng 9 có thể nhận được ít văn bản hơn trước.
- Mốc đánh giá. Điểm số và chi phí bạn ghi nhận trên checkpoint tháng 9 không còn phản ánh đúng những gì
deepseek-flashtrả về. - Hành vi. DeepSeek đã huấn luyện lại bản 1017 cho công việc dự án đầu cuối. Các agent có thể đi những con đường khác nhau để đạt cùng một kết quả.
Việc cần làm. Ghi lại mô hình và ngày với mọi lần chạy đánh giá, rồi chạy lại bộ kiểm thử hồi quy ngay bây giờ. Phản hồi cho biết checkpoint nào đã trả lời: trong bài thử nghiệm ngày 19 tháng 10, mọi phản hồi qua AIHubMix đều mang "model": "deepseek-v4-1-flash-261017". Hãy ghi log trường này, và một lần hoán đổi không báo trước sẽ trở nên dễ thấy ngay khi nó xảy ra.
3. Các quy tắc tính phí dễ bỏ sót
Giờ cao điểm và thấp điểm. DeepSeek tính giá đầy đủ vào 01:00–04:00 và 06:00–10:00 UTC các ngày trong tuần, và giảm một nửa giá vào mọi giờ khác, cả cuối tuần và các ngày lễ công cộng của Trung Quốc. AIHubMix áp dụng cùng khung giờ và tính giá mỗi yêu cầu theo thời điểm yêu cầu được gửi, vì vậy một yêu cầu streaming dài bắt đầu trong giờ thấp điểm sẽ vẫn được tính ở mức thấp điểm.
| Hạng mục | Cao điểm | Thấp điểm |
|---|---|---|
| Đầu vào, cache miss | $0.3098 | $0.155 |
| Đầu vào, cache hit | $0.0062 | $0.0031 |
| Đầu ra | $1.2392 | $0.62 |
Giá niêm yết của AIHubMix trên mỗi 1M token cho deepseek-v4.1-flash-1017. Ưu đãi giảm 30% trong thời gian có hạn đang được áp dụng thêm.
Lượt cache hit rẻ hơn lượt cache miss 50 lần. Các agent gửi lại cùng system prompt, định nghĩa công cụ và lịch sử ở mỗi lần gọi. Hãy giữ phần tiền tố đó ổn định, đặt mọi nội dung thay đổi theo từng lần gọi ở cuối, và phần lớn mỗi yêu cầu sẽ được tính theo giá cache hit.
Suy luận được tính như đầu ra. Thinking được bật mặc định, và các token suy luận được tính vào cả hóa đơn lẫn max_tokens.
Search và Fetch. DeepSeek đã mở API Search và Fetch mới vào ngày 17 tháng 10, với giá 0,75 USD cho mỗi 1.000 lần gọi thành công cho mỗi API. Các lần gọi phía máy chủ thực hiện qua DeepSeek Harness, Claude Code hoặc Codex trên API của DeepSeek được miễn phí đến 16:00 UTC ngày 31 tháng 10 năm 2026. Sau thời điểm đó, một agent tìm kiếm ở mọi lượt sẽ phát sinh thêm chi phí theo từng lần gọi ngoài chi phí token.
Tổng chi phí. Với các giả định đã nêu (40 lần gọi, 1,2M token đầu vào với 90% cache hit, 60K token đầu ra), một phiên agent tốn 0,118 USD ở giờ cao điểm và 0,059 USD ở giờ thấp điểm theo giá niêm yết của AIHubMix. Chuyển các đợt chạy hàng loạt sang giờ thấp điểm là cách tiết kiệm lớn nhất.
4. Các cài đặt tốn kém hơn lợi ích mang lại
Effort. API cung cấp low, high (mặc định) và max. Bài báo về V4.1 Flash của DeepSeek ánh xạ chúng sang các giá trị effort nội bộ là 50, 75 và 100, và cho biết bước lên max "làm dài quỹ đạo agent thêm 1,6–1,8× chỉ để đạt cải thiện không đáng kể". Hướng dẫn thiết lập Claude Code của chính DeepSeek vẫn đặt CLAUDE_CODE_EFFORT_LEVEL=max. Với công việc agent hằng ngày, high là mặc định tốt hơn.
DeepSeek cũng ánh xạ các tên effort khác sang ba mức của mình: minimal thành low, còn medium và xhigh đều thành high. Một công cụ cung cấp năm mức thì thực tế chỉ cho bạn hai hoặc ba mức. Trong thử nghiệm ngày 19 tháng 10, AIHubMix chấp nhận low, high và max trên Chat Completions.
max_tokens. Model card khuyến nghị ít nhất 256K cho các lần chạy agent dài, vì phần suy luận dùng chung ngân sách đầu ra. Nếu đặt giới hạn nhỏ, một bước khó có thể dùng hết ngân sách để suy nghĩ. Hãy kiểm tra finish_reason: "length".
Tham số lấy mẫu. Ở chế độ thinking, temperature, presence_penalty và frequency_penalty được chấp nhận mà không báo lỗi nhưng không có tác dụng. top_p bị giới hạn trong khoảng 0,95–1,0. Nếu một pipeline dựa vào temperature thấp để có đầu ra xác định, nó sẽ không còn được hưởng điều đó nữa.
5. Agent có quyền truy cập thực tế
Bản 1017 được huấn luyện bằng học tăng cường trên toàn bộ dự án, nên nó có xu hướng tiếp tục xây dựng cho đến khi công việc trông như đã hoàn thành. Câu trả lời của nó cũng ngắn hơn, nghĩa là ít mô tả hơn về những gì đã thay đổi. Hai thói quen sau sẽ giúp ích:
- Hãy xem diff và log lệnh, đừng chỉ đọc phần tóm tắt của mô hình.
- Chạy nó trong sandbox với danh sách cho phép các lệnh, và yêu cầu phê duyệt đối với mọi thao tác phá hủy (xóa, force push, migration, các lệnh gọi mạng ra ngoài).
Chính DeepSeek cũng nêu bật thế mạnh của dòng Flash trong các tác vụ bảo mật; checkpoint tháng 9 đạt 88,1 điểm trên CyberGym trong bảng số liệu của DeepSeek. Điều đó hữu ích cho công việc phòng thủ, và là một lý do khác để giới hạn quyền của nó một cách chặt chẽ.
6. Các công cụ lập trình
AIHubMix phục vụ deepseek-v4.1-flash-1017 trên cả ba giao thức mà các công cụ lập trình cần. Trong thử nghiệm ngày 19 tháng 10, Chat Completions, Anthropic Messages (bao gồm một lần gọi công cụ hai lượt) và Responses API đều trả về 200.
Claude Code (Anthropic Messages). Trỏ nó tới AIHubMix như trong hướng dẫn Claude Code và đặt model:
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: trong thử nghiệm, một yêu cầu Messages không có cài đặt effort trả về mà không có khối thinking, còn yêu cầu có
output_config.effortthì trả về thinking. Hãy giữ một mức effort được đặt để 1017 suy luận, và kiểm tra log yêu cầu. - Ngữ cảnh: hướng dẫn của DeepSeek thêm hậu tố
[1m]vào tên model cho endpoint của chính họ; hậu tố đó chưa được thử nghiệm qua AIHubMix. - Vấn đề đã biết: qua một số router, Claude Code đã làm mất nội dung thinking và gặp lỗi 400 nêu trên (issue 1378 của claude-code-router). Bài thử nghiệm hai lượt gọi công cụ qua endpoint Messages của AIHubMix không gặp lỗi này.
Codex (Responses API). Làm theo hướng dẫn Codex CLI: một provider aihubmix với base_url = "https://aihubmix.com/v1" và wire_api = "responses", cùng model = "deepseek-v4.1-flash-1017". Để chọn nó từ /model, hãy thêm nó vào một file model_catalog_json với context_window đặt là 1,000,000.
- Effort: script tạo catalog trong hướng dẫn cung cấp
low,mediumvàhigh. Theo ánh xạ của DeepSeek,mediumvàhighđều rơi vàohighcủa DeepSeek, nên bạn thực tế chỉ có hai mức. - Vấn đề đã biết: các phiên bản Codex mới hơn sẽ bỏ toàn bộ catalog nếu thiếu một trường bắt buộc. Script trong hướng dẫn đã tránh được lỗi này.
DeepSeek Harness (Chat Completions). DeepSeek cho biết 1017 hoạt động tốt nhất với Harness 0.2.1-rc.1 trở lên. Hãy thêm AIHubMix như một provider tương thích OpenAI theo hướng dẫn DeepSeek Harness và thêm deepseek-v4.1-flash-1017 làm model. Hướng dẫn đó được viết cho một bản Harness cũ hơn, nên hãy kiểm tra lại tên trường nếu giao diện đã thay đổi.
Bài kiểm tra nhanh 15 phút. Tạo một repo nhỏ với một test thất bại:
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
Khởi chạy công cụ của bạn trong thư mục đó và hỏi: "Chạy pytest, sửa test thất bại bằng cách chỉ thay đổi stats.py, rồi chạy lại pytest." Bài kiểm tra được coi là đạt nếu:
- agent thực hiện ít nhất hai lần gọi công cụ (chạy test, chỉnh sửa file) mà không gặp lỗi 400;
- cả hai test đều đạt ở cuối quá trình;
- nhật ký yêu cầu của AIHubMix hiển thị
deepseek-v4.1-flash-1017, và chi phí phiên làm việc nhiều nhất chỉ vài xu.
Danh sách kiểm tra khi di chuyển
- Xác định model ID: deepseek-v4.1-flash-1017 trên AIHubMix.
- Thêm toàn bộ tin nhắn assistant trong các vòng gọi công cụ để reasoning_content được gửi lại ở mọi lượt.
- Chạy lại bộ kiểm thử hồi quy và đánh giá của bạn; ghi lại model, ngày tháng và trường response model.
- Kiểm tra lại các bộ phân tích cú pháp và giao diện người dùng với đầu ra ngắn hơn.
- Đặt effort mặc định là high; chỉ dùng max cho các tác vụ khó nhất.
- Tăng max_tokens cho các lượt agent và đặt cảnh báo khi finish_reason là length.
- Bỏ các giả định về tính xác định dựa trên temperature trong chế độ thinking.
- Lên lịch các lần chạy agent theo lô và chạy qua đêm vào giờ thấp điểm.
- Giữ ổn định tiền tố prompt để tận dụng cache.
- Lên ngân sách cho các lệnh gọi Search và Fetch từ ngày 31 tháng 10 nếu bạn dùng công cụ phía máy chủ của DeepSeek.
- Chạy agent trong môi trường sandbox với quyền thật và xem xét các diff, không chỉ bản tóm tắt.
- Chạy bài kiểm tra nhanh 15 phút trong mỗi công cụ lập trình bạn sử dụng.
Câu hỏi thường gặp
Tôi có cần thay đổi mã để dùng DeepSeek V4.1 Flash 1017 không?
Trên API của DeepSeek thì không: deepseek-flash đã trỏ tới 1017. Trên AIHubMix, hãy đổi tên model thành deepseek-v4.1-flash-1017.
Vì sao tôi nhận lỗi 400 về reasoning_content?
DeepSeek yêu cầu phải gửi lại reasoning_content của mọi lượt assistant trước đó khi yêu cầu có kèm tools. Các client bỏ trường này sẽ lỗi ở lần gọi sau lệnh gọi công cụ đầu tiên.
Lỗi 400 reasoning_content có xảy ra qua AIHubMix không?
Không xảy ra trong đợt kiểm thử của AIHubMix vào ngày 19 tháng 10 năm 2026, khi một lượt không có reasoning_content trả về 200. Vẫn nên gửi trường này, vì đây là quy tắc được DeepSeek ghi trong tài liệu.
Tôi còn có thể dùng V4.1 Flash bản tháng 9 trên API của DeepSeek không?
Không. DeepSeek đã chuyển deepseek-flash và các tên Flash cũ sang 1017, và không cung cấp tên cố định cho bản checkpoint tháng 9.
Khi nào DeepSeek V4.1 Flash rẻ hơn?
Ngoài khoảng 01:00 đến 04:00 và 06:00 đến 10:00 UTC vào các ngày trong tuần. Mọi giờ còn lại, cuối tuần và các ngày lễ công cộng ở Trung Quốc đều chỉ tốn một nửa.
Các coding agent nên dùng mức effort nào?
High, mức mặc định. Theo chính bài báo của DeepSeek, max làm kéo dài các lần chạy agent thêm 1,6 đến 1,8 lần để đổi lấy cải thiện nhỏ.
1017 có hoạt động trong Claude Code và Codex qua AIHubMix không?
Có. AIHubMix phục vụ model này trên giao thức Anthropic Messages và Responses mà các công cụ đó sử dụng, và cả hai đều vượt qua bài kiểm thử cơ bản vào ngày 19 tháng 10 năm 2026.
Đọc tiếp: loạt bài về DeepSeek V4.1 Flash 1017
- Chưa chắc việc chuyển đổi có đáng không? Bài nâng cấp cho thấy 1017 cải thiện được gì so với checkpoint tháng 9 và một phiên làm việc tốn bao nhiêu: DeepSeek V4.1 Flash 1017: Cùng giá, đầu ra ngắn hơn. Có nên chuyển đổi không?
- Vẫn định thiết lập Claude Code? Xem 1017 so sánh thế nào với model mà Claude Code dùng cho các subagent của chính nó: DeepSeek V4.1 Flash 1017 so với Claude Haiku 5.5: Model rẻ nào cho các agent lập trình trên terminal?
- Đang chuyển từ V4 Pro thay vì Flash cũ? Bài này kiểm tra xem bạn có còn cần Pro không: DeepSeek V4.1 Flash 1017 so với V4 Pro: Giờ Flash đã đủ chưa?
Nguồn tham khảo
- Thinking Mode (DeepSeek)
- Change Log (DeepSeek)
- Integrate with AI Tools (DeepSeek)
- DeepSeek V4.1 Flash 1017 trên AIHubMix (AIHubMix)
- DeepSeek V4.1 Flash trả về lỗi 400 reasoning_content sau các lệnh gọi công cụ, issue 7118 (GitHub)



