← Docs hub

LLM Live 튜닝 파라미터

이 페이지는 현재값, 조정 방향과 부작용을 확인하는 기준표다. 같은 발화, 거리, 기기 볼륨과 주변 소음에서 한 번에 한 값만 바꾼다. 동작 설명은 기기 Runtime, Broker 환경 변수는 현재 Broker에서 확인한다.

세션과 턴

파라미터 현재값 낮추면 높이면
Cloud REST 기록 16턴 + 현재 user, 최대 33 message 메모리·전송량 감소 장기 문맥과 토큰 증가
speechEndTimeoutMs 3000ms 로컬 종료가 빨라지나 문장 절단 위험 긴 쉼 허용, 응답 지연
LIVE_RESPONSE_TIMEOUT_MS 20000ms 무응답 회수 빨라짐 느린 응답 허용
LIVE_BARGE_IN_RESPONSE_TIMEOUT_MS 10000ms 끼어든 뒤 회수 빨라짐 후속 응답 대기 증가
LIVE_LISTENING_IDLE_TIMEOUT_MS 5000ms 대화가 빨리 닫힘 다음 질문 대기 증가
nextInputEchoGuardMs 500ms 다음 발화를 빨리 받으나 잔향 오인 위험 빠른 발화 앞부분 손실
maxSessionAgeMs 14분 연결을 자주 교체 upstream 수명 경계 위험

Gemini 자동 VAD가 켜진 형상에서는 일반 발화 종료에 speechEndTimeoutMs보다 Gemini의 silenceDurationMs가 우선한다. 14분 RotateSession 후속 처리는 미완성이므로 운영 보장값이 아니다.

Gemini VAD

파라미터 현재값 조정 영향
automaticActivityDetectionEnabled true false면 앱이 입력 종료를 직접 보내야 함
activityHandling START_OF_ACTIVITY_INTERRUPTS 새 사용자 발화가 모델 답변을 중단
startOfSpeechSensitivity START_SENSITIVITY_HIGH 이미 높은 시작 감도. 추가 완화 시 오탐 측정 필요
endOfSpeechSensitivity END_SENSITIVITY_LOW 문장 중간의 짧은 쉼 보호
prefixPaddingMs 80ms 늘리면 첫 음절 보호와 전송량 증가
silenceDurationMs 800ms 낮추면 빠르지만 문장 중간 절단 위험

Barge-in과 Echo gate

LivePlaybackEchoMatcher는 24 kHz 재생 PCM과 16 kHz 마이크 PCM을 시간 정렬해 파형과 음량 윤곽의 유사도를 계산한다. Echo를 제거하는 AEC가 아니라, 유사도가 높은 구간을 Gemini에 보내지 않는 gate다.

파라미터 현재값 더 민감하게 더 둔감하게 / 주의점
일반 음성 peak 1800 낮춤 높이면 작은 음성 누락
Barge-in 음성 peak 3300 낮춤 낮추면 스피커 누설 후보 증가
minActiveSamples 24 낮춤 낮추면 순간 소리 오탐 증가
사전 확인 2 x 20ms = 40ms 1 chunk 3 chunk는 60ms 반응 지연
Echo 분석 구간 60ms 짧게 짧으면 유사도 불안정
Echo 거절 기준 0.74 높임 낮추면 실제 사용자 음성 거절 증가
재생 시작 보호 300ms 낮춤 낮추면 기준 신호가 불안정
입력 전사 보호 100ms 낮춤 너무 낮으면 Echo 전사로 오중단
F1 보조 근거 1500ms 길게 오래된 F1이 다음 잡음에 영향
maxAcousticDelayMs 1000ms 해당 없음 스피커-마이크 지연 검색 상한
delaySearchStepMs 20ms 낮춤 CPU 사용 증가
minReferenceRms 300 낮춤 작은 기준 신호의 불안정 계산 증가
기준 PCM 보관 60000ms 낮춤 메모리 상한, 긴 답변 참조 범위 감소
음량 윤곽 block 5ms, 최소 6개 해당 없음 최소 30ms 필요

