OpenAI Node SDK, 실시간 연결 복구 옵션 추가

다시 연결해도 기존 서버 세션은 돌아오지 않습니다
OpenAI Node SDK 7.39.0은 한국시간 2026년 10월 19일 공개됐습니다. Realtime 연결이 일시적으로 실패했을 때 제한된 재연결을 시도하는 선택 옵션이 추가됩니다. 기본값은 꺼져 있으며, 앱이 명시적으로 사용하는 기능입니다.
PR #2968의 중요한 제한은 교체된 소켓이 새 서버 세션을 만든다는 점입니다. 연결 객체는 유지하지만 서버의 이전 상태를 복원하거나 이미 전송을 시도한 명령을 자동으로 다시 보내지는 않습니다. 따라서 ‘연결 복구’와 ‘진행 중이던 대화의 완전한 복원’을 같은 의미로 설명하면 안 됩니다.
사용할 수 있는 세션 종류가 정해져 있습니다
모델 세션은 reconnect: true로 활성화할 수 있습니다. 전사 세션이나 기존 통화에 연결하는 경우에는 이 옵션을 거부합니다. Realtime이라는 이름을 쓰는 모든 연결에 일괄 적용할 수 있는 기능은 아닙니다.
각 시도는 인증 정보를 새로 얻으며 기존 전송 옵션과 정리 동작을 유지하도록 설계됐습니다. 처음에는 open을 기다린 뒤 명령을 보내야 합니다. 연결 객체가 만들어졌다는 사실만으로 명령이 전송 가능한 상태라고 판단하지 않는 편이 좋습니다.
아직 시도하지 않은 명령만 다룹니다
복구 중에는 앱이 바이트 예산을 정해 아직 전송을 시도하지 않은 명령을 보관할 수 있습니다. 이후 상태를 복원하고 명령을 명시적으로 비우거나 가져오는 흐름이 안내됩니다. 이미 시도한 명령의 처리 결과를 SDK가 추정해 재전송하는 기능과는 다릅니다.
이 구분은 음성 조각이나 도구 요청을 중복 처리하지 않기 위해 중요합니다. 연결이 끊긴 순간 어디까지 서버에 도착했는지 불분명하다면, 앱이 가진 실행 기록과 서비스 상태를 함께 확인해야 합니다. 재연결 성공만으로 모든 이전 입력이 보존됐다고 표시해서는 안 됩니다.
앱의 상태 복원 절차가 남습니다
검토용 환경에서는 최초 연결 전, 정상 응답 중, 복구 시도 중의 사용자 입력을 나누어 확인해 보세요. 새 세션에 어떤 설정과 대화 상태를 다시 적용할지, 미전송 명령을 언제 보낼지 앱 수준에서 정해야 합니다. 무한 재시도 대신 실패를 사용자에게 알리고 종료하는 경로도 필요합니다.
PR은 집중 통신 테스트와 패키지 검증을 보고하지만 호스팅 서비스 테스트는 보류했다고 밝힙니다. 이 글에서도 실제 Realtime 서비스에 연결해 복구를 측정하지 않았습니다. 기능 도입 판단은 지원 세션 종류와 새 세션의 의미를 확인한 뒤, 자신의 오류·상태 관리 흐름에 맞는지 검토하는 순서가 좋습니다.
미로

댓글
이 글에 대한 생각을 남겨 주세요.