‘메시지 스트리밍 오류’는 ChatGPT가 답변을 한 글자씩 전송하는 연결이 답변이 끝나기 전에 중단될 때 나타납니다. 입력한 내용 때문인 경우는 거의 없습니다. 일반적인 원인은 OpenAI 측의 과부하, 불안정한 회선, 브라우저 확장 기능 또는 너무 긴 대화입니다. 답변을 다시 생성하면 대부분 해결되며, 그래도 해결되지 않으면 상태 페이지를 한 번 확인해 문제가 내 쪽에 있는지 판단할 수 있습니다.
오류
訊息串流發生錯誤
(同一種故障的其他說法:「串流已中斷。正在等待完整訊息」、
「Hmm...something seems to have gone wrong.」
症狀都一樣 —— 回覆停在一半,永遠不會產生完。)원인과 해결 방법 한눈에 보기
| 원인 | 해결 방법 |
|---|---|
| OpenAI 측의 과부하 또는 장애입니다. 모든 요금제에 동시에 영향을 미치며 Plus와 Pro도 예외가 아닙니다. 오류가 몇 분마다 반복된다면 이것이 가장 가능성 높은 원인입니다. | status.openai.com을 확인하세요. 장애 중에는 내 쪽에서 어떤 설정을 조정해도 결과가 바뀌지 않으며, 기다리는 것만이 유일한 해결책입니다. |
| 불안정한 연결: Wi-Fi와 모바일 네트워크 전환, VPN 또는 회사 Proxy, 약한 모바일 신호입니다. 스트리밍은 하나의 연결을 오랫동안 유지하므로 일반 웹페이지가 정상적으로 로드되는 환경에서도 끊길 수 있습니다. | VPN 또는 Proxy를 끄고 다른 회선(Wi-Fi ⇄ 모바일 네트워크)으로 다시 시도하세요. |
| 브라우저 환경: 페이지에 코드를 삽입하는 확장 기능, 오래된 캐시, 만료된 로그인 상태입니다. | 시크릿 창에서 다시 시도하세요. 시크릿 창에서 정상이라면 원인은 확장 기능이나 캐시입니다. 확장 기능을 비활성화하고 사이트 데이터를 삭제한 뒤 다시 로그인하세요. |
| 대화가 너무 길거나 첨부 파일이 너무 큽니다. 매번 전체 대화를 다시 전송하므로 생성 시간이 길어지고 중단될 가능성도 높아집니다. | 핵심 내용을 새 대화로 옮겨 계속하세요. 큰 파일은 나누어 제공하고 전체를 한 번에 첨부하지 마세요. |
처음 90초 동안 시도할 세 가지
답변 다시 생성 → 페이지 새로 고침(App을 사용하는 경우 완전히 종료한 뒤 다시 열기) → 로그아웃 후 다시 로그인하세요. 일시적인 연결 중단은 이 세 가지 중 하나로 해결되는 경우가 많으며, 일시적인 중단이 오히려 일반적입니다. 반대로 매번 같은 위치에서 멈춘다면 아래의 특정 원인이 작동하고 있다는 신호이지 우연한 오류가 아닙니다.
먼저 문제가 내 쪽에 있는지 판단하기
다른 가이드에서는 건너뛰지만 가장 시간을 절약하는 단계입니다. status.openai.com을 여세요. 진행 중인 장애가 표시된다면 내 쪽의 어떤 설정도 아무것도 바꾸지 못하며 기다리는 것만이 유일한 해결책입니다. 장애가 없다면 원인은 로컬 환경에 있고, 다음 단계에서 범위를 좁힐 수 있습니다. 설정을 바꾸기 전에 먼저 확인하면 공식 장애 중에 캐시를 지우느라 20분을 쓰는 일을 피할 수 있습니다.
로컬 원인을 바깥에서 안쪽으로 한 단계씩 좁히기
이 순서로 처리하세요. 각 단계가 그 위의 모든 가능성을 제거하기 때문입니다. ① VPN 및 Proxy 끄기 ② 시크릿 창 열기(확장 기능과 캐시를 한 번에 제거) ③ 다른 브라우저 또는 다른 기기로 바꾸기 ④ 다른 네트워크로 바꾸기. 정상으로 돌아온 단계가 원인입니다. 긴 대화에서만 오류가 난다면 네 단계 모두 문제가 아닙니다. 핵심 내용을 새 대화로 옮기는 것이 해결책입니다.
개발자를 위한 설명: API에서 동일한 중단이 나타나는 방식
stream: true로 API를 호출하면 동일한 장애가 finish_reason 없이 종료되는 Server-Sent Events 연결로 나타납니다. HTTP 상태 코드는 200입니다. 헤더를 전송할 때는 모든 것이 정상이므로 상태 코드만 검사해서는 포착할 수 없습니다. 부하가 높을 때는 429와 529 overloaded_error도 함께 발생할 수 있습니다. 다음 세 가지로 이를 견딜 수 있게 만들 수 있습니다. (1) finish_reason 없이 종료되는 스트림을 완료된 답변이 아니라 재시도 가능한 것으로 처리합니다. (2) 429, 500, 529에 지수 백오프와 지터를 적용해 재시도합니다. (3) 중간에 Proxy가 있다면 idle timeout을 확인하고 응답 버퍼링을 끕니다. 버퍼링하는 Proxy는 정상 스트림을 장시간 멈춘 상태로 바꿉니다. 문제를 명확히 하려면 먼저 Proxy를 거치지 않고 직접 스트리밍하세요:
# 直接串流、路徑上不放 Proxy,觀察它停在哪裡。
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":"請慢慢從 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 시간 초과, 네트워크 전환 또는 업스트림의 일시적 오류가 연결을 끊을 기회가 늘어납니다. 요약을 사용해 새 대화를 시작하는 것이 대개 브라우저 설정을 조정하는 것보다 효과적입니다.
관련 가이드
- LLM 스트리밍 오류 — SSE 중단, 멈춘 스트림 및 누락된 사용량
- Claude API 529 overloaded_error — 이 오류의 의미와 극복 방법
- Claude 비용 2026 — 구독 가격, API 요율 및 손익분기점
오류 의미에 대한 자세한 내용은 오류 참조에서 확인할 수 있습니다. 가입 및 인증 가이드를 통해 1분이면 키를 받을 수 있습니다.