OpenAI가 2026년 5월 7일 API용 음성 모델 3종을 공개했습니다. GPT-Realtime-2, GPT-Realtime-Translate, GPT-Realtime-Whisper입니다. 발표 자체도 중요하지만, 개발자에게 더 중요한 질문은 따로 있습니다. '실시간 음성 AI를 실제 서비스에 넣을 때 지연시간, 도구 호출, 비용을 어떻게 통제할 것인가'입니다.
GPT-Realtime-2는 GPT-5급 reasoning을 가진 실시간 음성 모델로 소개됐고, 32K였던 컨텍스트가 128K로 늘어났으며, parallel tool calls, preambles, reasoning effort 조절을 지원합니다. GPT-Realtime-Translate는 70개 이상 입력 언어를 13개 출력 언어로 실시간 번역합니다. GPT-Realtime-Whisper는 스트리밍 음성 인식 모델입니다. 가격도 공개됐습니다. GPT-Realtime-2는 오디오 입력 100만 토큰당 32달러, 캐시 입력은 0.40달러, 오디오 출력은 100만 토큰당 64달러입니다. Translate는 분당 0.034달러, Whisper는 분당 0.017달러입니다.
실시간 음성 서비스에서 사용자가 느끼는 지연시간은 여러 구간의 합입니다. 마이크 입력, 브라우저 인코딩, WebRTC 연결, 서버 세션 발급, 모델 처리, 도구 호출, 음성 출력, 클라이언트 재생까지 모두 포함됩니다. 모델이 빨라져도 도구 호출이 느리면 사용자는 버벅인다고 느낍니다.
그래서 음성 에이전트 설계의 첫 번째 원칙은 '대화 유지'와 '작업 완료'를 분리하는 것입니다. 사용자가 말한 뒤 2초 동안 아무 소리도 없으면 실패처럼 느껴집니다. OpenAI가 preambles를 강조한 이유도 여기에 있습니다. 모델이 본 답변을 만들기 전 '확인해볼게요', '예약 가능 시간을 조회하고 있어요' 같은 짧은 발화를 먼저 내보내면 사용자는 시스템이 작동 중임을 압니다.
하지만 preamble을 남발하면 상담원이 말만 많고 처리는 느린 것처럼 보입니다. 기준이 필요합니다. 500ms 안에 끝나는 간단한 응답은 preamble 없이 바로 답하고, 외부 API 호출이 필요한 작업은 preamble을 사용하며, 3초 이상 걸릴 수 있는 작업은 중간 상태를 한 번 더 알려주는 식으로 정하면 됩니다.
브라우저 기반 음성 에이전트는 보통 WebRTC를 씁니다. 클라이언트가 직접 OpenAI Realtime API와 연결하려면 임시 세션 정보가 필요하고, 이 세션 발급은 서버에서 처리해야 합니다. API 키를 브라우저에 넣는 순간 보안 사고입니다.
권장 구조는 다음과 같습니다.
/api/realtime/session에 세션 발급 요청여기서 서버는 음성 스트림을 전부 중계하지 않아도 됩니다. 하지만 권한, 세션 만료, 도구 호출, 비용 제한은 서버가 관리해야 합니다. 음성 AI는 사용자가 오래 켜두기 쉬운 인터페이스라서 비용 폭주가 빠르게 발생합니다. 세션당 최대 시간, 사용자당 일일 분량, 동시 세션 수를 반드시 제한해야 합니다.
GPT-Realtime-2는 minimal, low, medium, high, xhigh 같은 reasoning effort 선택지를 제공합니다. 많은 팀이 처음에는 high가 좋아 보인다고 생각합니다. 하지만 음성 UX에서는 항상 그렇지 않습니다. 사용자는 복잡한 추론보다 빠른 반응을 더 중요하게 느끼는 순간이 많습니다.
추천 기준은 다음과 같습니다.
중요한 것은 세션 전체를 하나의 effort로 고정하지 않는 것입니다. 사용자 발화 의도를 분류한 뒤, 단순 응답은 낮은 effort로 처리하고, 도구 호출 결과를 해석하거나 예외 케이스를 판단할 때만 높은 effort로 올리는 전략이 비용과 지연시간을 함께 줄입니다.
GPT-Realtime-2는 parallel tool calls를 지원합니다. 예를 들어 여행 앱에서 항공편 상태, 호텔 예약, 공항 이동 시간을 동시에 조회할 수 있습니다. 병렬화는 빠르지만 실패 모드도 복잡해집니다. 세 도구 중 하나만 실패했을 때 사용자는 무엇을 들어야 할까요?
실무에서는 도구를 세 등급으로 나눠야 합니다.
필수 도구가 실패하면 모델이 우회해서 확정 답변을 하면 안 됩니다. 보조 도구가 실패하면 '지금은 예약 정보 기준으로만 안내할게요'처럼 범위를 좁혀야 합니다. 장식 도구는 조용히 생략해도 됩니다. 이 규칙을 프롬프트에만 맡기지 말고 tool result schema에 required, fallback_allowed, user_visible_error 같은 필드를 넣어 제어하는 편이 안전합니다.
음성 AI 비용은 텍스트 챗봇보다 예측이 어렵습니다. 사용자가 침묵해도 세션은 켜져 있을 수 있고, 모델이 음성으로 길게 답하면 출력 토큰이 늘어납니다. 번역과 transcription 모델은 분당 과금이라 사용 시간 관리가 직접적인 비용 관리가 됩니다.
간단한 산식부터 잡아야 합니다. 예를 들어 고객 상담 세션 평균 6분, 하루 1,000건이면 월 180,000분입니다. GPT-Realtime-Translate를 계속 붙이면 분당 0.034달러 기준 월 6,120달러 수준의 번역 비용이 생길 수 있습니다. Whisper만 써도 분당 0.017달러 기준 월 3,060달러입니다. 여기에 Realtime-2 오디오 토큰 비용이 별도로 붙습니다.
따라서 모든 세션에 모든 모델을 켜면 안 됩니다. 한국어 상담만 처리하는 서비스라면 Translate는 외국어 감지 시에만 켜고, 상담 후 요약만 필요한 경우에는 전체 음성 생성보다 streaming transcription과 텍스트 요약을 조합하는 편이 나을 수 있습니다.
GPT-Realtime-2의 의미는 목소리가 더 자연스러워졌다는 정도가 아닙니다. 음성 인터페이스가 실제 업무를 처리하는 에이전트로 넘어가고 있다는 신호입니다. 제품에 넣을 때는 데모의 자연스러움보다 운영 지표를 먼저 설계해야 합니다. 지연시간, 도구 호출, 비용 제한이 잡혀야 음성 AI가 기능이 아니라 서비스가 됩니다.