切换深浅色
prompt is too long
text
prompt is too long: the request exceeds the model's context window. 请求内容超过了模型的上下文长度,请压缩或清理对话后重试。直接连官方时,同一个问题的写法可能是 prompt is too long: 1280000 tokens > 1000000 maximum,或者 OpenAI 的 context_length_exceeded。
意思是这次请求的内容太长,超过了模型一次能读的上限(上下文窗口)。原样重发还会报错。在 Claude Code 或 Codex 里用 /compact 压缩对话,或者新开一个对话,就能继续。
出现在什么时候
- 很长的对话:Claude Code、Codex 每条消息都会带上整段对话。
- 一次贴进了大文件、长日志、很多张图片。
- 装了很多 MCP 工具:每个工具的说明也算在输入里。
- 自动压缩没成功:对话一直变长,最后超过上限(见下面“用 xxapi 时还要查什么”)。
原因
每个模型一次能读的 token 数有上限,算的是整次请求:系统提示、工具定义、全部历史消息和附件,加在一起不能超过这个上限。上限多大因模型而异,见 Anthropic 官方的 上下文窗口说明 和 OpenAI 各模型的说明页。
怎么解决
- **压缩对话。**Claude Code 和 Codex 里都输入
/compact,让它把前面的内容总结成一段,再接着做。 - **新开对话。**Claude Code 输入
/clear,Codex 新开一个会话。可以让它先读已经写好的文件,再继续任务。 - **别把大文件整段贴进对话。**让工具自己去读文件里需要的部分;日志只贴报错附近的几十行。
- **减少同时开着的 MCP 工具。**用不到的先关掉。
- 聊天软件里:新开对话,少带附件;需要长文时分几次发。
用 xxapi 时还要查什么
- 对话越长越贵:部分模型在一次输入很长时按更高的一档计价,见 价格表 里的“输入长度”一列。及时压缩,既能避免这个报错,也更省钱。
- 如果是 Codex 经 CC Switch 调 Claude 模型、并且之前一直在报错,自动压缩可能一直没成功,对话才会越积越长。先看 input_schema does not support oneOf, allOf, or anyOf,处理好以后新开对话。
- 中途换模型导致压缩失败的情况,见 Codex 换模型后“压缩已中断”。
核对日期:2026-10-28。
