말 끊기(barge-in)와 턴테이킹: 전화 AI가 자연스럽게 대화하려면
말 끊기(barge-in)는 AI가 말하는 중에 고객이 끼어들면 AI가 바로 멈추고 듣는 기능이고, 턴테이킹은 말할 차례를 정하는 규칙입니다. 발화 종료 판단, 끼어들기 처리 순서, 오탐을 줄이는 방법을 정리했습니다.

말 끊기(barge-in)는 AI가 말하는 도중에 고객이 끼어들면 AI가 즉시 말을 멈추고 고객의 말을 듣는 기능이고, 턴테이킹은 누가 언제 말할 차례인지를 정하는 대화 규칙 전체를 말합니다. 전화 AI가 자연스럽게 들리려면 고객이 말을 마친 시점을 정확히 판단하고, 끼어들기를 감지하면 재생 중인 음성을 바로 끊고, 끊긴 지점까지 무엇을 말했는지 기억해야 합니다. 이 세 가지 중 하나라도 어긋나면 고객은 "말이 안 통한다"고 느낍니다.
전화에는 표정이나 손짓이 없어서 차례를 넘기는 신호가 오로지 소리에 실립니다. 그래서 화면이 있는 챗봇보다 턴테이킹 설계가 훨씬 중요합니다.
턴테이킹을 이루는 네 가지 판단
턴테이킹은 하나의 기능이 아니라 통화 내내 반복되는 네 가지 판단의 묶음입니다.
| 판단 | 묻는 질문 | 잘못되면 생기는 일 |
|---|---|---|
| 발화 시작 감지 | 지금 고객이 말하기 시작했나? | 잡음에 반응하거나 첫 음절을 놓침 |
| 발화 종료 판단 | 고객이 말을 다 했나? | 말 중간에 끼어들거나 대답이 늦어짐 |
| 끼어들기 감지 | AI가 말하는 중에 고객이 말을 시작했나? | 고객 말을 무시하고 계속 말함 |
| 맞장구 구분 | "네", "음"이 차례를 가져가려는 말인가? | 맞장구에도 멈춰 대화가 뚝뚝 끊김 |
발화 시작과 끼어들기 감지는 보통 음성 활동 감지(VAD)가 맡고, 발화 종료와 맞장구 구분은 VAD에 말의 내용과 억양까지 함께 보는 판단이 더해지는 경우가 많습니다.
발화 종료 판단: 침묵 기준과 의미 기준
고객이 말을 마쳤는지 판단하는 방식은 크게 두 가지입니다.

한국어 전화에서는 침묵만으로 판단하기 어려운 순간이 자주 나옵니다.
- "어제 주문했는데요" 처럼 연결 어미로 끝나는 말은 문장이 끝난 것처럼 들리지만 뒤에 본론이 오는 경우가 많습니다.
- 전화번호, 주소, 주문번호를 불러 줄 때 고객은 덩어리마다 쉽니다. "공일공, 이삼사오, 육칠팔구" 사이의 쉼을 종료로 보면 번호가 잘립니다.
- "음", "그" 같은 머뭇거림 뒤에는 대개 말이 이어집니다.
- 어르신이나 처음 전화한 고객은 말 사이 쉼이 긴 편입니다.
그래서 대화 단계마다 기준을 다르게 두는 것이 좋습니다. 정보를 불러 받는 단계에서는 더 오래 기다리고, "네·아니요" 확인 단계에서는 짧게 판단합니다. 종료 판단을 짧게 할수록 응답이 빨라지는 대신 오판이 늘어나는 관계는 AI 전화 응답 지연 분해에서 함께 다룹니다.
말 끊기(barge-in)가 처리되는 순서
고객이 AI 안내 도중에 끼어들었을 때 제대로 된 처리는 아래 순서로 일어납니다.

이 순서에서 특히 놓치기 쉬운 부분이 세 가지 있습니다.
- 1빨리 멈추기: 생성된 음성이 이미 전송 경로와 재생 버퍼에 쌓여 있으면, 멈추라는 신호를 보낸 뒤에도 그만큼 소리가 더 나갑니다. 끼어들기를 감지하면 아직 재생되지 않은 음성까지 비워야 고객이 "말을 바로 멈췄다"고 느낍니다.
- 2들려준 지점까지만 기록하기: AI가 만들었지만 고객이 듣지 못한 문장을 "이미 말한 것"으로 기억하면, 이후에 "아까 말씀드린 것처럼" 같은 어긋난 응답이 나옵니다. 일부 실시간 음성 API는 재생된 지점까지 응답을 잘라 대화 이력에 남기는 기능을 제공합니다.
- 3끝까지 듣고 새로 답하기: 끼어든 말은 대개 정정이나 질문입니다. 하던 안내를 그대로 이어 가기보다 고객 말을 반영해 새 응답을 만드는 편이 자연스럽습니다.
오탐을 줄이는 방법
말 끊기가 너무 예민하면 반대 문제가 생깁니다. 고객이 "네네" 하고 맞장구를 칠 때마다 AI가 멈추거나, 기침 소리나 주변 소음에 안내가 끊기는 경우입니다.

