大模型 API 输出被截断怎么办:先看 finish_reason,再按原因逐条修

输出被截断(句子写一半、JSON 不闭合、流式中断)通常只有四类原因:撞上 Token 上限、推理模型的思维链吃掉了输出额度、任务本身超出模型单次最大输出、以及客户端或代理超时。本文按“先看 finish_reason 判断类别,再改对应参数”的顺序给出具体做法,包括 max_tokens/max_completion_tokens 与上下文窗口的关系、续写循环的写法、流式超时设置,以及 stop 参数和安全过滤造成的假截断排查。

模型上下文窗口对比:窗口与输出上限怎么算,截断、延迟和限流怎么避

对比 GPT-4o、Claude 3.5 Sonnet、DeepSeek-V3、Gemini 1.5 等代表版本的上下文窗口与单次输出上限。本文说明如何按「输入 + 预留输出 ≤ 窗口」计算 token 预算,并按任务选择窗口档位。遇到输出截断时,可以用 finish_reason 和 usage 定位原因。文中也给出应对长上下文带来的延迟、注意力衰减和 TPM 限流的做法。