피드로 돌아가기
Dev.toAI/ML
원문 읽기
Zero-Resampling 기반 G.711 μ-law 오디오 파이프라인을 통한 실시간 Outbound Voice Agent 구축
Build a voice agent that can make outbound calls with AssemblyAI
AI 요약
Context
전통적인 Voice Agent 구축 시 STT, LLM, TTS의 개별 통합으로 인한 레이턴시 발생과 오디오 포맷 변환 과정의 오버헤드가 주요 병목 지점임. 특히 전화망의 낮은 샘플링 레이트와 고성능 모델 간의 포맷 불일치로 인한 리샘플링 비용이 시스템 복잡도를 증가시킴.
Technical Solution
- Twilio Media Streams와 AssemblyAI Voice Agent API 간의 듀얼 WebSocket 브릿지 구조 설계
- 양단 포맷을 audio/pcmu(G.711 μ-law, 8 kHz)로 통일하여 Decoding, Resampling, Re-encoding 과정이 없는 Zero-Resampling 데이터 패스 구현
- AssemblyAI의 단일 WebSocket 인터페이스를 통해 STT, LLM, TTS를 통합 관리함으로써 네트워크 홉(Hop) 및 데이터 처리 지연 최소화
- session.update 설정을 통한 Agent 페르소나 정의 및 Outbound 전용 greeting 로직 구현으로 사용자 경험 최적화
- Barge-in 발생 시 reply.done 이벤트 수신 및 Twilio outbound 버퍼의 {event: "clear"} 전송을 통한 즉각적인 응답 중단 제어
- Base64 인코딩된 μ-law 오디오를 그대로 전달하는 바이너리 스트리밍 방식으로 CPU 부하 감소
실천 포인트
- 실시간 오디오 스트리밍 설계 시 엔드투엔드 포맷 통일(audio/pcmu)을 통한 리샘플링 오버헤드 제거 검토 - Barge-in 구현 시 AI 모델의 중단 신호와 실제 미디어 스트림 버퍼의 Flush 로직을 동기화하여 처리 - Outbound 콜 설계 시 법적 규제(TCPA, GDPR) 준수를 위한 자동화 고지(Disclosure) 로직 필수 포함 - 복합 AI 파이프라인(STT-LLM-TTS)을 단일 API로 통합하여 인터페이스 복잡도 및 지연 시간 단축