AI 음성봇 시나리오 설계 7단계: 자연스러운 전화 대화 만들기
AI 음성봇 시나리오 설계 7단계: 자연스러운 전화 대화 만들기

AI 전화 에이전트를 만들 때 가장 흔한 실수가 뭔지 아십니까? LLM한테 "너는 전화 상담원이야, 알아서 대화해" 하고 던지는 겁니다.
잘 될 것 같지만 안 됩니다. 고객이 "환불해주세요"라고 하면 AI가 "네, 환불 처리해드리겠습니다"라고 답하는데, 실제로는 환불 API를 호출할 권한도 없습니다. 약속만 하고 이행하지 못하면 고객은 더 화가 납니다.
시나리오 설계가 먼저입니다. AI가 뭘 할 수 있고, 뭘 할 수 없는지, 어떤 순서로 대화를 이끌어야 하는지 — 이걸 먼저 정해야 합니다.
1단계: 통화 목적 정의
하나의 통화, 하나의 목적
한 통화에서 여러 목적을 처리하려고 하면 실패합니다. "예약 + 결제 + 변경 + 취소"를 한 시나리오에 넣으면 대화 흐름이 복잡해지고, LLM이 맥락을 잃기 쉽습니다.
목적별로 시나리오를 분리하세요. 예약 시나리오, 변경 시나리오, 취소 시나리오를 각각 만들고, 첫 인사 후 의도를 파악해서 해당 시나리오로 분기합니다.
성공 조건 정의
이 통화가 "성공"한 건 언제인지 명확히 정의합니다. 병원 AI 전화 예약이라면 "예약 일시 + 환자명 + 진료 과목 확인 완료"가 성공 조건입니다. 성공 조건이 명확해야 KPI 측정도 가능합니다.
2단계: 필수 수집 정보 목록화
슬롯 채우기(Slot Filling) 방식
대화 목적을 달성하기 위해 수집해야 하는 정보를 목록으로 정리합니다. 예약이라면:
필수 슬롯:
- 이름: string
- 희망 날짜: date
- 희망 시간: time
- 연락처: phone (이미 발신 번호로 확인 가능)
선택 슬롯:
- 특이사항: string (없으면 skip)
필수 슬롯이 모두 채워질 때까지 대화를 이어가되, 자연스러운 흐름을 유지해야 합니다. "이름이 뭐죠? 날짜는? 시간은?" 식의 심문 느낌이 아니라, 대화 속에서 자연스럽게 수집합니다.
3단계: 대화 흐름 설계
메인 플로우 (Happy Path)
모든 게 순조로울 때의 대화 흐름입니다. 인사 → 의도 파악 → 정보 수집 → 확인 → 완료. 이 메인 플로우를 먼저 완벽하게 만들고, 그다음에 예외를 처리합니다.
AI: 안녕하세요, [병원명]입니다. 무엇을 도와드릴까요?
고객: 예약하고 싶은데요
AI: 네, 예약 도와드리겠습니다. 성함이 어떻게 되시나요?
고객: 김민수입니다
AI: 김민수님, 어떤 진료를 원하시나요?
...
AI: 김민수님, 3월 28일 오후 2시 내과 예약 맞으시죠?
고객: 네 맞아요
AI: 예약 완료되었습니다. 감사합니다.
서브 플로우 (분기)
의도가 여러 개일 때의 분기입니다. AI IVR 시스템처럼 "예약은 1번, 변경은 2번"이 아니라, 자연어로 의도를 파악합니다. "지난번 예약 바꾸고 싶은데요" → 변경 시나리오로 분기.
4단계: 예외 처리 시나리오
인식 실패 대응
한국어 STT/TTS 엔진 비교에서 다뤘듯이 음성 인식이 100%가 아닙니다. 핵심 정보(이름, 날짜, 전화번호)는 반드시 되묻기(confirmation)를 넣어야 합니다.
AI: 성함이 어떻게 되시나요?
고객: (잡음) ...수입니다
AI: 죄송합니다, 다시 한번 말씀해주시겠어요?
고객: 김민수요
AI: 김민수님 맞으시죠?
범위 밖 요청
고객이 시나리오에 없는 요청을 할 때의 대응입니다. "약 처방전 좀 다시 보내주세요" 같은 요청이 오면, AI가 할 수 없는 일임을 인정하고 대안을 제시합니다. 절대 할 수 없는 일을 "해드리겠습니다"라고 답하면 안 됩니다.
5단계: 에스컬레이션 규칙
자동 전환 트리거
다음 상황에서는 자동으로 사람 상담원에게 전환합니다:
- 고객이 명시적으로 "사람이랑 통화하고 싶어요"
- 3회 연속 의도 파악 실패
- 감정 감지: 고객의 목소리가 격해짐
- 법적 민감 주제 (환불 분쟁, 의료 사고 등)
전환 시 컨텍스트 전달
사람에게 넘길 때 "지금까지 나눈 대화 요약 + 수집된 정보"를 함께 전달해야 합니다. 고객이 처음부터 다시 설명하게 만들면 안 됩니다. 콜센터 구축 가이드에서 에스컬레이션 설계를 더 상세히 다뤘습니다.
6단계: 시나리오 문서화
플로우차트 + 프롬프트 세트
시나리오를 문서로 남길 때는 두 가지가 필요합니다: (1) 전체 흐름을 보여주는 플로우차트, (2) 각 노드에서 사용할 프롬프트. 프롬프트 엔지니어링 가이드를 참고해서 각 단계별 프롬프트를 작성합니다.
테스트 케이스
Happy Path 1개, 예외 경로 3~5개, 에스컬레이션 2개 — 최소 이 정도의 테스트 시나리오를 만들어두어야 합니다.
7단계: 실전 테스트와 반복
파일럿 운영
처음부터 전체 트래픽을 AI에 넘기지 마세요. 전체 통화의 1020%만 AI로 돌리고, 나머지는 기존 방식으로 처리합니다. 12주 데이터를 모아서 KPI를 확인한 뒤 점진적으로 비율을 높입니다.
통화 녹음 리뷰
주간 단위로 실패한 통화 녹음을 리뷰합니다. "왜 고객이 끊었는가", "왜 에스컬레이션됐는가"를 분석하고 시나리오를 개선합니다. 이 리뷰 → 개선 루프가 시나리오 품질을 올리는 핵심입니다.
결론
좋은 AI 음성봇은 좋은 시나리오에서 나옵니다. LLM이 아무리 똑똑해도, 시나리오가 엉성하면 고객 경험은 나빠집니다. 목적 정의 → 정보 설계 → 흐름 설계 → 예외 처리 → 에스컬레이션 → 문서화 → 테스트. 이 7단계를 거치면 안정적인 전화 에이전트를 만들 수 있습니다.
ClawOps는 전화 인프라를 API로 추상화하여 시나리오 설계와 LLM 연동에 집중할 수 있게 합니다. 무료 Trial로 직접 시나리오를 테스트해보세요.
참고 링크
관련 글 더 보기
WebRTC + SIP 게이트웨이: 브라우저에서 바로 전화 걸기
WebRTC와 SIP 게이트웨이를 연동하여 브라우저에서 070 전화를 거는 방법. 한국 SIP 환경에서의 WebRTC 구현, SRTP 변환, NAT 처리까지 실전 가이드를 제공합니다.
가이드AI 전화 에이전트 성과 측정 KPI 10가지: 무엇을 추적해야 하나
AI 전화 에이전트의 성과를 측정하는 핵심 KPI 10가지. 통화 완료율, 응답 레이턴시, CSAT부터 비용 효율까지 실전 지표와 측정 방법을 정리합니다.
가이드AI 전화 에이전트 프롬프트 엔지니어링: 통화 품질을 결정하는 프롬프트 설계법
AI 전화 에이전트의 프롬프트를 설계하는 실전 가이드. 시스템 프롬프트 구조, 턴 제어, 예외 처리, 페르소나 설정까지 통화 품질을 높이는 핵심 기법을 정리합니다.
가이드전화 봇 만들기: AI가 진짜로 전화 걸고 받는 봇 구축하기
ClawOps MCP 서버를 활용해 한국어 AI 전화 봇을 처음부터 끝까지 구축하는 방법. 070 번호 발급, 발신/수신 전화 처리, 웹훅 연동까지 단계별로 안내합니다.
가이드070 번호 API: REST API 한 줄로 전화번호 발급받기
070 인터넷전화 번호를 REST API 한 줄로 발급받는 방법. 기존 통신사 계약 방식 대비 10초 만에 번호를 발급받고 바로 전화를 걸 수 있습니다.