首页/AI/提示词工程速查/输出长度上限(max_tokens)

输出长度上限(max_tokens)

限制单次回复的 token 数,超出内容会被硬截断;给推理类任务留足预算,看到“半句话、半个 JSON”先怀疑触达上限。

提示词工程速查AI更新于 2026-10-13

输出长度上限是什么

输出长度上限(常见参数名 max_tokens、max_output_tokens,各平台命名不同)限制单次回复能生成的 token 数。它的行为是硬截断:达到上限就停止生成,响应里不会有「未写完」的提示,除非程序主动检查结束原因。它的另一个常被忽略的作用是给输入与推理留预算——推理类模型会把思考过程也算进输出,思考越长,留给最终答案的空间越小。

要点

行为硬截断:达到上限即停止,响应里不会提示未写完
命名max_tokens / max_output_tokens / max_completion_tokens 等,依平台而异
计入内容推理过程的 token 通常也计入输出预算
留量长推理任务要为该参数预留空间,否则思考过程会吃掉答案预算
成本上限只是封顶,不会强制模型写满;实际用量看输出长度

典型使用场景

  • 接口成本控制:给批量任务设置合理上限,避免个别请求异常拉高费用
  • 长文生成分段:把长输出拆成多次调用,每次只写一节,避开单次上限
  • 结构化输出:按字段数量估算上限,留出余量以减少截断
  • 推理任务:为思考过程预留预算,避免答案被截断
  • 流式输出:上限配合超时与重试策略,处理长尾请求

排查速记

排查速记
输出以半个 JSON、半个句子或停在列表中途结束?
1) 先看结束原因是否为长度截断                     # 程序侧判断,不靠肉眼
2) 调大输出上限再重试一次
3) 仍然截断:检查任务是否要求了超长输出,考虑分段生成
4) JSON 不完整要按截断处理并重试,不要盲目重发同样的请求

截断与失败的区别

现象可能原因处理
JSON 结尾不完整触达输出上限提高上限并重试,解析端识别不完整 JSON
推理写完但没有结论思考占用预算过多调大上限或要求精简推理
回答明显变短但内容完整上限偏低被硬切按任务类型调高上限
请求直接报错上限值超出模型支持范围按平台文档核对允许的最大值
把上限设得过低会静默产生不完整输出,下游按正常结果入库后难以追溯;解析端必须能识别截断并触发重试。

易错点

  • 看到半句话或半个 JSON 先怀疑模型能力,没有先检查输出上限与结束原因
  • 上限只考虑正文长度,忽略推理过程也占输出预算,导致答案被截断
  • 解析端不识别截断,把不完整的 JSON 当正常结果处理并写库
  • 为省成本把上限压到很低,长尾请求频繁截断,重试反而推高总费用
  • 上限值设成平台不支持的取值,请求直接报错却误判为模型侧问题

数据来源与参考

  • OpenAI API 文档:max_tokens 参数说明与截断处理建议
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