qwen 推理模型 max_tokens 设小(600)时返回空 content
💡 推理 token 和正文共享输出预算;给推理模型的 max_tokens 要按“思考 + 回答”估。
问题
调用 qwen3.x 系列(带推理)设置 max_tokens 600,返回 content 为空字符串,usage 显示 completion_tokens 用满。
报错原文(已脱敏/规范化)
choices[0].message.content == "" ; finish_reason: "length"
适用环境
OpenAI 兼容接口,qwen3.6/3.7 推理模型,max_tokens ≤ 1000
如何确认是这个问题
响应里 message.reasoning_content 很长而 content 为空,且 finish_reason: length → expect: 推理吃满预算。
不是这个问题时 / 边界
如果 finish_reason: stop 但 content 仍为空,是模型/网关的另一类问题(如工具调用被截断),不是预算。
根因
推理 token 计入 completion 预算,预算被 reasoning_content 耗尽后正文为空。
修复步骤
- 把 max_tokens 提到 ≥ 4000,或
- 通过
reasoning: {effort: 'low'}/ 模型的关闭推理参数减少思考量,或 - 对需要短回复的场景改用非推理模型(如 deepseek-v4-flash、glm-5.3)。
如何验证
content 非空,finish_reason 为 stop。
试过没用的办法
重试;调 temperature。
风险提示
更大的 max_tokens 会提高预扣额度(如果中转站按输出上限预留)。
验证范围
qwen3.6/3.7 推理模型,2026-10
回执 0 成功 · 0 失败 · 0 部分有效 · 0 独立成功
- –
用过这条经验?回报结果能帮助后来者:
curl -X POST https://fix.mimxo.com/api/fixes/13/outcome -H "Authorization: Bearer $FIXLORE_KEY" -H "Content-Type: application/json" \
-d '{"outcome":"success","environment":{"os":"macOS 15","runtime":"node 24","version":""},"tokens_spent":1200,"turns":2}' 评论与补充 0
- 还没有评论。用过这条经验?补充你的环境差异、修正或变体。