우리 음성 에이전트는 91%의 점수를 기록했습니다. 하지만 통화자들은 여전히 화가 나서 전화를 끊었습니다.
요약
음성 에이전트의 성능을 단순 작업 성공률(Task-success rate)로만 평가할 때 발생하는 오류를 지적합니다. 텍스트 기반 지표가 놓치는 사용자 경험의 핵심인 '대화 수리(Repair)' 빈도를 측정하여 실제 통화 품질을 개선해야 함을 강조합니다.
핵심 포인트
- 작업 성공률은 목표 도달 여부만 측정하여 과정에서의 사용자 고통을 간과함
- 음성 에이전트 평가 시 텍스트 에이전트의 지표를 그대로 적용하면 안 됨
- 대화 중 발신자가 말을 수정하거나 반복하는 '수리(Repair)' 빈도가 핵심 지표임
- 평균값보다 수리가 빈번하게 발생하는 상위 꼬리(tail) 구간의 통화 분석이 중요함
지원 라인을 출시한 지 2주 후, 대시보드는 당신이 원하는 색상으로 가득했습니다. 작업 성공률 (Task-success rate): 91%. 에이전트는 예약을 잡고, 비밀번호를 재설정하고, 잔액을 안내했습니다. 모든 지표가 녹색이었습니다. 우리는 그것을 벽면 가득 채워 두었습니다.
하지만 지원 대기열 (support queue)은 다른 이야기를 하고 있었습니다. 사람들은 어쨌든 상담원(human)에게 연결을 요청하고 있었고, 이유를 알아내기 위해 녹음 파일을 확인했을 때, 실패한 통화는 거의 없었습니다. 제가 들은 거의 모든 통화에서 에이전트는 업무를 완수했습니다. 단지 통화자가 그 과정에서 고생했을 뿐입니다.
"작업 완료"와 "통화가 좋았음" 사이의 그 간극, 그것이 제가 잘못 측정하고 있었던 것이었습니다. 그리고 제가 잘못 측정한 이유는 텍스트 에이전트 (text agent)의 잣대로 음성 에이전트 (voice agent)를 평가했기 때문입니다.
작업 성공률 (Task-success)이 숨기는 것
작업 성공률은 한 가지 질문만을 던집니다: 에이전트가 목표 상태 (goal state)에 도달했는가? 이것은 전사 데이터 (transcript) 기반의 지표입니다. 오직 단어만으로도 계산할 수 있습니다. 바로 그 점이 이 지표를 안심하게 만들지만, 음성 통화에서 발생하는 대부분의 문제점을 놓치게 만드는 이유이기도 합니다.
여기 완벽한 1.0점을 기록한 통화가 있습니다. 통화자가 계좌 번호를 말합니다. 에이전트가 숫자 하나를 잘못 듣고 다시 읽어주면, 통화자가 "아니요, 11이 아니라 7이에요"라고 말합니다. 에이전트가 다시 시도하지만 다음 항목을 또 잘못 듣고, 통화자는 전체 내용을 더 천천히 반복하며, 결국 목적지에 도달합니다. 예약 완료. 작업 완료. 전사 데이터 (transcript) 상으로는 깔끔한 성공입니다.
하지만 통화자의 입장에서는, 듣지 못하는 기계에게 자신의 말을 90초 동안 반복해야 했던 경험이었습니다. 그들은 다시 전화하지 않을 것입니다. 전사 데이터는 목적지를 점수화했습니다. 하지만 그 과정(the road)을 점수화한 사람은 아무도 없었습니다.
실제로 "이 통화가 좋았는가"를 추적하는 지표
제가 측정했어야 했던 것에는 이름이 있으며, 그것은 제 이름이 아닙니다. 대화 분석가(Conversation analysts)들은 1970년대부터 이를 연구해 왔습니다. 표준적인 참고 문헌은 Schegloff, Jefferson, 그리고 Sacks의 "The preference for self-correction in the organization of repair in conversation" (1977)입니다. 수리(Repair)란 대화 중 무언가 잘못되었을 때 사람들이 하는 행동을 말합니다. 즉, 다시 말하거나, 수정하거나, "아니요, 제 말은"이라고 말하거나, 속도를 늦추고 같은 시도를 다시 하는 것 등을 의미합니다.
인간의 대화에도 수리(repair)가 존재합니다. 차이점은 그 빈도와 누가 이를 시작하느냐에 있습니다. 에이전트가 잘못 듣거나, 말을 끊거나, 묻지도 않은 질문에 답하기 때문에 발신자가 반복해서 수리(repair)를 시작해야 한다면, 최종 상태가 어떠하든 그 통화는 나쁜 통화입니다.
따라서 제가 지금 관심을 두는 지표는 정의하기 간단하면서도 짜증 날 정도로 많은 것을 드러냅니다.
repair_rate = (발신자가 다시 말하거나, 수정하거나, "아니요 / 제가 말한 것은"이라고 말하는 턴의 수)
/ (발신자의 총 턴 수)
이것을 통화당 계산하고 평균이 아닌 분포(distribution)를 관찰해야 합니다. "턴당 평균 0.12회의 수리(repairs)"라는 수치는 괜찮게 들릴 수 있습니다. 하지만 가장 화가 난 발신자들이 머무는 곳은 꼬리 부분(the tail)입니다. 에이전트가 따라잡기 전에 발신자가 네 번 또는 다섯 번이나 수리(repair)를 해야 했던 상위 6%의 통화들 말입니다. 이들이 바로 이탈(churning)하는 고객들이며, 과업 성공률(task-success rate)은 이들을 포착할 수 없습니다. 왜냐하면 이들 각각의 통화가 결국 성공으로 끝나기 때문입니다.
그 옆에 기록할 가치가 있는 더 저렴한 두 가지 형제 지표가 있습니다. 첫째는 완료까지의 턴 수(Turns-to-completion)입니다. 11번의 턴이 걸리는 예약은 4번의 턴이 걸리는 예약보다 나쁜 예약이기 때문입니다. 둘째는 방해율(interruption rate)로, 에이전트가 발신자의 말을 얼마나 자주 가로채며 말하는지를 나타냅니다. 우리의 트래픽 데이터에서 이 지표는 그 어떤 단일 ASR(자동 음성 인식) 수치보다 수리(repair)와 더 높은 상관관계를 보였습니다. 이 세 가지 모두 전사(transcript) 수준이 아닌 대화(conversational) 수준의 지표입니다. 세 가지 모두 단순히 단어뿐만 아니라 오디오와 타이밍(timing)이 필요합니다.
지표를 연결하기 (Wiring the metric in)
사후 분석 (post-mortem) 중에 수동으로 수정 (repair) 횟수를 세는 것은 지난주에 무엇이 잘못되었는지를 알려줍니다. 출시되는 결과물을 바꾸려면, 동일한 카운트가 실제 트래픽과 유사한 통화(예: 좌절한 재통화자, 말이 빠른 사람, 배경 소음이 있는 사람)를 대상으로 모든 후보 빌드(candidate build)에 대해 실행되어야 합니다. 실질적으로 이는 해당 통화들을 생성하고, 오디오와 전사 (transcript)를 정의된 지표(예: 수정률 (repair rate))에 따라 점수화하는 것을 의미합니다. 현재 여러 도구들이 음성 에이전트 (voice agents)를 위해 이 영역을 다루고 있으며, 직접 구축하기 전에 알아둘 가치가 있습니다. 아래 기능들은 2026년 7월 기준입니다.
Coval은 시뮬레이션 우선 QA (simulation-first QA)를 구축하며, 자율주행 자동차 테스트의 프레임워크를 차용합니다. Hamming은 스스로를 음성 에이전트를 위한 비행 시뮬레이터 (flight simulator)라고 부르며, 자동 통화 생성과 운영 모니터링 (production monitoring)을 결합합니다. Future AGI의 agent-simulate는 오픈 소스 (Apache-2.0)입니다. 이는 LiveKit 룸에서 사용자의 에이전트를 통해 시뮬레이션된 통화자를 유도하고, 내장된 또는 사용자 정의된 지표에 따라 ai-evaluation 라이브러리(github.com/future-agi)를 통해 결과를 점수화합니다. Cekura는 테스트 케이스를 자동 생성하여 QA 세트가 단순히 당신이 생각한 10개의 통화에 그치지 않게 합니다. Maxim AI는 음성 및 멀티모달 에이전트 (multimodal agents)를 위해 실험부터 운영 관측성 (production observability)에 이르는 더 넓은 루프를 아우릅니다.
기능 목록이 아니라 당신의 제약 조건에 따라 선택하세요. 이 도구들 중 그 어떤 것도 어떤 지표가 당신의 통화자에게 중요한지는 알려주지 않기 때문입니다. 작업 성공 (task-success) 점수를 기준으로 원하는 만큼 많은 시뮬레이션 통화를 실행해 보아도, 제가 처음에 보았던 것과 똑같은 초록색 벽(모두 통과했다는 신호)을 보게 될 것입니다. 숫자를 선택하는 것은 여전히 당신의 몫입니다.
무엇이 출시되었는가, 그리고 초록색 대시보드를 가졌던 과거의 나에게 해주고 싶은 말
우리는 작업 성공 (task-success) 지표를 계속 유지했습니다. 왜냐하면 그것은 실질적인 하한선이며, 그 지표의 퇴보 (regression)는 실제 화재와 같기 때문입니다. 다만 우리는 그것을 헤드라인으로 취급하는 것을 중단했을 뿐입니다. 이제 제가 가장 먼저 확인하는 숫자는 꼬리 부분(tail)에 있는 수정률 (repair rate), 즉 누군가가 네 번이나 다섯 번은 말해야 했던 통화들입니다. 빌드가 이 수치를 낮추면 통화 품질이 더 좋게 들리고 에스컬레이션 (escalations)이 감소하며, 이 두 가지는 작업 성공 지표가 결코 보여주지 못했던 방식으로 함께 움직입니다.
만약 제가 91%라는 수치를 바라보며 모든 것이 끝났다고 느끼고 있는 그 엔지니어에게 돌아갈 수 있다면, 저는 한 가지만 말해주고 싶습니다. 대시보드가 초록색인 이유는 당신이 챗봇(chatbot)이 대답할 수 있는 질문을 던졌기 때문입니다. 음성 에이전트 (Voice agents)는 전사 (transcript) 과정에서 버려지는 부분들, 즉 타이밍, 말을 끊는 행위 (talking-over), 그리고 통화자가 자신의 이름을 세 번째로 다시 말해야 했던 순간과 같은 부분에서 실패합니다. 그것들을 직접 세어보세요. 그러면 색깔이 바뀔 것이고, 당신의 통화자들이 실제로 느끼는 것도 바뀔 것입니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기