展开本页目录
开始前准备什么
- 记录准确 ID、端点、真实错误与终止原因,分享前脱敏。
- 核对模型窗口、输出上限和客户端预算,不按系列名猜数值。
- 保留最近目标、必要证据与工具调用配对。
- 区分拒绝与截断
- 统计真实输入
- 规划生成预算
- 减少历史与检索
- 复测完整任务
记录预算、终止状态和所有尝试。
请求被拒绝,与生成中断分开看
空回答可能已消耗输入或推理 token。incomplete、length 和未知状态都要保留,不统一记为无费用失败。
| 现象 | 查看 | 修复方向 |
|---|---|---|
| 400 / context_length_exceeded | 输入、窗口与预留输出 | 减小输入并核对预算 |
| Chat finish_reason=length | 生成允许上限 | 检查完整输出需求 |
| Responses incomplete / max_output_tokens | 可见与推理 token | 检查预算和任务复杂度 |
| UI 文字很短仍超限 | 隐藏历史、工具和文档 | 查看最终输入组成 |
| 估算通过但上游拒绝 | 分词、协议开销与渠道限制 | 按真实错误校正估算 |
- 现象
- 400 / context_length_exceeded
- 查看
- 输入、窗口与预留输出
- 修复方向
- 减小输入并核对预算
- 现象
- Chat finish_reason=length
- 查看
- 生成允许上限
- 修复方向
- 检查完整输出需求
- 现象
- Responses incomplete / max_output_tokens
- 查看
- 可见与推理 token
- 修复方向
- 检查预算和任务复杂度
- 现象
- UI 文字很短仍超限
- 查看
- 隐藏历史、工具和文档
- 修复方向
- 查看最终输入组成
- 现象
- 估算通过但上游拒绝
- 查看
- 分词、协议开销与渠道限制
- 修复方向
- 按真实错误校正估算
用同一单位规划窗口
字符数不等于 token。缓存内容仍进入上下文,不能从长度里扣掉;图像和多模态还有自己的计算方式。
算术示例:假设窗口 32,768、预留生成 4,096、安全余量 1,024,可计划输入约 27,648 token。这不是任何 apizt 型号的已验证规格。
预算结构,按型号协议核对
可计划输入 ≈ 已确认窗口 − 预留生成 token − 安全余量
输入 = 系统提示 + 历史 + 本轮输入 + 工具定义/结果 + 检索 + 协议开销
生成预算包含型号计算在内的可见回答、推理与格式 token找到最大的输入块,再做减法
保持同一问题和型号,一次减少一个块再比较错误与 usage。更大窗口也可能受客户端预算、输出上限或渠道限制。
| 输入块 | 优先减少 | 需要保留 |
|---|---|---|
| 历史 | 已解决话题、重复解释与旧附件 | 当前目标、约束与决定 |
| RAG | 重复 chunk、弱相关片段和全文 | 支持结论的原文与来源 |
| 工具结果 | 整份日志、重复 JSON 和无关字段 | 调用 ID、错误摘要与证据 |
| 工具定义 | 本轮不会用的工具与重复 schema | 任务必需的接口和字段 |
| 输出格式 | 多余说明和不必要数组 | 业务需要的字段与结果 |
- 输入块
- 历史
- 优先减少
- 已解决话题、重复解释与旧附件
- 需要保留
- 当前目标、约束与决定
- 输入块
- RAG
- 优先减少
- 重复 chunk、弱相关片段和全文
- 需要保留
- 支持结论的原文与来源
- 输入块
- 工具结果
- 优先减少
- 整份日志、重复 JSON 和无关字段
- 需要保留
- 调用 ID、错误摘要与证据
- 输入块
- 工具定义
- 优先减少
- 本轮不会用的工具与重复 schema
- 需要保留
- 任务必需的接口和字段
- 输入块
- 输出格式
- 优先减少
- 多余说明和不必要数组
- 需要保留
- 业务需要的字段与结果
工具历史不能随意截一半
- Chat 的 assistant tool_calls 与对应 tool 结果保持关联,不留下孤立结果。
- Responses 手工历史保留模型要求的 output 项和工具事件,不把 messages 直接改名成 input。
- 摘要保存目标、已完成、约束、未完成和来源索引,原始证据仍能回查。
- 模型摘要也可能产生请求与费用,单独计入任务。
RAG 超限:看 Top K 和每段长度
先查片段是否重复、是否送了全文、是否切断关键事实。减小 Top K 与缩短片段分别测;token 更少也可能丢掉正确证据。
减少输入后复跑四问,核对事实、来源与拒答,再补跨段业务问题。错误消失但开始编造,不能算修复。
输入通过,还要确认输出完整
- 保存修改前后的输入组成、估算、真实 usage、终止状态与型号。
- 检查完整 JSON、最后一段、来源和工具最终结果,不只看没有报错。
- 分批处理保留稳定 ID 和块边界,汇总也需要独立预算。
- 摘要、生成、失败和未知尝试全部计入任务,不自动重发超限请求。
怎样确认已经完成
- 准确窗口、输出上限与客户端预算已确认。
- 减少真实输入,未破坏工具配对。
- 原任务输出和来源完整,没有拒绝或截断。
- 估算与 usage 分列,全部费用保留。
常见问题
减少 max_tokens 一定能解决吗?
可能降低预留预算,但输入本身超限仍需压缩。设置过低也可能截断,或消耗推理却没有可见答案。
缓存命中的 token 不占窗口吗?
缓存内容仍进入模型输入,不能从上下文长度扣掉。计费和长度预算分别核对。
换大窗口就不用改流程吗?
还需确认渠道、客户端、工具协议与输出上限,并复测同一完整任务。