최종 재생 중단 권한은 Gemini Interrupted 또는 의미 있는 입력 전사에 둔다. 로컬 40ms 조건만 통과했다고 AudioTrack을 끊지 않는다.

음성 재생

파라미터 현재값 낮추면 높이면
입력 계약 16 kHz PCM16 mono 변경 금지 변경 금지
출력 계약 24 kHz PCM16 mono 변경 금지 변경 금지
prebufferMs 800ms 첫 소리 빨라짐, underrun 위험 시작 지연, 연속성 증가
stream buffer 2초 메모리 감소, 여유 감소 메모리와 공급 여유 증가
blocking write slice 20ms 취소 반응 빨라짐, 호출 증가 Barge-in 후 정지 지연
write retry delay 5ms busy loop 위험 공급 지연 위험
drain poll / margin 40ms / 2000ms 완료 감지 빨라짐 / 조기 timeout callback과 회수 지연
Primary / Shadow 상한 4MiB / 2MiB 긴 기준 신호를 빨리 폐기 메모리 증가

도착 PCM은 GeminiLiveAudioPlayer.playPcm16() queue에 바로 들어간다. 약 800ms가 쌓이면 재생을 시작하고 뒤의 chunk를 이어 쓴다. GenerationComplete는 남은 queue를 소진하라는 신호이며 전체 응답을 받은 뒤 재생을 시작하는 신호가 아니다.

F1/F3와 네트워크

파라미터 현재값 의미
MIN_INPUT_SPEECH_MS 700ms 더 짧은 F1-F3 구간은 입력 종료 근거에서 제외
INPUT_TAIL_FLUSH_MS 1100ms Gemini 800ms 무음 판단보다 늦은 F3 보조
LISTENING_IDLE_CLOSE_GRACE_MS 3500ms 답변 뒤 F3 무발화 종료 유예
PCM queue 64 x 20ms 약 1.28초. 초과 시 drop 로그 확인
connect / write timeout 15초 / 15초 Broker 연결과 송신 정체 회수
WebSocket read timeout 0 장기 수신 허용
rewrite 완료 timeout 5초 제품 명령 권한 전환 회수

Broker의 포트, path, model, ping과 max_size현재 Broker의 환경 변수와 WebSocket 설정을 기준으로 한다.

튜닝 순서

  1. candidate -> Gemini Interrupted -> AudioTrack stop 시각을 먼저 기록한다.
  2. 사용자 입력 없이 기기 음성만 10회 재생해 자기 음성 중단이 0회인지 확인한다.
  3. 현재값으로 동일 사용자 발화 30회의 성공률과 p50/p95를 측정한다.
  4. 느리면 사전 확인 chunk 또는 입력 전사 보호 시간 중 하나만 조정한다.
  5. 음성 끊김은 prebufferMs와 underrun을 보고 Barge-in 감도와 분리한다.
  6. 답변 소진 뒤 5초 종료와 4초 후속 발화를 함께 반복한다.

최소 실기기 검증

조건 합격 기준
사용자 입력 없이 응답 10회 자기 음성 중단 0회
가까운 거리 Barge-in 10회 첫 단어 보존, 빠른 응답 정지
2m Barge-in 10회 성공률과 정지 시간 p50/p95 기록
모터 또는 TV 소음 5분 잘못된 끼어들기 0회
답변 후 무발화 10회 5초 부근에 마이크와 WebSocket 회수
답변 후 4초 발화 10회 종료 취소, 같은 세션 유지

관련 문서

Keyboard shortcuts

⌘K / Ctrl+KOpen command palette
/Focus search
g hGo to home
g pGo to projects
g sGo to sessions
j / kNext / prev row (tables)
?Show this help
EscClose dialogs

Structured queries

Mix key:value filters with free text in the palette:

type:sessionOnly session pages
project:llm-wikiFilter by project name (substring)
model:claudeFilter by model name (substring)
date:>2026-03-01Sessions after a date
date:<2026-04-01Sessions before a date
tags:rustPages mentioning a tag/topic
sort:dateSort results by date (newest first)

Example: type:session project:llm-wiki date:>2026-04 sort:date