ChatGPT 回答中途截断:为什么会断 + 最快接回去的方法

ChatGPT 中途停下来,原因多半是单次 token 上限到了、模型自以为说完了、或者流断了——按这个顺序排查。

ChatGPT 中途断掉和”卡住不出”、“被限流”是三件事。截断是指 token 正常往外流,然后突然停——有时停在词中间,有时停在一段干净的换行处。最快的解法几乎总是一样:打一个 continue 发出去。但搞清楚它为什么断,下次跑长任务才不会再踩。

按命中率从高到低:单次输出上限到了 → 模型以为说完了 → 网络流中断 → 安全过滤中途触发

症状

  • 输出停在词中间、代码块里、列表项中
  • 长输出(代码、翻译、表格)总是在差不多的长度停下来
  • “Stop generating” 按钮没出现,你也没点
  • 模型说”我下条继续”,结果不继续
  • 代码块开了 ``` 但没闭合

常见原因

1. 单次回答触顶了 max output tokens

每个模型都有”单次输出上限”,比 context window 小得多。GPT-5.5 单次大约 8k–16k token(看 plan);o 系列 reasoning 模型预算一样大,但要花一部分用于隐藏思考,所以你看到的可见部分更短。一旦撞上限就停——不报错,就是没了。

如何判断:数一下输出长度。代码 dump 或翻译每次都停在 8k token 附近(≈ 32 KB 英文 ≈ 6000 个汉字),就是这个原因。

2. 模型自以为说完了

模型在判断”答得够完整”时会自己输出结束 token。结构化长输出(表格、编号列表、多文件代码)经常被它提前截断。这是完成度的问题,不是上限的问题。

如何判断:输出停在一个看起来自然的位置(列表最后一项、函数结尾),但 prompt 明明要更多。直接问”你写完了吗”,通常会得到”没有,下面继续”。

3. 网络流中途断了

浏览器靠 SSE 流接收 token。网络抖动、VPN 切节点、笔记本休眠都会让 SSE 断开;UI 显示的就是断之前已经流到的部分。服务端这边可能其实已经生成完了,只是你后半截没收到。

如何判断:DevTools → Network → 找 conversation 那个 SSE 请求。状态提前 closed 或者 net::ERR_NETWORK_CHANGED = 流断了。

4. 安全过滤中途触发

不常见但真的会发生:模型开头写了一段,中间生成的内容触发了 post-filter,回复被截。UI 通常会显示”该内容可能违反政策”的橙条/红条——但手机上很容易看漏。

如何判断:往上滚到那条截断的消息。有橙色/红色警告条 = 是这个原因。

5. 浏览器后台标签被节流

部分浏览器会节流后台标签的 JS 计时器。SSE 连接没断,但渲染暂停,某些版本超过一段时间后连接也会被关。重新切回标签后渲染恢复——但没渲染出来的就没了。

如何判断:截断是不是发生在你切走标签之后?同样 prompt 在保持标签前台时能完整跑完,就是这个原因。

6. Custom GPT 的 system prompt 限制了长度

如果你在用 Custom GPT,它的指令里如果写了”回答控制在 300 字以内”或者”每次以下一步问题结尾”,模型会比裸 ChatGPT 更早停。

如何判断:同样 prompt 拿去开一个普通的 ChatGPT 新对话试。能跑完整 = 是 Custom GPT 的系统指令把长度卡掉了。

最短修复路径

第 1 步:打 continue 发出去

最稳的兜底。ChatGPT 会从断点接着写——一般会接上下一段、下一个代码块或者下一条列表。对代码有时会重启当前块;对纯文本通常能干净续上。原因 1、2、3、5、6 都管用。

代码场景更精确的指令:continue from where you stopped, without repeating any lines

第 2 步:长输出,开始前先拆

不要一句 prompt 要”整套 30 个文件全部重构”。先要 1–3 号文件,再要 4–6 号。提前拆好的好处:

  • 完全绕开单次上限
  • 任何一段失败都有恢复点
  • 每次调用的 prefill 时间也短

翻译:按章节或每 2000 源词拆。表格:每次只要 30 行。

第 3 步:如果在 Custom GPT 里,切回普通 ChatGPT

Custom GPT 的上下文会显示在输入框上方。点 “New chat” → 留在默认 ChatGPT。同样 prompt 现在能用到完整的输出预算,不会被 GPT 自己的指令裁掉。

第 4 步:查安全过滤的提示条

往上滚到那条被截的消息。如果有橙色/红色政策提示,重写一下 prompt 把触发点去掉(通常是某个具体姓名、被标成”exploit”的代码、或者匹配到敏感模式的措辞)再发。

第 5 步:长生成时把网络稳住

  • 跑 20 分钟的长生成时插网线,别用 Wi-Fi
  • 临时关掉 VPN 的自动重连
  • 标签留在前台——不要切桌面、不要让笔记本休眠
  • 手机上保持屏幕常亮

第 6 步:reasoning 模型时把思考预算降下来

o 系列把输出预算花在隐藏思考上。如果任务不需要深推理,切到 GPT-5.5——可见输出会更长,因为没人去吃这块预算。

容易误判成

  • 被限流 / Message cap——那个会显示横幅(“You’ve reached your limit”)。截断不会。见 ChatGPT 消息上限
  • 卡住 / 不出 token——卡住是 token 从头到尾都没出。截断是流过一阵之后才停的。见 ChatGPT 加载卡住
  • 回答变慢——慢是还在出。截断是确实停了。见 ChatGPT 回答变慢

怎么避免下次再断

  • 任何预期超过 3000 字的输出,事先就规划成 2–3 条消息
  • 长代码 dump:一次只要一个文件,不要整工程
  • 长生成挑稳定的网络——网线优于酒店 Wi-Fi
  • 整个生成过程标签别切走
  • 如果某个 Custom GPT 总是触发截断,进去把指令里的”长度限制”删掉
  • reasoning 模型留给真正需要推理的任务——可见输出会被思考吃掉一大块

相关文章

标签: #ChatGPT #排查 #排查