Google이 2026년 9월 15일 Gemini 3.8 Live와 Gemini 3.8 Live Extended Thinking을 공개했습니다. 둘 다 음성 대화를 처리하지만 쓰임새는 다릅니다. 빠른 응답이 중요한 단순 대화에는 기본 모델이 맞고, 여러 도구를 호출하며 몇 초 이상 판단해야 하는 작업에는 Extended Thinking이 어울립니다.
달라진 점은 음성 에이전트가 도구 실행을 기다리며 침묵하지 않아도 된다는 것입니다. Extended Thinking은 백그라운드에서 추론과 비동기 함수 호출을 처리하는 동안 “항공편을 확인하고 있습니다” 같은 중간 음성을 보낼 수 있습니다. 여행 검색, 기술 지원, 코드 튜터처럼 한 차례 요청 안에서 여러 단계가 이어지는 서비스라면 검토할 만합니다.
핵심만 먼저 보기
gemini-3.8-live: 짧은 명령, 빠른 도구, 즉각적인 대화 전환에 적합합니다.gemini-3.8-live-extended-thinking: 다단계 추론과 오래 걸리는 도구를 백그라운드에서 처리합니다.- 두 모델은 Live API의 상태 유지 WebSocket 연결을 사용합니다. 입력 오디오는 16kHz PCM, 출력은 24kHz PCM입니다.
- Google이 제시한 오디오 비용 추정치는 입력 분당 0.005달러, 출력 분당 0.018달러입니다. 실제 청구는 토큰 사용량에 따라 달라집니다.
- 브라우저에서 Live API에 직접 연결한다면 일반 API 키를 노출하지 말고 ephemeral token을 사용해야 합니다.
기본 Live와 Extended Thinking의 차이
기본 gemini-3.8-live는 한 번의 사용자 발화에 한 번의 모델 응답이 이어지는 구조입니다. 서버가 turnComplete: true를 보내면 클라이언트는 세션이 다시 입력을 받을 상태라고 판단할 수 있습니다. 센서 값 조회나 음성 검색처럼 외부 함수가 밀리초 단위로 끝나는 작업에 단순하고 빠른 선택입니다.
Extended Thinking에서는 turnComplete만으로 전체 작업의 종료를 판단하면 안 됩니다. 모델이 중간 안내 음성을 보낸 뒤에도 도구 호출과 추론이 계속될 수 있기 때문입니다. 클라이언트는 interactionStatus를 함께 읽어 IN_PROGRESS일 때 처리 중 UI를 유지하고, IDLE이 왔을 때만 새 입력을 받을 상태로 바꿔야 합니다.
도구 선언도 달라집니다. 기본 모델은 BLOCKING과 NON_BLOCKING을 모두 지원하지만 Extended Thinking의 함수는 NON_BLOCKING으로 선언해야 합니다. 동기식 blocking 도구를 넘기면 오류가 발생합니다. 추론 강도는 low, medium, high 중에서 고를 수 있으며 MINIMAL은 지원하지 않습니다.
어떤 모델을 고르면 될까
음성 검색, 언어 연습, 스마트 기기 제어처럼 응답 시간이 최우선이고 함수 실행이 빠르다면 기본 Live부터 시작하는 편이 낫습니다. 상태 처리도 간단하고 불필요한 백그라운드 추론을 피할 수 있습니다.
Extended Thinking은 로그 여러 개를 확인하는 기술 지원, 항공편과 숙소를 함께 조회하는 예약 도우미, 수식 검증이나 코드 디버깅이 필요한 튜터에 맞습니다. 사용자가 몇 초 동안 아무 소리도 듣지 않는 문제를 줄일 수 있지만, 클라이언트 상태와 비동기 도구 응답을 더 세밀하게 관리해야 합니다.
| 선택 기준 | Gemini 3.8 Live | Extended Thinking |
|---|---|---|
| 주요 작업 | 짧은 대화, 직접 명령, 빠른 도구 | 다단계 판단, 여러 도구, 오래 걸리는 함수 |
| 종료 상태 | turnComplete |
interactionStatus: IDLE |
| 도구 방식 | BLOCKING, NON_BLOCKING |
NON_BLOCKING만 지원 |
| 추론 설정 | thinking_level 미지원 |
low, medium, high |
빠른 시작
Google GenAI JavaScript SDK와 Gemini API 키가 필요합니다. 패키지는 다음 명령으로 설치합니다.
npm install @google/genai
API 키는 환경 변수로 전달합니다. 저장소에 키를 커밋하지 마세요.
export GEMINI_API_KEY="your-api-key"
아래 코드는 Extended Thinking 세션에서 비동기 함수와 추론 강도를 설정하는 최소 구성입니다. 실제 서비스에는 마이크 입력 전송, 24kHz PCM 재생, 함수 실행부, 연결 종료 처리를 추가해야 합니다.
import { GoogleGenAI, Modality } from '@google/genai';
const ai = new GoogleGenAI({ apiKey: process.env.GEMINI_API_KEY });
const model = 'gemini-3.8-live-extended-thinking';
const searchFlights = {
name: 'search_flights',
description: 'Searches for available flights to a destination.',
behavior: 'NON_BLOCKING',
parameters: {
type: 'OBJECT',
properties: {
destination: { type: 'STRING' },
},
required: ['destination'],
},
};
const config = {
responseModalities: [Modality.AUDIO],
thinkingConfig: {
thinkingLevel: 'low',
},
tools: [{ functionDeclarations: [searchFlights] }],
};
const session = await ai.live.connect({
model,
config,
callbacks: {
onopen: () => console.log('Session connected'),
onmessage: (message) => {
if (message.interactionStatus === 'IN_PROGRESS') {
console.log('Reasoning or executing tools');
}
if (message.interactionStatus === 'IDLE') {
console.log('Ready for the next input');
}
},
},
});
process.on('SIGINT', () => session.close());
이 예제는 Google 공식 문서의 구성 방식을 따라 작성했고 Node.js 구문 검사를 통과했습니다. 현재 환경에서는 Gemini API 자격 증명을 사용한 실제 음성 세션까지 실행하지 않았습니다.
세션 수명과 재연결
Live API는 연결과 세션의 수명이 같지 않습니다. context window compression을 쓰지 않으면 오디오 전용 세션은 15분, 오디오와 영상을 함께 쓰는 세션은 2분으로 제한됩니다. WebSocket 연결은 약 10분 뒤 종료될 수 있습니다.
긴 대화에는 두 설정을 함께 고려해야 합니다. contextWindowCompression의 sliding window는 컨텍스트가 커졌을 때 이전 내용을 압축합니다. sessionResumption은 서버가 보내는 handle을 저장했다가 새 연결에 넘겨 세션을 이어갑니다. 재개 토큰은 마지막 세션 종료 후 2시간 동안 유효합니다. 서버가 종료 전에 보내는 GoAway 메시지도 처리해야 갑작스러운 중단을 줄일 수 있습니다.
비용과 호환성
Google의 발표 기준 오디오 비용 추정치는 입력 분당 0.005달러, 출력 분당 0.018달러입니다. 이 수치는 입력 100만 토큰당 3달러, 출력 100만 토큰당 12달러를 바탕으로 한 추정치라서 대화 길이와 생성량에 따라 실제 비용이 달라집니다.
Live API는 서버 간 WebSocket 연결과 브라우저의 직접 연결을 모두 지원합니다. 브라우저 직결은 중간 서버를 거치지 않아 지연을 줄이기 쉽지만 production에서는 ephemeral token이 필요합니다. LiveKit, Pipecat, Fishjam, Vision Agents, Voximplant, Agora, Firebase AI SDK 같은 통합 경로도 제공됩니다. 새 모델 발표에는 97개가 넘는 언어와 시각 입력 지원이 명시돼 있습니다.
제한 사항
가장 먼저 확인할 부분은 session lifecycle입니다. Extended Thinking에서 중간 음성의 turnComplete를 전체 작업 종료로 해석하면 UI가 너무 일찍 입력 상태로 돌아갑니다. interactionStatus를 기준으로 상태 머신을 설계해야 합니다.
공식 문서의 Live API는 Preview로 표시되어 있습니다. 모델명, 메시지 필드, 연결 정책이 바뀔 가능성을 배포 전에 다시 확인해야 합니다. 음성 품질이나 지연 시간은 네트워크, 오디오 버퍼, 사용한 도구의 응답 시간에 크게 좌우되므로 Google이 공개한 기능 목록만으로 실제 서비스 성능을 판단하기도 어렵습니다.
추천 대상과 다른 선택
이미 음성 UI를 만들고 있고 도구 대기 중 침묵이 문제라면 Extended Thinking이 분명한 후보입니다. 반대로 단순 명령 처리나 짧은 질의응답에는 기본 Live가 구현과 운영 면에서 가볍습니다. 음성을 텍스트로만 바꾸면 되는 서비스라면 대화형 Live 모델보다 Gemini 3.5 Transcribe 같은 전용 speech-to-text 모델이 더 직접적인 선택입니다.
처음부터 모든 기능을 넣기보다는 한 가지 빠른 함수로 기본 Live를 연결해 본 뒤, 다단계 도구가 필요한 구간에만 Extended Thinking을 적용하는 편이 안전합니다. 선택 기준은 모델의 새로움이 아니라 실제 도구 지연과 상태 관리 복잡도입니다.
출처
- Google 발표: Build real-time voice applications with Gemini 3.8 Live and 3.5 Transcribe
- Gemini API 문서: Thinking in the Live API
- Gemini API 문서: Session management with Live API
- Gemini Live API overview
검증일: 2026년 9월 17일

답글 남기기