이 가이드에서는 음성 에이전트 설계에 적용되는 권장사항을 제공합니다. 음성 에이전트를 설계할 때 목표는 사용자(최종 사용자)가 실제 상담사에게 에스컬레이션하지 않고 작업을 완료하도록 돕는 것입니다. 사용자는 음성 에이전트와 자연스럽고 협조적인 대화를 하는 느낌을 받아야 합니다.
또한 모든 에이전트 유형에 대해 다룬 일반적인 일반 에이전트 설계 가이드와 Dialogflow 서비스 사용에 대한 권장사항도 참조하세요.
에이전트 품질 측정
에이전트의 사용자 환경 품질을 측정하려면 다음 측정항목을 추적해보세요.
잘못된 경로: 잘못된 위치에 전화를 건 발신자 수입니다.
첫 번째 통화 해결: 첫 번째 통화 또는 연락처에서 해결된 통화 수입니다.
평균 처리 시간: 사용자의 문제를 해결하는 데 걸리는 시간입니다.
고객 만족도: 사용자 설문조사에서 음성 상담사의 점수를 평가합니다.
차례 횟수: 사용자의 작업을 완료하는 데 걸리는 대화 횟수입니다.
사용자 이탈률: 사용자가 대화에서 이탈하는 빈도입니다.
음성 인식
다음 팁은 에이전트가 최종 사용자 음성을 인식하는 데 도움이 됩니다.
- 에이전트는 최종 사용자가 긴 문구나 완전한 문장을 사용하도록 유도해야 합니다. 그래야 인식 품질이 개선됩니다.
- 웹훅을 사용하여 정확하게 인식되지 않거나 유효성을 검사해야 하는 최종 사용자 입력을 확인하는 것이 좋습니다.
- 일치 항목 없음 이벤트를 사용하여 최종 사용자에게 더 천천히 분명하게 발음하도록 요청합니다.
대화 구조
음성 에이전트와의 대화는 일반적으로 다음과 같은 시퀀스로 구성됩니다.
활동 | 예시 | 참고 |
---|---|---|
시작 활동 | 사용자가 로그인하거나 고객센터에 전화를 겁니다. 음성 에이전트: 안녕하세요. Travel Inc.입니다. 무엇을 도와드릴까요? |
음성 에이전트가 환영 메시지로 대화를 시작합니다. |
기본 시퀀스 | 사용자: 비행기 티켓을 예약하려고 합니다. 음성 에이전트: 네, 어디로 가고 싶으신가요? 사용자: 과테말라에 5월 19일 오후 9시요. 음성 에이전트: 알겠습니다. 5월 19일 오후 9시에 과테말라 티켓을 예약했습니다. |
사용자가 작업을 정의하고 음성 에이전트가 작업을 완료합니다. 이 작업은 음성 에이전트가 필요한 모든 정보를 수집하려면 여러 차례가 필요할 수 있습니다. |
종료 활동 | 음성 에이전트: 도움이 더 필요한 사항이 있으신가요? 사용자: 아니요. 음성 에이전트: 알겠습니다. 소중한 시간을 내어 주셔서 감사합니다. |
사용자는 요청이 처리되면 대화를 완료할 수 있습니다. |
환영 메시지
사용자에게 보낼 시작 메시지를 설계할 때는 가능한 한 빨리 첫 번째 주제로 넘어가는 방법을 생각해 보세요. 환영 메시지는 짧고 간단명료해야 합니다. 다음 내용에 몇 가지 권장사항이 포함되어 있습니다.
- '안녕하세요'와 같은 문구를 사용하여 통화에 응답합니다.
- 'XYZ 회사의 음성 에이전트/도우미입니다'라는 문구로 음성 에이전트를 식별합니다.
- '오늘 무엇을 도와드릴까요?'와 같은 문구로 참석 여부를 표시합니다.
추가 정보로 인해 사용자가 불만을 느끼고 실제 상담사에게 에스컬레이션할 수 있습니다. 하지만 사용자에게 대화가 녹음될 수 있음을 알리는 등의 법적인 이유로 환영 메시지를 확장해야 할 수도 있습니다.
대화를 부자연스럽거나 불균형하게 만드는 정보를 사용하지 않습니다. 예를 들면 다음과 같습니다.
권장사항 | 금지사항 |
---|---|
사용자가 사용했으면 하는 표현을 만듭니다. 예를 들어 사용자가 한두 문장으로 어떤 상황을 설명하도록 하려면 음성 에이전트를 한두 문장으로 제한하세요. | '1~2개 문장으로…' 또는 '…할 수 있습니다'와 같은 문구로 사용자에게 말하는 방법을 안내하지 마세요. |
사용자가 원하는 작업에 집중하고 대화 실패에 대비하여 오류 처리 전략을 수립합니다. | '복잡한 문제를 해결하도록 도와드릴 수 있습니다'와 같은 문구로 음성 에이전트가 할 수 있는 작업을 사용자에게 말하지 않습니다. |
대화 차례 쌍
일반적인 대화는 다음과 같은 유형의 차례와 같은 차례 쌍으로 구성됩니다.
- 음성 응답에서 가장 일반적인 질문-답변
- 초대-수락/거부
- 인사-인사
가끔 차례 쌍에 질문을 해야 하는 이유에 대한 설명, 묻고 싶은 질문과 관련된 배경 정보, 사용자 답변에 대한 반응 등의 부가 설명이 포함될 수 있습니다. 예를 들어 다음과 같은 질문-답변 차례 쌍을 가정해 보겠습니다.
음성 에이전트: 하루에 10달러의 요금이 청구됩니다. (배경 정보/설명) 이 혜택을 추가하시겠어요? (질문)
사용자: 네. (답변)
음성 에이전트: 좋습니다. (반응)
일반 에이전트 설계 권장사항 가이드의 fulfillment 섹션에서 fulfillment 배치에 대한 가이드라인도 참조하세요.
대화 복구
대화 복구는 대화를 다시 시작하기 위해 오해하거나 잘못 알아듣거나 조음이 잘못된 문제를 해결하는 방법입니다. 대화를 복구하면 음성 에이전트가 사용자의 요청을 듣고 있음을 보여주어 사용자의 신뢰를 구축할 수 있습니다.
다음은 몇 가지 권장사항입니다.
구체적으로 표현하고, 이전 단계에서 사용자가 이미 제공한 컨텍스트를 사용합니다. '잘 이해하지 못했습니다', '잘 모르겠습니다' 또는 '문제가 발생했습니다'와 같은 명백하고 불필요한 질문을 하지 않습니다.
사용자에게 자가 복구의 기회를 제공할 수 있습니다. 다시 말해, 사용자가 에이전트를 대화에 참여시키기에 가장 맞다고 생각되는 방식으로 자기 차례를 복구할 수 있습니다. '다시 말씀해 주세요', 'x, y, z는 말하면 안 돼요'와 같은 문구는 사용하지 마세요.
'x 말씀이신가요?' 구조를 사용하여 이해 여부를 확인합니다.
다음 표에서는 권장사항과 금지사항에 대한 몇 가지 예시를 보여줍니다.
권장사항 | 금지사항 |
---|---|
사용자: 이탈리아로 여행 중입니다. 음성 에이전트: 죄송합니다. 어떤 나라라구요? |
사용자: 이탈리아로 여행 중입니다. 음성 에이전트: 문제가 발생했습니다. 다시 말씀해 주시겠어요? 어디 가시나요? |
사용자: 80달러를 결제하고 싶어요. 음성 에이전트: 80달러요? (확인이 필요한 정보만 반복) |
사용자: 80달러를 결제하고 싶어요. 음성 에이전트: 80달러를 결제하고 싶으신가요? ('결제하고 싶다'는 불필요한 정보 반복) |
오류 처리
다음 섹션에서는 대화가 실패하는 상황에 대처하는 방법을 설명합니다.
일치 항목 없음
일치 항목 없음 이벤트는 음성 에이전트가 사용자가 말한 내용과 일치하는 인텐트를 찾을 수 없을 때 호출됩니다.
일치 항목 없음 이벤트의 첫 번째 인스턴스에서 다음을 시도합니다.
사용자에게 질문을 반복하되 누락된 정보를 나타내기 위해 더 짧은 단어로 바꿉니다. 음성 에이전트는 누락된 정보에만 집중하여 다른 사용자의 나머지 말을 들었음을 넌지시 전달합니다.
문제가 발생한 질문 앞에 '죄송합니다'를 추가하면 문제가 발생한 것을 알 수 있습니다.
일치 항목 없음 이벤트의 두 번째 인스턴스에서 음성 에이전트가 잘 들으려고 노력하고 있음을 더 명확하게 보여줍니다. 예를 들어 다음과 같은 대화를 고려해 보세요.
사용자: 이탈리아로 여행 중입니다.
음성 에이전트: 죄송합니다. 어떤 나라라구요?
사용자: 이탈리아요.
음성 에이전트: 죄송합니다. 어떤 나라로 가신다구요?
입력 없음
음성 에이전트가 사용자로부터 구두 응답을 받지 못한 경우 처음과 같은 방식으로 질문을 반복합니다. 입력 없음 이벤트의 두 번째 인스턴스에서는 원래 질문의 문구를 변경할 수 있지만 질문의 원래 구성요소가 모두 있는지 확인해야 합니다.
일치 항목 없음 및 입력 없음 반복 제한
오류 처리 이벤트의 루프 함정에 사용자를 빠뜨리지 않으려면 모든 페이지에 대해 일치 항목 없음/입력 없음을 최대 3개까지 구현합니다. 세 번째 일치 항목 없음 또는 입력 없음 이벤트가 나타나면 사용자를 실제 상담사에게 에스컬레이션합니다.
음성 중지 제한 시간
사용자가 계속 진행하기 전에 정보를 검토하거나 결정을 내려야 하는 상황에서는 음성 중지 제한 시간 설정을 늘려 사용자에게 응답할 충분한 시간을 제공합니다.
다음 예시에서는 2초의 음성 중지 제한 시간 설정이 너무 짧아 사용자가 SMS 메시지를 읽고 결정을 내릴 수 없습니다.
음성 에이전트: 고객님 기기로 문자 메시지를 보냈습니다. 링크를 클릭하면 여행 패스에 대해 자세히 알 수 있습니다. 텍스트를 읽고 여기로 돌아올 시간을 주기 위해 음악을 재생하겠습니다. <2초의 일시중지 l10n-attrs-original-order="second,pause"> 계속하시겠습니까?
사용자: 아직 읽고 있습니다.
음성 에이전트: 여행 티켓을 계획에 추가하시겠어요?
대화 기법
이 섹션에서는 음성 에이전트가 사용자와의 신뢰를 쌓고 대화를 더 원활하게 실행할 수 있는 기술을 설명합니다.
활용 가능한 질문 설계
음성 에이전트가 사용자에게 물어볼 수 있는 명확하고 활용 가능한 질문을 설계합니다. 예를 들어 다음과 같은 권장사항과 금지사항을 고려하세요.
권장사항 | 금지사항 |
---|---|
'언제 여행하시나요?'와 같이 개방향 질문을 합니다. 이러한 질문에 사용자는 날짜를 알면 날짜를 제공하고 아니면 '모르겠어요'라고 말합니다. | '여행 날짜를 알고 계신가요?'라고 질문하지 마세요. 이러한 질문에는 '예' 또는 '아니요'라고만 답할 수 있고 활용 가능성이 낮아집니다. |
'다른 패키지의 주문 상태를 확인하시겠어요?'라고 질문하세요. | '다른 패키지의 주문 상태를 계속 진행하시겠어요?'라는 질문을 하지 마세요. |
또한 사람들이 자연스러운 대화에서 그러하듯 사용자가 질문에 암시적으로 답할 수 있는 상황을 대비해 음성 에이전트를 준비해야 합니다. 예를 들어 다음과 같은 상호작용을 고려하세요.
음성 에이전트: 계정으로 이동하여 사용량을 클릭한 후 줄별 사용량을 클릭합니다. 다 되셨으면 알려 주세요.
사용자: 3개월 이전의 데이터가 보이지 않는다고 나오네요.
사용자의 응답은 타겟 화면에 성공적으로 도착했음을 암시하지만 추가 지원이 필요합니다. 음성 에이전트는 사용자가 '도달했어요' 또는 '도달하지 못했어요'라고만 말하는 대신 포함된 의미를 예측해야 합니다.
사용자 신뢰 얻기
음성 에이전트는 접수 확인 및 특정 세부정보를 사용하여 사용자가 듣고 있음을 보여줄 수 있습니다. 음성 에이전트가 일반적인 대답을 제공하는 경우 사용자가 느끼기에 음성 에이전트가 부자연스럽게 들릴 수도 있습니다.
접수 확인을 사용합니다. 예를 들어 '걱정하지 마세요'를 접수 확인으로 사용하는 다음 대화를 살펴보겠습니다.
사용자: 결제 계약을 월요일로 설정하고 싶습니다.
음성 에이전트: 알겠습니다. 월요일에 얼마를 결제하시겠어요?
음성 에이전트가 사용자의 말을 적극적으로 듣고 있음을 보여주기 위해 구체적인 세부정보를 추가합니다. 예를 들어 위 대화에서 '월요일'이라는 문구는 음성 에이전트가 사용자의 말을 들었음을 나타내는 구체적인 세부정보입니다.
사용자의 요청을 최대한 신속하게 해결하고 불필요한 단계를 제외합니다. 다음 예시에서 관련 없는 정보로 인해 사용자가 불만을 느낄 수 있습니다.
사용자: 제가 사는 지역에 정전이 있나요?
음성 에이전트: 연결 상태를 유지하는 것이 얼마나 중요한지 알고 있습니다. 이 문제의 원인을 살펴보겠습니다. 문제가 있는 회선의 마지막 4자리를 알려주세요. 여러 회선에 문제가 있다면 우선 하나만 알려주세요.
사용자: 1234
음성 에이전트: 감사합니다. 이 회선의 다음 단계를 살펴보겠습니다. 그럼 시작하겠습니다. HD Voice를 일시적으로 사용 중지한 후 다시 사용 설정하면 될 것 같습니다... 문제가 해결되었나요?
사용자와 음성 에이전트 간의 대화가 균형을 이루도록 합니다. 음성 에이전트가 대화를 지배하는 경우 사용자가 대화 중에 불편함을 느낄 수 있습니다. 예/아니요 질문보다 누가/어디서/무엇을/언제/어떻게를 질문할 수 있도록 우선순위를 정합니다.
사용자가 상담사에게 에스컬레이션하길 원할 때 대화가 원활하게 전환되도록 합니다.
추가 정보
Actions on Google팀이 제공하는 대화 설계 가이드를 참조하세요.
Next Billion Users를 위한 음성 플레이북을 참조하세요.
Cloud Text-to-Speech SSML 가이드를 참조하세요.
활용 가능한 질문 설계에 대한 자세한 내용은 음성 작업을 참조하세요.