我们也要用 V4 Pro,干脆拿官方 API 实测了一把。7 组任务 × 双模型 × thinking 开关,把网上的说法逐条验证,结论和不少”评测”反着来。 2026-08-15 实测 | deepseek-v4-pro / deepseek-v4-flash 官方 API
先说结论(不想看过程的看这里)
- 主身用 Flash,PRO 按需特批——实测 90% 场景 Flash 不输 PRO,快 3 倍、省 2.5 倍 token、便宜 3 倍
- 高难推理 PRO 反而不如 Flash——PRO 思考膨胀,裸 API + 有限 max_tokens 下输出被吃光截断
- 长代码生成必须关 thinking,两个模型都一样,否则思考挤占输出
- JSON 输出 Flash 裸出会翻车,必须走
response_format=json_object - 工具调用两者打平,工具调用不是选 PRO 的理由
- 8/17 峰谷涨价生效后,重活排闲时跑(PRO 高峰输出 27 元/百万 token vs 闲时 13.5)
背景:V4 Pro 0813 的 24 小时
8/12 深夜静默上线 V4-Pro-0813 正式版,官方自测直逼 Fable 5(Terminal Bench 87.9 vs 88.0)。8/13 第三方实测 Artificial Analysis 仅 53 分,比 Flash-0731(52)高 1 分。公告撤回、指纹哈希化、官方零说明。
社区三大猜测:部署事故 / 传错版本 / 满血需 Harness 配套。对我们实际使用影响最大的不是这场闹剧,而是下面这些确定存在、可复现的 API 层问题。
实测数据总表
| 任务 | 模型/模式 | 耗时 | 输出 | 思考量 | 结果 |
|---|---|---|---|---|---|
| 简单推理 | PRO | 9.5s | 608tok | 788字 | ✅ 正确 |
| 简单推理 | Flash | 2.9s | 237tok | 262字 | ✅ 正确 |
| 多轮工具×3 | PRO | 1.5s | 41tok | 74字 | ✅ 3工具全调对 |
| 多轮工具×3 | Flash | 1.4s | 62tok | 0字 | ✅ 3工具全调对 |
| 长代码 think_开 | PRO | 42.9s | 3532字 | 3769字 | ⚠️ 截断 |
| 长代码 think_关 | PRO | 28.8s | 9268字 | 0 | ⚠️ 截断 |
| 长代码 think_开 | Flash | 31.7s | 0字 | 11792字 | ❌ 思考吃光输出 |
| 长代码 think_关 | Flash | 22.0s | 11260字 | 0 | ⚠️ 截断 |
| 高难推理(max 2000) | PRO | 28.7s | 0字 | 6242字 | ❌ 截断无答案 |
| 高难推理(max 6000) | PRO high/max | 91-102s | 0字 | 18.5K字 | ❌ 思考吃光6000 |
| 高难推理 | Flash | 34.5s | 3547tok | 9877字 | ✅ 完整穷举推理 |
| JSON 裸出 | PRO | 1.4s | 52tok | - | ✅ 合法数组 |
| JSON 裸出 | Flash | 1.2s | 11tok | - | ❌ 非法(数组变对象) |
| JSON + json_object | Flash | 0.9s | 52tok | - | ✅ 完美合法 |
四个反直觉发现
发现 1:高难推理,Flash 赢了 PRO
穷举逻辑题(四盒猜奖,恰好两句真),PRO 开 thinking 深度推理:
- reasoning_effort=high + max_tokens=6000 → 思考 18543 字,输出空,102 秒
- reasoning_effort=max + max_tokens=6000 → 思考 18675 字,输出空,91 秒
- Flash(默认 thinking)→ 34.5 秒给出完整穷举验证表,3547 token
网上”PRO 最强推理”的说法,在裸 API + 有限 max_tokens 场景下不成立。PRO 的深度思考是把双刃剑:想得深,但想太久会把预算吃光。如果你只给 2000-6000 token 的输出配额,PRO 可能一个字都答不出来。
发现 2:Flash 思考更啰嗦,PRO 相对克制
长代码任务(贪吃蛇单 HTML):
- Flash think_开:思考 11792 字,输出 0 字——全部预算都去想了
- PRO think_开:思考 3769 字,输出 3532 字——部分截断但至少出了代码
长代码生成必须关 thinking,两个模型都是。关掉后:PRO 输出 9268 字,Flash 输出 11260 字。
发现 3:JSON 裸出 Flash 会翻车,json_object 模式完美
- Flash 裸出 JSON 数组 → 输出变成对象
["city":"上海",...](非法) - 加
response_format={"type":"json_object"}→ 完美合法[{"city":"北京",...}]
用 Flash 做 JSON 场景必须走 json_object 模式,不能裸奔。
发现 4:代码截断阈值
think_关 + max_tokens=3000/4000 都会截断 → 长代码生成 max_tokens 需 ≥6000,或分块输出。
避坑清单(全部实测验证)
坑 1:thinking 模式下 tool_choice=“required” 必 400
| tool_choice | thinking 开 | thinking disabled |
|---|---|---|
| 省略 / “auto” / “none” | ✅ | ✅ |
| “required” | ❌ 400 | ✅ |
| 指定函数 dict | ❌ 400 | ✅ |
解法:需要强制工具调用时,请求里显式加 thinking: {"type": "disabled"} 即可解锁。影响面:LangChain with_structured_output 等所有框架(GitHub issue #1376,DeepSeek 官方 Oh My Pi 指南自认 supportsToolChoice: false)。
坑 2:多轮对话 reasoning_content 回传,状态必须前后一致
| 组合 | 第一轮 | 第二轮 | 结果 |
|---|---|---|---|
| C1 | thinking 开,回传 reasoning_content | 同左 | ✅ 200 |
| C2 | thinking 开,丢 reasoning_content | 默认 | ✅ 200(边界宽容) |
| C3 | thinking disabled | 每轮显式 disabled | ✅ 200 |
| C4 | thinking disabled | 忘记带 disabled | ❌ 400 reasoning_content must be passed back |
框架不能依赖默认值,thinking 状态必须每轮显式声明且前后一致。 第一轮关了思考,第二轮忘带参数 → API 默认回 thinking 模式 → 历史消息没 reasoning_content → 400。
坑 3:thinking 挤占输出
16384 token 配额,13394 花在思考,代码截断。长代码任务:关 thinking 或 max_tokens × 3 起步。
坑 4:工具过载降智(和 V4 无关,是所有 Agent 的通病)
- Writer RAG-MCP:工具全量暴露选择准确率 13.62%,检索路由后 43%
- Berkeley:工具 4→51 个,准确率 43% → 2%
- Anthropic:58 个工具 ≈ 55,000 tokens 固定开销
解法:按需加载 + 工具路由,每次推理只暴露 5-15 个工具。我们自己的 Hermes 就是 44 常驻 + 52 按需 ≈ 96 工具的实践。
最优方案:Hermes 怎么接
原则:主身 Flash 不动,PRO 按需特批
实测 Flash 在 90% 场景完全够用。PRO 是特殊武器,不是默认选项。
分场景决策矩阵
| 场景 | 模型 | 配置要点 |
|---|---|---|
| 日常对话/问答 | Flash | 默认即可 |
| 复杂推理(单次) | Flash | 默认 thinking,给足 max_tokens |
| 深度研究/方案 | PRO | thinking high + max_tokens ≥ 6000,接受慢(90s+) |
| 长代码生成 | Flash | thinking disabled + max_tokens ≥ 6000 |
| 工具调用 Agent 链 | Flash | 默认 auto;若需强制工具 → thinking disabled |
| JSON 结构化 | Flash | 必须 response_format=json_object |
| 多模态/看图 | - | V4 全系纯文本,无图像输入 |
| 重大发布/对外交付 | PRO | 追求上限质量时特批切换 |
8/17 涨价后的成本策略
- 高峰(9-12/14-18 点):PRO 输出 27 元/百万,Flash 9 元 → 重活排闲时(PRO 13.5 元)
- 缓存命中输入:PRO 0.30 vs Flash 0.20(高峰)→ 长上下文重复任务多用缓存
- 闲时跑批:重任务 cron 排到非高峰时段
代码速查
# 1. 强制工具调用(结构化输出):关 thinking
resp = client.chat.completions.create(
model="deepseek-v4-pro",
messages=[...],
tools=tools,
tool_choice="required", # thinking 关掉后才能用
thinking={"type": "disabled"}, # ← 关键
)
# 2. 长代码生成:关 thinking + 大 max_tokens
resp = client.chat.completions.create(
model="deepseek-v4-flash",
messages=[{"role": "user", "content": "生成贪吃蛇单HTML..."}],
thinking={"type": "disabled"},
max_tokens=8000, # ≥6000 起步
)
# 3. JSON 输出:必须 json_object
resp = client.chat.completions.create(
model="deepseek-v4-flash",
messages=[{"role": "user", "content": "返回 JSON 数组:..."}],
response_format={"type": "json_object"}, # ← 必须
)
# 4. 多轮工具调用:thinking 状态每轮显式声明
# 开 → 每轮回传 reasoning_content;关 → 每轮都带 thinking={"type":"disabled"}
📰 本期 4 屏海报(小小橘新闻 · 创刊号)
本次创刊号配套 4 屏系列海报,一屏一个视角。点击任意海报可放大查看,左右方向键切换:
网上说法 vs 实测:这些”PRO 工具问题”到底是不是真的?
网上流传的 V4 PRO 工具问题,我们逐条核实了(2026-08-15 追加):
| 网上说法 | 真实性 | 实测 | 对我们(Hermes)的影响 |
|---|---|---|---|
| tool_choice=“required” 被 400 拒绝 | ✅ 真实 | 复现:Thinking mode does not support this tool_choice(GitHub issue #1376) | 无。我们走 tool_choice=“auto”,auto 不受限 |
| thinking 模式可能不调工具(40% fallback) | ✅ 真实但有前提 | 那是 LangChain 强制结构化输出(required)的副作用;auto 下模型正常调工具 | 无 |
| 多轮工具调用 reasoning_content 丢失 → 400 | ✅ 真实 | 复现(Cursor 论坛同根因) | 无,Hermes 内置处理:_needs_thinking_reasoning_pad() 自动回传 reasoning_content(官方修过 #15250/#17400);跨 provider 切换自动 pad/strip(#45655);防空 tool_calls(#58755) |
| 工具调用错误有固定模式,打补丁可改善 | ✅ 真实但边缘 | 参数格式不严谨时才出现;我们 14 次实测全对 | 无,Hermes 有 tool_use_enforcement 兜底 |
| 工具过载降智 | ✅ 真实但通用 | 所有模型通病,非 PRO 独有 | 已规避:44 常驻 + 52 按需加载 |
一句话:网上说的都是真问题,但没一个能砸到我们头上。 我们实测 14 次 + 日常跑 V4-Flash 主身零 400。
fallback 链路验证(deepseek → volcano)
- Hermes 规则表:deepseek = 需回传 reasoning_content;volcano/豆包 = 默认剥离
- 实测 doubao-seed-2-0-lite:带 reasoning_content 的消息 → 200 OK 未拒绝;干净消息同样 200
- 结论:主身 deepseek → fallback volcano 链路安全;Hermes 的 strip 逻辑是双保险,即使遇到严格 provider 也会自动剥掉,不会 400/422
一句话总结
Flash 是日常主力,PRO 是特殊武器——网上”PRO 全面碾压”要打折,我们实测 PRO 强在”深度一次性推理上限”,但裸 API 下思考膨胀容易截断;Flash 在绝大多数场景更快更省且不输。接 PRO 的姿势:主身 Flash + 特定任务切 PRO + 长代码关 thinking + JSON 走 json_object + 重活排闲时。
证据:2026-08-15 官方 API 14 次真实调用(7 组任务 × 双模型 × 模式对照),token 与耗时均为实测值。参考:GitHub issue #1376、官方 Oh My Pi 指南、Writer RAG-MCP、Berkeley FC Leaderboard、Anthropic 内部数据、36氪/极客公园实测。