음성으로 답하는 챗봇과 업무를 처리하는 음성 에이전트는 다릅니다. Voxtral 3는 speech-to-text·text-to-speech 모델군과 Voice Agents SDK를 함께 제공하며, 듣기·추론·도구 호출·말하기를 하나의 실시간 파이프라인으로 연결합니다.[1]
이 글은 웹 서비스와 사내 업무 도구에 음성 인터페이스를 붙이려는 개발자를 위한 개념·설계 가이드입니다. 모델 카드의 표시일은 2026-10-20이며, 아래 내용은 2026-10-21에 확인한 Voxtral 3 문서를 기준으로 합니다.[2]
💡 💡 핵심은 더 빨리 말하는 것이 아니라, 사용자의 말이 끝났는지 판단하고 완성된 요청에만 변경 작업을 연결하는 것입니다. 공식 문서는
turn.eager_end에서 되돌릴 수 있는 준비만 하고, 변경 작업은turn.end를 기다리라고 안내합니다.[5]
Voxtral 3의 음성 에이전트는 모든 일을 하나의 음성 모델에 맡기는 구조가 아닙니다. 공식 발표는 실시간 전사 모델이 듣기와 발화 종료 감지를, Mistral Small 같은 범용 LLM이 추론과 도구 호출을, 음성 합성 모델이 응답 발화를 담당한다고 설명합니다.[1]
SDK는 LiveKit 기반의 실시간 오디오 전송과 Python·TypeScript 바인딩을 제공합니다.[4] 애플리케이션 개발자는 에이전트가 알아야 할 정보, 호출 가능한 도구, 대화 종료 후 처리를 구성합니다.[4]
설계 의견: 회의록 생성이 목적이라면 처음부터 양방향 음성 에이전트를 만들 필요는 없습니다. 녹음 파일 전사와 기존 요약 워크플로우를 연결하는 편이 더 단순합니다.
SDK 문서의 기본 경로에서는 애플리케이션이 오디오를 수집·재생하고, 모델은 Mistral에서 실행됩니다.[4] 역할을 나누면 다음과 같습니다.[4]
서버 측 도구는 Mistral 측에서, 클라이언트 측 도구는 개발자의 애플리케이션 함수로 실행된다는 구분도 있습니다.[4]
💡 ⚠️ 클라이언트에서 실행한다는 말은 모델까지 로컬에서 돈다는 뜻이 아닙니다. 기본 SDK 경로의 모델 실행 위치와 자체 인프라 배포는 구분해야 합니다.[4] 공식 발표는 전체 스택의 on-premises·private cloud 배포를 별도 문의 경로로 안내합니다.[1]
Realtime 3 모델 카드는 설정 가능한 전사 latency를 80~2,400ms로 설명합니다.[2] 이는 전사 단계의 설정 범위이지, LLM 추론과 도구 실행, 음성 재생까지 끝나는 시간의 보장은 아닙니다. SDK 문서도 각 단계가 사용자 대기 시간에 더해진다고 설명합니다.[4]
공식 발표의 “각 turn이 1초 미만”이라는 설명은 제공자 측 제품 주장으로 읽어야 합니다.[1] 이 글에서는 API 호출이나 지연 측정을 하지 않았으므로 실제 서비스의 응답 시간으로 인용하지 않습니다.
Turn detection은 단순히 텍스트가 도착했는지가 아니라, 사용자가 발화를 시작하고 끝냈는지를 애플리케이션에 알려주는 기능입니다.[5] 문서는 의미상 발화가 진행 중일 확률을 모델이 추정하고, 서버가 임계값과 비교해 상태를 바꾼다고 설명합니다.[5]
turn.start: 사용자가 말하기 시작한 상태입니다.[5]turn.eager_end: 발화를 끝냈을 가능성이 있어 응답 준비처럼 버릴 수 있는 작업을 시작할 수 있습니다.[5]turn.resume: 사용자가 말을 이어가므로 앞선 eager end를 취소하고 준비 작업을 폐기합니다.[5]turn.end: 발화가 종료된 상태이며, 요청을 처리하는 기준 이벤트입니다.[5]공식 문서는 메시지 전송이나 데이터 변경 도구처럼 되돌릴 수 없는 작업을 turn.eager_end에 연결하지 말라고 경고합니다.[5]
turn.end가 와도 마지막 단어가 남아 있을 수 있다더 주의할 점은 발화 종료 이벤트와 전사 텍스트의 완성 시점이 다르다는 사실입니다. turn.end 이후에도 마지막 단어가 transcription.text.delta 이벤트로 도착할 수 있습니다.[5]
직접 WebSocket 파이프라인을 구현한다면 문서의 처리 순서를 따라야 합니다.[5]
turn.end 이후에도 현재 turn의 텍스트 delta를 계속 모읍니다.[5]turn.start가 오면 해당 turn의 텍스트를 닫습니다.[5]💡 💡 발화 종료 감지 → 텍스트 완성 확인 → 업무 승인 확인을 서로 다른 단계로 두는 것이 이 글의 설계 제안입니다. 발화 종료는 사용자의 권한이나 업무 변경 승인을 대신하지 않습니다.
다음은 실제 고객 사례가 아니라 설계 제안입니다. 사용자가 “출장 신청을 취소해 줘… 아니, 지난주 것은 두고 다음 주 것만”이라고 말하는 상황을 가정합니다.
이 제안은 공식 문서가 구분하는 eager end·resume·end와 마지막 텍스트 도착 순서를 업무 처리 경계에 적용한 것입니다.[5] 중복 요청 방지, 권한 검사, 감사 로그는 모델의 발화 판단과 별도로 설계하는 것을 권합니다.
웹 앱에서는 서버가 세션을 생성해 API key가 브라우저에 도달하지 않도록 하고, 브라우저는 반환된 연결 자격정보로 접속하는 구조를 문서가 안내합니다.[4]
전화 경로에는 다른 제약이 있습니다. 출시 시 SIP telephony는 enterprise 고객 대상이며, 전화 세션에서는 client-side tool이 실패하므로 필요한 작업을 server-side tool로 제공해야 합니다.[4]
도입 의견: 처음에는 웹에서 읽기 전용 조회 하나를 검증하고, 쓰기 도구와 전화 연동은 별도 단계로 확장하는 편이 안전합니다. 녹음·보관 정책과 음성 데이터 처리 위치도 기능 시연과 분리해 검토해야 합니다.
공식 발표 페이지에는 사용자가 프랑스어 진료 의뢰서를 바탕으로 예약을 요청하는 데모가 있습니다.[1] 사용자는 참조번호를 말하다가 수정하고, 에이전트는 get_referral로 내용을 확인한 뒤 예약 가능한 시간을 설명하고 예약 여부를 묻습니다.[1]
이후 페이지에는 사용자의 동의, book_appointment 호출과 confirmed 결과가 제시됩니다.[1] 이는 발표 페이지에 표시된 공식 데모 흐름을 확인한 것이며, 실제 병원 도입 사례나 운영 성공률을 확인한 것은 아닙니다.
해석: 이 데모에서 실무적으로 볼 부분은 유창한 발화뿐 아니라, 정정된 식별자를 사용하고 변경 전에 사용자에게 확인하는 업무 흐름입니다. 다만 데모 하나로 오류 복구나 권한 검증의 완성도를 판단할 수는 없습니다.
Voxtral 3 문서는 realtime diarization과 turn detection을 각각 지원하지만, 같은 realtime session에서 두 기능을 함께 설정하면 오류가 발생한다고 명시합니다.[3][5]
설계 의견: 누가 말했는지 구분하는 회의 분석과 언제 응답할지 판단하는 대화형 에이전트를 하나의 설정으로 묶지 마세요. 두 요구가 모두 필요하면 별도 처리 경로의 비용과 동기화 문제부터 검토하는 편이 낫습니다.
timestamp_granularities에 word를 요청하면 400 오류가 나므로 segment 단위를 사용하라고 안내합니다.[6]voxtral-small-latest인 Voxtral 2를 사용하라고 안내합니다.[3]따라서 “Voxtral 3 출시”를 기존 오디오 API 전체가 같은 기능과 동작으로 교체됐다는 뜻으로 받아들이면 안 됩니다.
Realtime 3 모델 카드는 확인 시점에 Public Preview로 표시되어 있습니다.[2] 또한 migration 문서는 일부 TTS style instructions를 출시 시 제공하지 않는 기능으로 표시합니다.[6] 발표에 소개된 기능은 사용할 API와 출시 단계의 기술 문서에서 다시 확인해야 합니다.
💡 🔍 검증 범위: Mistral 공식 발표·모델 카드·기술 문서 6개를 읽고 대조했습니다. 모두 같은 제공자 자료이므로 독립적인 성능 검증은 아닙니다. SDK 설치, 모델 호출, 오디오 청취 평가, benchmark 재현은 수행하지 않았습니다.
Voxtral 3를 도입할 때 먼저 결정할 것은 전사만 필요한지, 실제 대화와 업무 실행까지 필요한지입니다.[3] 대화형 경로를 선택했다면 eager end와 최종 end를 구분하고, 종료 이벤트 뒤에 오는 마지막 텍스트까지 처리해야 합니다.[5]
이 글의 권장 순서: 읽기 전용 기능으로 시작하고, 완성된 요청·사용자 확인·서버 권한 검증이 갖춰진 뒤 쓰기 작업을 연결하세요. 모델이 말을 빨리 끝내는 것보다 시스템이 잘못된 요청을 실행하지 않는 것이 우선입니다.
[1] https://mistral.ai/news/voxtral-3 — Voxtral 3: Voice Agent SDK & Speech Models in 50+ Languages
[2] https://docs.mistral.ai/models/voxtral-mini-transcribe-realtime-3-0 — Voxtral Mini Transcribe Realtime 3 — Mistral Docs
[3] https://docs.mistral.ai/studio/audio/speech-to-text/overview — Speech to Text — Mistral Docs
[4] https://docs.mistral.ai/studio/audio/voice-agents/overview — Voice agents — Mistral Docs
[5] https://docs.mistral.ai/studio/audio/speech-to-text/turn-detection — Turn detection — Mistral Docs
[6] https://docs.mistral.ai/studio/audio/migrate-from-voxtral-2 — Migrate from Voxtral 2 — Mistral Docs