OpenAI가 자사의 주력 음성-음성 변환 모델의 차세대 버전인 ‘GPT Realtime 2’를 출시했습니다. 이 모델은 기존 gpt-realtime에 비해 지시어 이행, 도구 호출, 다국어 처리 성능 면에서 상당한 발전을 이루었으며, 기존 상용 음성-음성(S2S) 모델에서는 볼 수 없었던 새로운 상호작용 요소인 ‘프리암블(preambles)’을 도입했습니다.
이제는 추론 능력이 있는 음성 모델이 더 이상 새로운 개념은 아닙니다. 이 분야는 이미 한동안 이러한 방향으로 발전해 왔으며, 실제 업무에 활용되고 있는 다른 강력한 상용급 S2S 모델들도 이미 존재합니다. Realtime 2의 차별화된 점은 사용자에게 추론 과정을 어떻게 보여주는가에 있습니다. 음성 에이전트를 개발하고 있다면, 바로 이 부분을 자세히 살펴볼 가치가 있습니다.
침묵 문제가 해결된 추론 기능
Realtime 2를 포함한 최신 S2S 모델들은 추론을 루프의 핵심 요소로 삼음으로써 이러한 한계를 극복했습니다. 사용자는 추론 기능을 활성화하고, 응답이 나오기 전까지 실제 연산 시간을 소모하는 방식으로 이를 처리할 수 있습니다. 하지만 이러한 접근 방식의 문제점은 명백합니다. 모델이 추론하는 데 2초가 걸린다면, 사용자는 2초 동안 침묵을 들어야 하는데, 전화 통화 중의 침묵은 채팅 화면의 침묵과는 달리 연결이 끊긴 것처럼 느껴지기 때문입니다.
Realtime 2의 답변은 ‘서두’ 형태입니다. 즉, 모델이 아직 추론을 진행 중인 상태에서 실질적인 답변에 앞서 캐릭터에 맞게 짧게 내뱉는 인사말이나 확인의 말입니다. 모델은 추론이 끝난 후가 아니라 추론이 진행되는 동안 사용자와 대화를 나눕니다. 이로 인해 전체 응답 시간은 늘어납니다. 하지만 사용자가 모델의 목소리를 즉시 듣기 시작하기 때문에 체감 응답 시간은 짧게 유지됩니다.
핵심적인 통찰은 바로 이것입니다. 침묵이야말로 ‘지연’을 의미하는 것이지, 단순히 몇 초의 시간이 아닙니다. 2초 동안의 정적은 대화가 끊긴 듯한 느낌을 줍니다. 반면 “네, 고객님의 계정 정보를 확인해 보겠습니다”라고 2초 동안 말하는 것은, 비록 실제 조회 시간이 침묵으로 넘기는 것보다 더 오래 걸리더라도, 전화기 너머에 유능한 사람이 있다는 인상을 줍니다.
실제로 이는 Realtime 2를 사용하여 배포할 때 즉시 체감하게 될 세 가지 장점을 의미합니다:
- 서론과 결론을 자연스럽게 연결하는 논리 전개로 대화의 흐름이 끊기지 않고 계속 이어지도록 한다
- 시스템 프롬프트에서 설정한 지침과 페르소나를 더 엄격하게 준수해야 합니다
- 즉각적인 대화형 응답 대신, 보다 체계적이고 여러 단계로 구성된 응답
개발자들이 오랫동안 요구해 온 바로 그 변화입니다. 더 이상 잘못된 지표를 최적화하지 말아야 합니다. ‘첫 소리 재생까지 걸리는 시간’은 ‘유용한 답변을 받기까지 걸리는 시간’과 다릅니다. ‘리얼타임 2’는 서두(preambles)를 활용하여 전자의 시간을 짧게 유지하면서도 후자의 시간을 획기적으로 단축합니다.
주요 기능: 서두
서두는 추론 우선 방식의 음성 응답을 가능하게 하는 핵심 요소이므로, 이를 좀 더 자세히 살펴볼 필요가 있습니다. 이는 최종 응답에 앞서 모델이 제어하여 전달하는 간결한 음성 확인 메시지로, “확인해 드릴 테니 잠시만 기다려 주세요”나 “고객님의 계정을 불러오겠습니다”와 같은 표현이 해당됩니다. 모델이 언제 이를 사용할지, 그리고 어떤 내용을 말할지 결정합니다.
지연 시간에 대해서는 이미 다뤘습니다. 하지만 서두는 기존의 음성 시스템으로는 말 그대로 표현할 수 없었던 새로운 기능을 가능하게 합니다:
- 다국어 분할. 서두는 한 언어로 작성하고 본문 답변은 다른 언어로 작성할 수 있습니다. 이는 작업 인계, 번역 프로세스, 또는 컨텍스트 전환 전에 사용자에게 확인을 요청해야 하는 라우팅 계층에 유용합니다.
- 에이전트 신호 전달. 이 모델은 의도, 상태, 불확실성을 인밴드 방식으로 전달할 수 있습니다. “내 생각엔 당신이 말하려는 건…”이나 “확실하진 않지만…”과 같은 표현은 단순히 겉핥기식으로 덧붙인 것이 아니라, 출력의 핵심적인 부분이 됩니다.
- 중단 가능성. 서두 모델이 긴 답변을 내놓기 전에 사용자가 개입하여 방향을 전환할 수 있는 기회를 제공합니다. 이는 긴 추론 과정이나 여러 도구를 활용하는 작업을 수행하는 모든 에이전트에게 매우 중요한 기능입니다. 사용자는 잘못된 답변을 끝까지 기다릴 필요 없이 조기에 방향을 수정할 수 있기 때문입니다.
- 도구의 투명성. “일정을 확인 중입니다.” “데이터베이스에서 검색 중입니다.” 사용자는 현재 무슨 일이 일어나고 있는지, 그리고 왜 잠시 멈췄는지 이해하게 됩니다. 블랙박스 같은 침묵 대신 눈에 보이는 동작이 나타납니다.
- 오류 복구. “다시 시도 중”이나 “서버 연결에 문제가 있습니다”와 같은 메시지가 표시되어, 아무런 반응 없이 조용히 중단되는 대신 원활하게 처리됩니다.
음성 에이전트를 출시한 적이 있고, 도구 통화 중에 사용자들이 연결이 끊겼다고 생각하여 전화를 끊는 모습을 본 적이 있다면, 이것이 왜 중요한지 이미 잘 알고 계실 것입니다. 서두는 음성 대 음성의 사용자 경험을 근본적으로 변화시킵니다.
왜 단순히 “도구를 부를 때 말을 걸어라”라고 하지 않는 걸까?
STT → LLM → TTS로 이어지는 연쇄 파이프라인을 사용해 온 개발자라면 여기서 익숙한 패턴을 발견할 것입니다. 바로 모든 도구 호출에 “현재 일정을 확인 중입니다”라는 메시지를 덧붙여 응답이 끊기지 않도록 하는 방식입니다. 이 방법은 어느 정도 효과가 있지만, 근본적으로 다른 메커니즘이며, 단지 쉬운 경우에만 적용될 뿐입니다.
연쇄 파이프라인 도구 알림은 결정론적이며 수동으로 작성되며, 도구 호출 시에만 발동됩니다. 사용자가 문자열을 작성하고 이를 특정 함수 호출에 연결하면, 도구가 실행될 때(그리고 오직 그때만) 트리거됩니다. 이는 알려진 이벤트를 둘러싼 기본 구조와 같습니다.
Realtime 2의 서두 모델이 생성하며, 컨텍스트를 인식하고, 도구를 호출하든 아니든 모델이 처리 시간을 필요로 할 때마다 실행됩니다. 바로 이 마지막 부분이 핵심입니다. 음성 에이전트에서 발생하는 가장 까다로운 지연 문제 대부분은 도구와 무관합니다.
SaaS 제품의 고객 지원 담당자를 생각해 봅시다. 한 사용자가 전화를 걸어 이렇게 말합니다:
“저기, 저희 팀에서 엔터프라이즈 요금제 청구 내역에 이상한 점이 발견됐어요. 지난달에 좌석 2개가 추가로 청구됐는데, 분명히 아무도 추가하지 않았거든요. 게다가 지금은 팀원 절반 정도가 SSO에 접속하지 못하고 있어요. 10월에 진행한 마이그레이션과 관련이 있는 것 같긴 한데, 확실하지는 않네요. 어떻게 해야 할까요?”
여기서 호출할 수 있는 도구는 없습니다. 이 문제를 해결해 줄 API 조회 기능도 없습니다. 모델은 실제로 추론을 해야 합니다. 즉, 서로 얽힌 세 가지 문제(청구 분쟁, SSO 실패, 과거 마이그레이션과의 잠재적 인과 관계)를 분석하고, 어떤 문제를 먼저 다룰지 판단하며, 추가 설명을 요청할지 아니면 진단 절차를 제안할지 결정한 뒤, 일관성 있는 답변을 구성해야 합니다. 이는 2~3초 동안의 실질적인 사고 과정입니다.
연쇄 파이프라인에서는 응답이 끊깁니다. 메시지를 전달할 수 있는 도구 호출이 없기 때문에, 수동으로 작성한 처리 로직이 실행되지 않습니다. 사용자는 에이전트가 자신의 말을 이해했는지 알 수 없는 상태에서 답답해하며 기다리게 되고, 상당수의 사용자는 말을 반복하거나 전화를 끊어버리게 됩니다.
Realtime 2에서 모델은 “좋아요, 잠시 생각해 볼게요. 여러 가지 상황이 얽혀 있는 것 같네요”와 같은 말을 내뱉은 뒤, 잠시 후 실제 구조화된 답변을 내놓습니다. 모델이 사고 과정을 거치는 동안 사용자는 그 사실을 인지하며, 대화는 끊기지 않고 이어집니다. 별도의 도구는 사용되지 않았고, 엔지니어가 그 서두를 작성한 것도 아닙니다. 모델 스스로 추론할 시간이 필요하다고 판단하고, 그 간극을 스스로 메운 것입니다.
이는 더 넓은 맥락에서 적용됩니다. 모델이 진정한 추론을 수행할 때마다 — 모호한 요청의 의미를 명확히 하거나, 여러 선택지를 비교 검토하거나, 여러 타당한 해석 중에서 하나를 결정하거나, 복잡한 다단계 답변을 구성할 때 — 서두 그 공백을 메워줍니다. 반면, 연쇄 파이프라인 방식의 도구 발표들은 그럴 수 없습니다. 바로 그 점이 차이점입니다.
사고력 기르기, 여러분의 손에 달려 있습니다
Realtime 2는 대화 전체에 적용하거나 턴별로 개별적으로 재정의할 수 있는 새로운 추론 노력도 매개변수를 도입했습니다. 이는 OpenAI가 지금까지 음성 모델에 적용한 기능 중 가장 유연한 조절 기능으로, 이를 통해 진정으로 새로운 대화 패턴이 가능해집니다:
- 대화의 대부분을 ‘낮음’ 모드로 설정해 재치 있는 주고받기를 즐기세요
- 사용자가 정말 어려운 질문을 하거나, 툴 호출 시 인수를 신중하게 구성해야 할 때 대화 중간에 주제를 상위로 이동시키세요
- 확인용 응답(“예”, ‘아니요’, “계속하세요”)은 최소한으로 줄이세요
단일 세션 내에서 비용/지연 시간/품질 곡선을 동적으로 조정할 수 있습니다. 이는 이전에는 모델 교체나 라우팅 레이어가 필요했던 작업입니다.
더 넓은 감정 표현 범위와 조절력
Realtime 2는 표현력도 훨씬 뛰어나고 반응 조절도 훨씬 용이합니다. 이 모델이 설득력 있게 구현해 낼 수 있는 감정 범위는 훨씬 더 넓어졌으며(속삭임, 분노, 질투, 공감, 황홀감 등), 사용자의 감정 기조에 훨씬 더 잘 맞춰줍니다. 무표정하게 말하면 차분하게 응답하는 경향이 있고, 강렬한 어조로 말하면 그에 맞춰 반응합니다.
개발자들에게 있어 이는 페르소나 프롬프트가 실제로 기대하는 대로 작동한다는 것을 의미합니다. “독특한 선생님처럼 말해 주세요.” “해적 같은 목소리로 하되, 청구서 이야기를 할 때는 전문적인 어조를 유지해 주세요.” “이 부분은 속삭이듯 말해 주세요.” 이런 지침들이 실제로 효과를 발휘합니다.
주체적 워크플로우에 대한 더 자세한 설명
Realtime 2는 에이전트 기반 음성 작업(장시간 진행되는 고객 지원 세션, 다중 도구 워크플로, 모델이 10분 전이나 세 번의 도구 호출 전에 결정된 내용을 기억해야 하는 대화 등)을 위해 특별히 설계된 더 긴 컨텍스트 창을 기본으로 제공합니다. 도구 호출 및 지시 사항 이행 기능의 개선 사항과 결합되어, 이 모델은 성능 저하 없이 진정으로 긴 세션 전반에 걸쳐 안정적인 성능을 유지하는 최초의 음성 모델입니다.
Realtime 2를 이용한 배포를 위한 테스트 팁
초기 테스트 과정에서 알게 된, 여러분의 시간을 절약해 줄 몇 가지 팁:
- 추론 수준은 ‘낮음’으로 시작하세요. 대부분의 워크플로에는 이 정도면 충분하며, 기본 설정으로도 가장 빠른 성능을 경험할 수 있습니다. 실제 품질 차이가 측정될 때만 수준을 높여주세요.
- 서두는 신중하게 사용하십시오. 모범 사례는 간단한 명령의 경우 서두를 생략하고, 긴 추론이나 도구 호출 명령의 경우 짧은 서두 하나를 사용하는 것입니다. 매우 간단한 흐름의 경우 서두를 최소화하거나, 시스템 프롬프트에서 서두를 원하지 않는다는 점을 명시적으로 모델에 알려주십시오.
- 프롬프트를 반복적으로 수정해 보세요. Realtime 2의 지시문 이행 능력은 획기적으로 향상되었습니다. 하지만 이는 모순되거나 모호한 지시문이 오히려 더 큰 문제를 일으킨다는 뜻이기도 합니다. 모순을 제거하고, 말하기 속도(“빨리 말해”, “천천히 말해”), 용어, 모델이 인식해야 할 특정 어휘, 언어 제약(“중국어로만 듣고 말해”), 역할이나 스타일(‘해적’, “기발한 선생님” 등 상황에 맞는 것)에 대해 명확하게 명시하세요.
- 감정 일치 기능을 테스트해 보세요. 이 모델은 기본적으로 통화자의 어조에 맞춰 조정됩니다. 테스트 입력 음성이 무미건조하고 단조롭다면 모델의 음색도 무미건조하게 들릴 것입니다. 이는 버그가 아닌 의도된 기능이지만, 사용자가 실제로 어떤 소리를 듣게 될지 확인하려면 현실감 있는 감정 표현을 담아 테스트해야 합니다.
아고라기반으로 생산용 음성 봇 구축하기
실전급 S2S가 등장했습니다. 추론 기능을 갖춘 음성 모델들은 데모 수준의 한계를 넘어 실제 업무를 수행할 수 있는 단계로 진입하고 있습니다. 즉, 모호성을 처리하고, 도구를 안정적으로 호출하며, 장시간 세션에서도 성능을 유지하며, 비즈니스 성과에 중요한 지시를 따를 수 있게 된 것입니다. Realtime 2가 기여한 구체적인 부분은 서두로 이는 추론 중 발생하는 침묵이라는 문제를 깔끔하게 해결해 줍니다. 이 문제는 추론 기능을 갖춘 모든 음성 모델이 어떻게든 해결해야 하는 과제였습니다.
아고라는 매달 800억 분 이상의 실시간 오디오 및 비디오 트래픽을 처리하며, 당사의 대화형 AI 엔진은 ‘Realtime 2’를 실제 음성 에이전트에 적용하는 가장 빠른 방법입니다. 이 엔진은 중단 처리 기능이 내장되어 있고, 저지연 글로벌 전송 기능을 제공하며, 추론 중심 모델이 통화 중에 마치 원래부터 그 자리에 있었던 것처럼 자연스럽게 작동하도록 지원하는 오케스트레이션 레이어를 갖추고 있습니다.
대화형 AI 엔진에서 Realtime 2.0을 체험해 보시고, 서두 기반 음성 기능이 어떤 성능을 발휘하는지 확인해 보세요: https://docs.agora.io/en/conversational-ai/models/mllm/openai
.webp)

