DeepSeek V4 Flash API 成本:思考模式破坏严格 JSON
目录
DeepSeek V4 Flash 每百万输入 token 收费 $0.14,每百万输出 token 收费 $0.28,缓存命中价为 $0.0028。当前以该名称提供的 0731 重训版本存在一个需要在路由层规避的缺陷:开启思考模式(默认设置)并使用严格 json_schema 时,我们通过两条独立请求路径测试了 13 次,其中 8 次返回的整数字段损坏。关闭思考模式后,所有测试均恢复正常,抽取任务的 token 用量也降至原来的七分之一。我们在发布首日实测了 deepseek-v4-flash-0731,包括数据损坏、重训后更陡峭的关闭思考性能断崖、能恢复准确率的最低预算、1,024-token 缓存页,以及它与预览版本和 V4 Pro 之间仍然存在的差异。
TL;DR
- 默认思考模式配合严格
json_schema时,deepseek-v4-flash-0731 在两条请求路径的 13 次测试中有 8 次出现整数字段损坏;V4 Pro 为 4 次中 2 次,只有预览版本全部正常。 - 0731 重训版本加剧了关闭思考后的性能断崖:两步数学题的准确率从 6/6 降至 0/6。
- 缓存以 1,024-token 为一页,最低门槛约为 1.1K token;预热后 0.3 秒即可命中,缓存条目存活时间超过 45 分钟。
enable_thinking: false修复了所有结构化输出测试,token 用量仅为默认设置的七分之一;两步数学题的安全思考预算为 256。
三个 V4 版本的规格和实测表现有何差异?
三者使用相同的 tokenizer、缓存和思考机制,但价格与故障模式不同。下表数据来自针对三个版本执行的相同探测,短横线表示未测试该项。首日分析讨论主要关注基准测试,下面则比较实际运行表现:
| Flash 0731 | Flash 预览版 | V4 Pro | |
|---|---|---|---|
| 标价,每 1M 输入/输出 | $0.14 / $0.28 | $0.14 / $0.28 | $0.435 / $0.87 |
| 每 1M 缓存命中输入 | $0.0028 | $0.0028 | $0.003625 |
| 默认思考模式 | 开启 | 开启 | 开启 |
| 开启思考时的严格 JSON | 5/5 损坏(我们的路径) | 4/4 正常 | 2/4 损坏 |
| 关闭思考时的两步数学题 | 0/6 | 2/6 | 4/4 |
thinking_budget | 精确到 token | 精确到 token | 按设定执行(预算为 16 时 4/4) |
| 缓存页 | 1,024 token,0.3 秒命中 | 相同 | 相同 |
| Tokenizer 与 prompt 开销 | 完全相同,5 token | 相同 | 相同 |
| 「大海捞针」召回上探至 | 838K token | - | - |
V4 Flash 的思考模式会破坏结构化输出吗?
在 0731 版本上会,而且这种错误很隐蔽,足以直接流入生产环境。我们使用严格 json_schema 从一张发票中抽取四个字段:供应商、日期、总金额和明细项数量。默认开启思考后,模型返回的 JSON 符合 schema,但数值错误。原文明确列出 3 个明细项,line_items 却分别返回 -1、1、-1 和 -19。通过我们的网关执行 5 次,正确率为 0/5。限制预算也无法规避:预算为 64 token 时仍以相同方式损坏;即使预算提高到 256 token,3 次中仍有 1 次把明细项数量返回为 670。数据损坏与是否存在思考过程有关,而不是思考过程的长度。在第二条独立请求路径上,同一测试分两批执行 8 次,其中 3 次损坏:一次把原文中的 $520.00 返回为 519.95,另一次把明细项数量返回为 22。这条路径即使收到关闭思考的要求也仍保留推理,因此下文的可靠修复方案是在主路径上验证的。所有 JSON 都能正常解析并通过 schema 校验,只有字段值错误。对于信任校验结果的流水线,这是最危险的故障模式。
修复只需一行:设置 enable_thinking: false 后,每次都返回正确且有效的 JSON,completion 约为 44 token,而默认设置为 328 token。同系列模型的差异也很明显:使用相同方法并开启思考时,预览版本 4/4 全部正常,而 V4 Pro 在 4 次中损坏 2 次。这说明问题贯穿 V4 思考模型系列,在重训后的 Flash 上最严重。它也不是已有记录中的“思考加 schema”故障。vLLM 今年 4 月修复过一个数据通路问题:DeepSeek 的 JSON 被放进 reasoning 字段,而 content 为空。这里的数据通路正常,错误发生在字段值本身,影响更严重。在 DeepSeek 修复前,应把思考模式与严格结构化输出视为互斥配置。这不会产生额外成本:单步抽取本来就是适合关闭思考的任务,而且成本可降低 7 倍。
API 接受哪些思考控制参数?
它提供两种关闭方式、精确预算,以及一个无法关闭思考的 effort 档位。我们测试的接口接受 reasoning_effort 值 low、medium、high、xhigh 和 max。与 Qwen 3.8 Max 不同,none 和 minimal 会被拒绝,因此仅靠该参数无法让模型停止思考。要关闭思考,可使用 enable_thinking: false 或 thinking: {"type": "disabled"},两者表现相同,在简单问题上都返回 9-token 的答案。thinking_budget 会精确执行到 token,结果与我们对 Qwen 3.8 的实测一致:请求 16,计量值就是 16。完整思维链通过 reasoning_content 返回,每次调用固定增加 5 token 的 prompt 开销。
我们没有测出 effort 档位带来任何变化。在一道高难度质数计数题上,low 和 high 分别消耗 31,374 和 31,370 个推理 token,默认设置为 26,897;三者答案都正确。这只是正常波动,没有看到任何预算上限。对于 Qwen 3.8,各档位实际是隐藏的预算上限,处理深度任务时会生效;V4 Flash 的档位在我们测试的所有深度上都没有产生变化。这个模型真正有用的控制项只有关闭开关和 thinking_budget,effort 档位可以视为摆设。讽刺的是,DeepSeek 自己的模型卡把 agent 基准测试配置固定为“max reasoning effort”,但在我们测试的接口上,该设置与默认值没有可辨别的差异。
两步数学题实际需要多少思考预算?
它需要的预算比重训前更多,这与我们针对其他模型给出的低成本模式建议正好相反。在可复现的两步算术测试中,题目为 1850 箱、每箱 24 个零件,发出 75% 后又新到 3,120 个。三个 V4 版本的表现像是三个不同的模型:
| 配置 | 0731 | Flash 预览版 | V4 Pro |
|---|---|---|---|
| 默认(开启思考) | 6/6 | 6/6 | 4/4 |
| 关闭思考 | 0/6 | 2/6 | 4/4 |
thinking_budget: 16 | 2/6 | 5/6 | 4/4 |
thinking_budget: 64 | 5/6 | - | - |
thinking_budget: 256 | 6/6 | - | - |
这里有两个结论。第一,agent 重训把算术能力转移到了思考通道:预览版本关闭思考后还能勉强作答,0731 则完全失效,而 Pro 几乎不受影响。第二,最低预算取决于具体模型。在同一批测试中,16 个思考 token 足以完全恢复 Qwen 3.8 Max 的表现,但 0731 需要 256。达到该预算后,准确率为 100%,成本也低于默认设置:completion 总量为 53—188 token,默认设置则为 100—200 token。把思考预算配置迁移到其他模型时,需要重新验证准确率。这个控制手段是通用的,但阈值不是。
隐式缓存的实际表现如何?
它采用 1,024-token 分页,最低门槛较低,读取快,保留时间长。随着 prompt 增长,加入随机盐值的前缀配对测试分别精确命中 1,024、2,048、4,096 和 7,168 token,说明缓存按 1,024-token 页对齐。最低门槛略高于一页:704-token prompt 从未命中,1,166-token prompt 命中了 1,024 token。预热后 0.3 秒即可命中,不需要针对缓存构建延迟设计额外逻辑。缓存条目在 45 分钟后仍然可用,是我们在这一价位测试过的隐式缓存中存活时间最长的。Qwen 3.8 Max 的缓存条目会在 15 到 45 分钟之间失效,最低门槛也接近 4.3K token。DeepSeek 公布的缓存命中输入价格为每百万 token $0.0028,仅为未命中价格的 2%,且写入不加价。仍应遵循常规的分层原则:稳定前缀放在前面,易变内容放在后面。
1M 上下文和 384K 输出上限真实吗?
在我们测试的所有位置上,上下文窗口都能正常工作。「大海捞针」测试中预埋的覆盖码在 137,638、465,238 和 838,198 个 prompt token 处均能逐字返回,耗时 7 到 20 秒。这是我们在该价位测到的最快长上下文召回速度。输出限制比文档更宽松:DeepSeek 公布的最大输出为 384K token,但无论是否开启思考,max_tokens 设为 393,217 甚至 524,288 的请求都会被接受。这说明请求阶段并未强制执行上限,设置过大的预算也不会明确报错。如果业务依赖输出上限,应自行设置限制。
预览版、0731 和 Pro:请求实际落在哪个版本?
DeepSeek 的定价页面现在只列出一个 SKU:deepseek-v4-flash,当前模型版本为 DeepSeek-V4-Flash-0731,价格保持不变。实际运行中,部分路由仍会以原名称提供预览版本。虽然两者使用相同的 tokenizer,在英文、中文和代码语料上的 token 计数完全一致,因此预算可以直接迁移,但从外部仍很容易区分。最可靠的指纹是关闭思考测试:在我们的批次中,关闭思考后处理两步数学题,预览版约为 2/6,0731 为 0/6;预览版也是唯一完全通过结构化输出测试的版本,结果为 4/4,而 0731 为 5/5 损坏,Pro 为 2/4 损坏。如果流量依赖其中任一行为,应直接探测实际调用的 endpoint,不要只相信模型名称。V4 Pro 的价格为 $0.435/$0.87,它避开了数学题的性能断崖,但仍有结构化输出问题。
规划预算时还要考虑一点:这三个模型共用的 tokenizer 在相同语料上会比 Qwen 3.8 多产生约 6—9% 的 token。跨供应商比较预算时,不能只看价目表,还要结合各语言的 token 密度数据。
常见问题
DeepSeek V4 Flash 的结构化输出安全吗?
关闭思考后是安全的:严格 json_schema 会生效,我们批次中的所有抽取结果都正确。0731 版本默认开启思考时,通过两条请求路径执行 13 次,其中 8 次返回的整数字段损坏,但仍能通过 schema 校验。V4 Pro 在相同测试中有 4 次中 2 次损坏,只有预览版本全部正常。在缺陷修复前,应在结构化输出路由上固定设置 enable_thinking: false。
可以关闭 DeepSeek V4 Flash 的思考模式吗?
可以,有两种写法:enable_thinking: false 或 thinking: {"type": "disabled"}。但 0731 重训后,关闭思考处理多步任务的表现很不稳定,两步数学题的结果为 0/6。对于超过单步查询的任务,应把 thinking_budget 的最低值设为 256。实测该配置准确率为 100%,成本也低于默认设置。
V4 Flash 缓存要求的最小 prompt 是多少?
略高于 1,024 token:704-token prompt 从未缓存,1,166-token prompt 则精确命中 1,024 token。缓存按 1,024-token 页量化,预热后 0.3 秒即可命中,存活时间超过 45 分钟。缓存命中输入的标价为每百万 token $0.0028,是未命中价格的 2%。
0731 发布后价格变了吗?
没有。DeepSeek 仍按每百万输入 token $0.14(缓存未命中)、$0.0028(缓存命中)和每百万输出 token $0.28 收费,并把 0731 作为当前模型版本并入现有的 deepseek-v4-flash 名称。变化的是行为,而不是价格:模型更依赖思考模式,并出现了上文所述的结构化输出缺陷。
数据于 2026-08-04 通过 Synthorai 网关测得,主测模型为 deepseek-v4-flash-0731,对照组为 deepseek-v4-flash 预览版和 deepseek-v4-pro。测试包括:记录每次请求 payload 的严格 schema 抽取批次,并通过第二条独立请求路径复核;effort 档位接受度与无效值测试;加入随机盐值的两步准确率批次(每组 n=4—6)以及逐级提高思考预算的恢复测试;按 2.5 秒间隔执行的加盐缓存配对,覆盖最低门槛、分页、构建延迟和间隔测试;两种模式下的 max_tokens 边界探测;三个 V4 模型与 Qwen 3.8 Max 在相同三类语料上的 tokenizer 计数。金额采用发布时 DeepSeek 公布的标价,请以自己的供应商计量结果为准。随着 DeepSeek 继续迭代 0731 版本,模型行为可能发生变化。