피드로 돌아가기
Dev.toAI/ML
원문 읽기
LiveKit WebRTC와 Voice Agent API 결합을 통한 실시간 AI 음성 에이전트 구현
Build a voice agent with LiveKit and AssemblyAI’s Voice Agent API
AI 요약
Context
기존 AI 음성 에이전트 구축 시 STT, LLM, TTS 각각의 플러그인을 개별 설정하고 오케스트레이션 레이어를 직접 구현해야 하는 복잡성 존재. 특히 실시간 오디오 전송을 위한 WebRTC 스택 구축과 다중 사용자 룸 관리에 따른 인프라 비용 및 개발 공수가 병목 지점으로 작용.
Technical Solution
- LiveKit을 Transport 레이어로 활용하여 WebRTC 기반의 실시간 오디오 전송 및 글로벌 엣지 배포 최적화
- AssemblyAI Voice Agent API를 통해 STT/LLM/TTS 통합 파이프라인을 서버 사이드에서 단일 WebSocket으로 처리하는 구조 설계
- WebRTC 표준 48 kHz 오디오를 Voice Agent API 규격인 24 kHz mono PCM16으로 변환하는 LiveKit FFI resampler 적용
- AudioSource와 AudioStream 설정을 24 kHz로 일치시켜 불필요한 수동 리샘플링 과정을 제거한 데이터 파이프라인 구성
- neural turn detection 및 barge-in 기능을 API 레벨에서 처리하여 대화 흐름 제어 로직의 복잡도 감소
- 룸당 하나의 Worker를 배치하고 LiveKit Cloud의 agent dispatch를 통한 수평적 확장 구조 채택
실천 포인트
- 실시간 음성 서비스 설계 시 Transport(WebRTC)와 AI Pipeline(STT/LLM/TTS)을 분리하여 전송 효율과 추론 성능을 각각 최적화할 것 - 서로 다른 샘플 레이트를 가진 시스템 간 연결 시 FFI 레벨의 리샘플러를 활용해 CPU 오버헤드를 최소화할 것 - Barge-in 및 Turn-detection과 같은 복잡한 대화 상태 제어는 가급적 서버 사이드 통합 API에 위임하여 클라이언트 로직을 단순화할 것 - 다중 사용자 환경의 확장성을 위해 Worker-per-room 모델과 오케스트레이터 기반의 동적 프로비저닝 검토