- 최소 발화 길이: 아주 짧은 소리는 끼어들기로 보지 않도록 기준을 둡니다.
- 맞장구 처리: "네", "예", "음"이 단독으로 짧게 나오면 차례를 넘기지 않고 이어서 말하게 합니다.
- 반향 확인: 스피커폰이나 일부 단말에서는 AI 자신의 목소리가 되돌아와 끼어들기로 오인될 수 있습니다. 시험 통화에서 스피커폰 환경을 꼭 확인합니다.
- 중요 안내 구간: 녹음 고지처럼 끝까지 전달해야 하는 문장은 짧게 만들어 끊길 여지를 줄입니다.
- 키패드 입력: 고객이 키패드를 누르는 것은 분명한 의사 표시이므로 끼어들기 신호로 다루기 좋습니다. 키패드 입력은 DTMF 설명을 참고하세요.
- 오탐 뒤 복구: 잡음 때문에 멈췄는데 고객 말이 없다면 "말씀하세요"로 끊기보다 하던 안내를 자연스럽게 이어 가게 합니다.
KAT Cloud에서 턴테이킹을 다루는 방법
KAT Cloud는 통화 음성을 음성 AI 모델과 양방향 실시간으로 연결합니다. 발화 감지와 끼어들기 처리의 세부 동작은 선택한 음성 AI 모델과 그 설정에 따라 달라지며, 음성 모델 선택과 응대 지침은 KAT Cloud 콘솔에서 설정합니다. 직접 만든 음성 서버를 SIP로 연결해 쓰는 경우에는 VAD, 종료 판단, 끼어들기 처리를 서버에서 직접 구현합니다.
운영 중에는 통화 기록으로 턴테이킹 문제를 찾을 수 있습니다. 통화가 끝나면 CALL_COMPLETED 웹훅이나 통화 기록 API로 AI 구간 대화(sttAI)를 받을 수 있는데, 고객의 짧은 발화가 연달아 이어지거나 AI가 같은 안내를 반복하는 구간은 종료 판단이나 끼어들기 처리가 어긋났다는 신호인 경우가 많습니다. 데이터 구조는 통화 받아쓰기와 요약 데이터 구조에서 설명합니다.
- 응대 지침에서 AI가 한 번에 말하는 문장을 짧게 유지하도록 합니다. 문장이 짧을수록 고객이 끼어들 틈이 자연스럽게 생깁니다.
- 실내, 차량, 거리, 스피커폰 환경에서 각각 시험 통화를 합니다.
- 모델을 바꿔 같은 시나리오로 시험하고 끼어들기 반응을 비교합니다. 구조별 차이는 Speech-to-Speech vs STT·LLM·TTS를 참고하세요.
자주 묻는 질문
말 끊기(barge-in) 기능을 끄는 것이 나을 때도 있나요?
말 끊기 기능은 대부분의 대화에서 켜 두는 편이 자연스럽지만, 녹음 고지처럼 끝까지 전달해야 하는 짧은 안내에서는 끊기는 범위를 좁히는 설계를 검토할 수 있습니다. 다만 끊기지 않는 구간이 길어지면 고객이 답답함을 느끼므로, 해당 문장을 짧게 만드는 것이 먼저입니다.
고객이 말하는 중에 AI가 끼어드는 문제는 왜 생기나요?
고객이 말하는 중에 AI가 끼어드는 문제는 대부분 발화 종료 판단이 너무 빨라서 생깁니다. 고객이 숨을 고르거나 번호를 끊어 부르는 짧은 침묵을 말의 끝으로 판단한 경우이며, 정보를 받는 단계에서 종료 기준을 길게 두거나 의미 기반 판단을 함께 쓰면 줄일 수 있습니다.
KAT Cloud에서 말 끊기 동작은 어떻게 정해지나요?
KAT Cloud에서 말 끊기와 발화 종료 판단의 세부 동작은 선택한 음성 AI 모델과 그 설정에 따라 달라집니다. 음성 모델 선택과 응대 지침은 KAT Cloud 콘솔에서 설정하며, 자체 음성 서버를 SIP로 연결한 경우에는 서버에서 직접 구현합니다.
- #바지인
- #턴테이킹
- #VAD
- #음성 AI
- #대화 설계



