500ms 미만 음성 에이전트 구축: 아키텍처와 성능 통찰

음성 에이전트 아키텍처와 성능
닉 티코노프는 처음부터 음성 에이전트를 구축하여 평균 ~400ms의 종단 간 지연 시간(전화 중단 → 첫 음절)을 달성했습니다. 이는 사전 계산된 응답 없이 깨끗한 끼어들기(barge-in)와 함께 전체 STT → LLM → TTS 루프를 포함합니다. 이 구현은 지연 시간 측면에서 Vapi의 동등한 설정보다 2배 더 뛰어난 성능을 보였습니다.
핵심 기술적 통찰
핵심 깨달음은 음성이 전사(transcription) 문제가 아니라 차례 바꾸기(turn-taking) 문제라는 것이었습니다. 음성 활동 감지(VAD)만으로는 부족하며, 의미론적 차례 종료 감지가 필요합니다. 이 시스템은 말하기 대 듣기의 두 상태를 가진 하나의 루프로 축소됩니다.
중요한 전환은 다음과 같습니다:
- 끼어들기 시 즉시 취소
- 차례 종료 시 즉시 응답
기술적 요구사항
STT → LLM → TTS는 스트리밍되어야 합니다. 순차적 파이프라인은 자연스러운 대화에 효과적이지 않습니다. 음성 인터페이스에서는 첫 토큰까지의 시간(TTFT)이 모든 것을 지배합니다. 첫 토큰이 핵심 경로입니다. Groq의 ~80ms TTFT는 단일 가장 큰 성능 향상으로 확인되었습니다.
인프라 고려사항
지리적 위치가 프롬프트보다 더 중요합니다. 모든 구성 요소는 동일 위치에 배치되어야 하며, 그렇지 않으면 시스템이 처리조차 시작하기 전에 지연 시간이 허용 불가능해집니다. 구축에는 약 하루와 약 100달러 상당의 API 크레딧이 소요되었습니다.
음성 에이전트가 어려운 이유
음성 에이전트는 텍스트 에이전트에 비해 상당한 복잡성 증가를 나타냅니다. 오케스트레이션은 지속적이고 실시간이며, 여러 모델을 동시에 신중하게 관리해야 합니다. 시스템은 사용자가 말하는 중인지 듣는 중인지를 끊임없이 결정해야 하며, 이러한 상태 간 전환이 가장 어려운 측면입니다.
사용자가 말하기 시작하면 에이전트는 즉시 말하는 것을 멈춰야 합니다. 생성 취소, 음성 합성 취소, 그리고 버퍼링된 오디오를 모두 플러시해야 합니다. 사용자가 말을 멈추면 시스템은 그들이 끝났다고 확신하며 최소 지연으로 응답을 시작해야 합니다.
아키텍처 접근 방식
개발자는 먼저 에디터 외부에서 ChatGPT로 아키텍처를 반복하여 먼저 정신적 모델을 구축했습니다. 전체 문제는 단일 루프와 작은 상태 머신으로 축소되었습니다. 음성 에이전트가 답해야 할 핵심 질문은: 사용자가 말하는 중인가, 듣는 중인가?
두 상태는 다음과 같습니다:
- 사용자가 말하는 중
- 사용자가 듣는 중
이 차례 감지 논리는 모든 음성 시스템의 핵심을 형성합니다. 구현은 참조 및 추가 개발을 위해 GitHub에서 사용할 수 있습니다.
📖 전체 소스 읽기: HN AI Agents
👀 See Also

Obliteratus 도구를 사용하여 AI 모델의 거부 가중치 제거하기
레딧 사용자가 AI 모델의 거부 행동을 담당하는 특정 가중치를 외과적으로 제거하기 위해 Obliteratus 툴킷을 사용했으며, 이는 알리바바의 Qwen 1.5B 모델에서 재훈련 없이도 훈련 출처를 드러낼 수 있음을 보여주었습니다.

사서 MCP: 문서와 지속적 컨텍스트를 위한 로컬 AI 서버
Librarian MCP는 로컬에서 실행되는 오픈소스 Model Context Protocol 서버로, Jan, LM Studio 또는 Claude Desktop에 연결하여 AI 모델이 문서 컬렉션을 검색하고 분석할 수 있게 하면서도 전체 대화 컨텍스트와 데이터 프라이버시를 유지합니다.

벤치마크 결과: AI 에이전트를 위한 GitHub CLI 대 MCP 접근 방식
독립 벤치마크에서 AI 에이전트 작업을 위해 GitHub CLI, MCP, 도구 검색 기능이 있는 MCP, 코드 모드가 있는 MCP를 비교했습니다. GitHub CLI가 가장 비용 효율적이었으며, MCP 접근 방식은 비용, 지연 시간, 실패 모드에서 트레이드오프를 보였습니다.

NLA가 Gemma 3의 내부 활성화를 모든 토큰에 대해 읽을 수 있는 텍스트로 변환
Anthropic이 모델의 내부 상태를 텍스트로 디코딩하는 NLA(Natural Language Autoencoders)를 발표했습니다. Gemma 3와 함께, Auto Verbalizer는 생성된 모든 토큰에 대해 모델이 "생각"한 내용을 설명합니다. 가중치는 Hugging Face에, 데모는 Neuronpedia에 있습니다.