详细解释
最大输出 Token 数(Max Output Tokens,API 参数常写作 max_tokens 或 max_completion_tokens) 是你在每次请求时显式设置的一个”输出长度刹车”。
它和 上下文窗口 不一样:
- 上下文窗口 = 输入 + 输出总和上限(模型物理极限);
- Max Output Tokens = 你在单次调用时**自愿限制的输出上限(可以比窗口小很多)。
为什么要设
- 控成本:输出 Token 通常比输入贵 2–10 倍。你不设上限,模型可能”长篇大论”输出 8K、16K Token,一口吃掉你几美元。
- 防跑飞:极端情况下模型会陷入”重复一句话”的死循环,max_tokens 是最后一道防线。
- 保体验:摘要、分类、提取类任务本来就不需要长回答,设 200–500 Token 又快又便宜。
唯元智创(Weimeta)的控制台在”成本保护”里可以给整个账号默认 max_tokens 上限,即使 SDK 忘了填也不会突破。
典型参数名的新旧之别
OpenAI 从 GPT-4.1 / GPT-5.x 起把参数名从 max_tokens 改叫 max_completion_tokens:含义相同,更准确地对应 JSON Output(Completion)部分。Chat Completions 接口两者都接受,但新接口推荐后者。
常见问题
设了 max_tokens 模型就一定生成这么多吗?
不会。它是上限,模型回答完会自然停止(遇到 stop token)。只有让它”写长文还**才可能接近上限。要让输出长度可以配合
min tokens(仅部分厂商支持)。