當 ChatGPT 透過連線逐段傳送回應,而該連線在回應完成前中斷時,就會顯示「訊息串流發生錯誤」。這幾乎從來不是你輸入內容造成的:常見原因包括 OpenAI 端過載、連線不穩定、瀏覽器擴充功能,或對話變得過長。重新產生回應可以解決大多數情況;如果仍未解決,只要進行一次檢查,就能判斷問題是否出在你這端。
錯誤
Erreur dans le flux de messages
(Même panne, autres formulations : « Streaming interrompu.
En attente du message complet », « Hmm...quelque chose semble
avoir mal tourné. » Le symptôme est identique — la réponse
s'arrête en cours de route et ne se termine jamais.)原因與解決方法一覽
| 原因 | 解決方法 |
|---|---|
| OpenAI 端過載或發生服務事故。這會同時影響所有方案,包括 Plus 和 Pro;當錯誤每隔幾分鐘就再次出現時,這是最可能的原因。 | 查看 status.openai.com。服務事故期間,你在本機變更的任何設定都不會改變結果——等待才是解決方法。 |
| 連線不穩定:Wi-Fi/4G 切換、VPN 或企業 Proxy、行動訊號微弱。串流會長時間維持單一開啟的連線,因此在一般頁面載入可以通過的地方,串流可能會中斷。 | 關閉 VPN 或 Proxy,然後改用另一個連線重試(Wi-Fi ⇄ 行動網路)。 |
| 瀏覽器環境:注入頁面的擴充功能、過期的快取、工作階段已過期。 | 使用無痕瀏覽模式重試。如果這樣可以運作,原因就是擴充功能或快取——停用擴充功能、清除網站資料,然後重新登入。 |
| 對話過長或附件過大。每一輪都會重新傳送完整歷史記錄,因此產生回應需要更久,也更容易中斷。 | 將重點內容移到新的對話中。請將大型檔案切分,而不要整個附加。 |
前 90 秒的三個操作
重新產生回應 → 重新載入頁面(在行動裝置上,完全退出應用程式後重新開啟)→ 登出後重新登入。一次性的中斷通常可以透過這三個操作之一解決,而一次性中斷才是正常情況。不過,如果每次都在完全相同的位置停止,這表示下方列出的某個具體原因正在發生,而不是偶發狀況。
先判斷問題是否出在你這端
這是其他疑難排解清單會略過的步驟,也是最省時間的一步。開啟 status.openai.com。如果服務事故正在發生,任何本機設定都無法改變結果,等待是唯一選項。如果沒有公告事故,原因就是本機問題,下一步即可縮小範圍。在調整設定前先完成這項檢查,可以避免在服務故障期間花二十分鐘清除快取。
由外而內隔離本機原因
請依照以下順序操作,每一步都會排除前面列出的因素:(1) 關閉 VPN 和 Proxy;(2) 開啟無痕視窗——一次移除擴充功能和快取;(3) 嘗試另一個瀏覽器或裝置;(4) 更換網路。從哪一步開始恢復正常,就表示原因所在。如果錯誤只在長對話中出現,四項都不是原因:將重點內容移到新的對話中。
給開發人員:API 端也會發生相同的中斷
使用 stream: true 呼叫 API 時,同樣的故障會呈現為 Server-Sent Events 連線在沒有 finish_reason 的情況下結束。HTTP 狀態為 200——表示傳送標頭時一切正常——因此只檢查狀態碼無法偵測;在高負載下,還會出現 429 和 529 overloaded_error。三件事可以讓它具備可恢復性:(1) 將沒有 finish_reason 的已結束串流視為需要重播,而不是完整回應;(2) 對 429、500 和 529 使用指數退避與 jitter 重試;(3) 在 Proxy 後方檢查其 idle timeout,並停用回應緩衝——會緩衝的 Proxy 會把可運作的串流變成長時間阻塞。為了縮小範圍,請先不經由 Proxy 進行串流:
# Streamer directement, sans proxy sur le chemin, et voir où ça s'arrête.
curl -N https://api.kunavo.com/v1/chat/completions \
-H "Authorization: Bearer $KUNAVO_API_KEY" \
-H "content-type: application/json" \
-d '{"model":"claude-sonnet-5","stream":true,
"max_tokens":300,
"messages":[{"role":"user","content":"compte lentement de 1 à 20"}]}'如果你透過 Kunavo 呼叫
Kunavo 是 AI API 閘道,串流中斷是預期的運作狀態,而不是例外。當某個模型設定了多個上游通道,且第一次嘗試失敗時,請求會在同一次呼叫內改由另一個通道重播:短暫的上游事故會變成稍微較慢的成功,而不是錯誤。失敗的請求絕不會計費。由於 GPT 和 Claude 可使用同一把金鑰存取,繞過過載模型等同於變更模型名稱,而不是變更整合方式。 串流情況下的重播與退避架構詳述於 LLM API 串流錯誤.
常見問題
「訊息串流發生錯誤」:是我的錯嗎?
幾乎從來不是。這則訊息表示傳輸回應的連線在完成前中斷。你輸入的內容不是原因。原因包括 OpenAI 端負載、網路不穩定、瀏覽器擴充功能或工作階段過期,或對話變得足夠長,導致回應逾時。
如果重新產生仍然無法解決,該怎麼辦?
先檢查 status.openai.com——服務事故期間,任何本機操作都沒有幫助。如果沒有事故,請在另一個網路上開啟無痕視窗:這項單一測試會一次移除擴充功能、快取和你平常使用的連線。如果這樣可以運作,請逐一重新加入每個因素,直到問題再次發生。如果到處都失敗,而且只在長對話中失敗,請將重點內容移到新的對話中。
其他 AI 也會發生這種情況嗎?
這是 ChatGPT 使用的措辭,但任何以串流方式傳送回應的助理都可能以相同方式中斷。Claude 會顯示無法產生完整回應的訊息;直接呼叫 API 時,這會呈現為沒有 finish_reason 就結束的 SSE 串流,或在高負載下呈現為 529 overloaded_error。
為什麼錯誤在長對話中更常出現?
每一輪都會重新傳送整個對話串,因此長對話意味著必須在單一開啟的連線上維持更久的回應產生時間。連線保持開啟的時間越長,就越容易因 Proxy 逾時、網路切換或上游短暫異常而中斷。帶著重點摘要重新開始新的對話,通常比任何瀏覽器設定都更能改善情況。