How we built a realtime system for responsive voice AI in six months

OpenAI Blog · 2026.08.05

실시간 음성 AI 시스템, 왜 아키텍처가 핵심인가

음성 기반 AI 인터랙션은 텍스트 기반과 근본적으로 다른 제약을 가진다. 사람은 대화할 때 상대방의 응답을 수백 밀리초 단위로 기대하며, 이 시간이 조금만 늘어져도 자연스러움이 깨진다. 기존의 턴 방식(turn-based) 음성 AI는 사용자가 말을 끝낸 뒤 → 음성을 텍스트로 변환하고 → LLM이 응답을 생성하고 → 다시 음성으로 변환하는 순차적 파이프라인을 따른다. 이 구조는 각 단계가 직렬로 연결되어 있어 지연이 누적되고, 사용자 경험 측면에서 대화가 끊기는 느낌을 준다.

GPT-Live와 같은 실시간 음성 AI 시스템은 이 패러다임을 정면으로 뒤집는다. 턴이 종료되기를 기다리지 않고, 음성 스트림을 지속적으로 처리하면서 응답을 생성한다. 이를 위해서는 스트리밍 오디오 수신, 실시간 VAD(Voice Activity Detection), 병렬 추론 파이프라인, 그리고 응답 오디오의 스트리밍 전송이 동시에 맞물려야 한다.

저지연 아키텍처 설계의 핵심 원칙

실시간 음성 시스템을 설계할 때 백엔드 관점에서 가장 먼저 마주치는 문제는 스트리밍 데이터 처리와 상태 관리다. WebSocket 기반의 양방향 스트리밍 채널을 유지하면서, 수신되는 오디오 청크를 버퍼링 없이 즉시 처리해야 한다. Java 백엔드 환경에서는 Spring WebFlux나 Netty 기반의 비동기 논블로킹 I/O가 이 요구사항에 적합하다.

// WebSocket 스트리밍 수신 예시 (Spring WebFlux 기반)
@Component
public class VoiceStreamHandler implements WebSocketHandler {
    @Override
    public Mono<Void> handle(WebSocketSession session) {
        return session.receive()
            .map(WebSocketMessage::getPayload)
            .flatMap(audioChunk -> voicePipeline.processChunk(audioChunk))
            .flatMap(response -> session.send(Mono.just(
                session.binaryMessage(factory -> factory.wrap(response))
            )))
            .then();
    }
}

또한 인터럽트 처리(barge-in) 도 핵심 설계 요소다. 사용자가 AI가 말하는 도중에 끼어들면, 진행 중인 응답 생성을 즉시 중단하고 새 입력을 처리해야 한다. 이를 위해 각 세션별 응답 생성 태스크를 취소 가능한 단위로 관리해야 하며, 리액티브 스트림의 Disposable이나 CancellationToken 패턴이 유용하게 쓰인다.

실무 구축 시 마주치는 병목 지점

짧은 기간 안에 프로덕션 수준의 실시간 시스템을 구축할 때 실제로 어려운 부분은 기술 선택보다 각 컴포넌트 간의 타이밍 정합성이다.

  • VAD 민감도 튜닝: 너무 민감하면 배경 소음에 반응하고, 너무 둔하면 사용자 발화 시작을 놓친다. 임계값은 환경에 따라 동적으로 조정하는 구조가 필요하다.
  • 스트리밍 TTS 지연: LLM 응답이 토큰 단위로 생성되는 만큼, 첫 청크가 도착하는 즉시 TTS를 시작하는 파이프라이닝이 전체 체감 지연을 크게 줄인다.
  • 세션 격리와 리소스 관리: 다수의 동시 음성 세션을 운영할 때, 세션별 상태가 누수되거나 스레드 자원이 고갈되지 않도록 세션 수명 주기를 명확히 정의해야 한다.
  • 네트워크 품질 대응: 클라이언트 네트워크가 불안정할 때 오디오 청크가 유실되거나 순서가 뒤바뀌는 상황을 처리하는 재조립 로직도 필수다.

6개월이라는 구축 기간은 이 모든 요소를 처음부터 완벽하게 설계하기보다, 핵심 경로(happy path)를 먼저 동작시키고 점진적으로 엣지 케이스를 다듬는 방식으로 접근했을 가능성이 높다. 실시간 시스템에서는 완벽한 설계보다 빠른 피드백 루프와 계측(observability) 이 더 중요하다.

정리

  • 실시간 음성 AI는 순차 파이프라인 대신 스트리밍 병렬 처리 아키텍처가 필수이며, 비동기 논블로킹 I/O 기반 설계가 유리하다.
  • 인터럽트 처리, VAD 튜닝, TTS 파이프라이닝은 체감 지연을 결정하는 핵심 구현 포인트다.
  • 빠른 구축의 성공 요인은 완벽한 초기 설계가 아닌, 관측 가능한 구조와 빠른 반복 개선 사이클이다.
Source
OpenAI Blog
원문 보기 →
← 목록으로 돌아가기