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로 직접 시나리오를 테스트해보세요.
참고 링크
관련 글 더 보기
Twilio 한국 070 안 된다 — ClawOps로 5분 마이그레이션
Twilio 한국 070 안 된다 — ClawOps로 5분 마이그레이션
가이드한국 SMS/LMS/MMS API 완벽 가이드: Python으로 문자 보내기
한국에서 SMS, LMS, MMS를 API로 발송하는 방법. ClawOps Python SDK로 단문·장문·이미지 문자를 보내고, 수신 웹훅으로 자동 응답하는 실전 가이드입니다.
가이드웹훅으로 전화 자동화 구현하기: Python + FastAPI 실전 코드
Python과 FastAPI로 전화 웹훅 서버를 구축하는 실전 가이드. CRM 연동, 주문 확인 전화, 부재중 알림 등 비즈니스 자동화 시나리오를 코드로 구현합니다.
가이드ClawOps Node.js SDK 완전 가이드: TypeScript로 AI 전화 에이전트 만들기
ClawOps Node.js/TypeScript SDK로 AI 음성 에이전트를 구축하는 방법. 설치부터 REST API, AI Agent, Tool 등록, MCP 연동까지 실전 코드 예제와 함께 안내합니다.
가이드AI 전화 에이전트에 Tool 연동하기: 예약 조회, DB 검색, 외부 API 호출
ClawOps Voice Agent SDK의 Tool 등록 기능으로 AI 전화 에이전트가 DB 조회, 예약 확인, 외부 API 호출을 수행하게 만드는 방법. Python/Node.js 실전 코드 포함.