음성 에이전트 전용 실시간 메모리 'VoiceMem' 오픈소스 공개
실시간 음성 에이전트를 위한 장기 기억 시스템 'VoiceMem'이 오픈소스로 공개됐다. 기억을 사실 정보의 '좌뇌'와 감정·성향의 '우뇌'로 나누고, 사용자가 말하는 도중에 미리 검색을 끝내는 스트리밍 아키텍처를 도입했다. 응답 지연을 134ms 수준으로 낮춰 대화 끊김을 줄였다.

VoiceMem은 실시간 음성 에이전트 환경에 맞춰 설계된 오픈소스 장기 기억 시스템입니다. 대화할 때마다 맥락이 초기화되는 문제를 해결하여, 음성 AI가 사용자의 신상 정보와 개인적 취향, 감정 상태를 장기적으로 기억할 수 있도록 돕습니다.
이 시스템은 기억을 '좌뇌'와 '우뇌'라는 두 가지 독립적인 모듈로 나누어 관리합니다.
사실과 감정을 분리하는 듀얼 브레인 아키텍처
좌뇌는 사실에 기반한 구조화된 정보를 전담합니다. 알레르기 유무, 친구 이름, 특정 일정 등 사용자가 언급한 구체적인 사실을 엔티티와 스키마 형태로 보관해 정확한 검색을 지원합니다.
우뇌는 사용자의 성향과 대화 태도, 감정의 흐름을 관리합니다. 사용자가 "요즘 너무 지친다"고 말했을 때, 단순히 피로 해소법을 읊는 대신 지난달 시험 결과로 힘들어했던 과거 맥락을 우뇌에서 인출해 공감 어린 답변을 건넬 수 있게 만듭니다.
이러한 분리 구조 덕분에 정보 검색의 정확도도 높습니다. 사실 기억 평가인 LoCoMo 벤치마크에서 91.2%의 점수를 기록해 기존 Mem0의 61.68%를 앞섰으며, 페르소나와 감정 맥락을 측정하는 PersonaMem에서도 69.44%를 달성했습니다.
134밀리초 수준의 저지연 스트리밍 검색
음성 에이전트의 성패는 지연 시간에 달려 있습니다. 텍스트 채팅에서는 1초 안팎의 데이터 검색 시간이 용인되지만, 음성 통화에서 발생하는 1초의 침묵은 대화의 몰입감을 크게 해칩니다.
VoiceMem은 사용자가 말을 끝내기 전에 미리 검색을 시작하는 스트리밍 투기적 인출 방식을 취했습니다. 음성 인식을 통해 단 몇 글자만 텍스트로 변환되어도 백그라운드에서 즉시 벡터 검색이 작동합니다. 사용자가 말을 마쳤다는 판정이 나오는 순간 이미 기억 추출이 끝나 있는 방식입니다.
이 구조를 통해 인출 지연 시간을 134ms로 낮췄습니다. 기존 Mem0가 약 1,440ms를 소요했던 것과 비교하면 눈에 띄게 빠릅니다. 대화 문맥에 주입되는 기억도 상위 3~5개로 압축해, 한 턴당 소모되는 메모리 토큰을 약 430개 수준으로 억제했습니다.
실행 방법과 오픈소스 구성
VoiceMem은 Apache 2.0 라이선스로 배포되며 코드와 가중치가 영구적으로 공개됩니다. 패키지 내부에 스트리밍 ASR, Silero VAD, 화자 분리 및 로컬 임베딩 모델이 기본 번들로 포함되어 있습니다.
파이썬 3.10 이상 환경에서 pip install voicemem 명령으로 설치할 수 있으며, 깃허브 저장소의 web/run.py를 실행하면 로컬 웹 인터페이스를 통해 음성 입력과 기억 인출 과정을 바로 테스트해 볼 수 있습니다.
프레임워크 외에도 40만 건 규모의 ChatMem-400K 데이터셋과 Qwen2.5-Omni, Step-Audio2-Mini 등을 기반으로 미세조정한 전용 모델군이 함께 제공됩니다. 기존에 보유한 자체 LLM에 기억 인프라만 연결하는 것도 가능합니다.
왜 중요한가
음성 대화 비서나 반려형 에이전트를 개발 중인 팀이라면 VoiceMem을 직접 구동해 볼 가치가 충분합니다.
지금까지 공개된 다수의 메모리 라이브러리는 텍스트 생성 위주로 최적화되어 있어, 음성 에이전트에 붙였을 때 심각한 대기 시간을 유발하는 한계가 있었습니다. 발화가 진행되는 도중에 선제적으로 검색을 끝내는 방식은 음성 인터랙션의 본질적인 병목을 영리하게 우회한 접근입니다.
다만 주변 소음이 심하거나 사용자가 말을 자주 바꾸는 환경에서는 헛도는 선제 검색이 발생할 수 있습니다. 그럼에도 실시간 음성 상호작용에 자연스러운 장기 기억을 부여하는 실용적인 설계라는 점에서 주목할 만합니다.
출처 (2)
- github.com(새 탭에서 열림)원문github.com
- youtube.com(새 탭에서 열림)보도youtube.com