

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 시작하기 모범 사례


## 대화 설계 원칙


처음부터 이러한 대화 설계 원칙을 따르면 자연적인 상호 작용을 제공하는 보다 효과적이고 유지 관리 가능하며 사용자 친화적인 Amazon Lex V2 챗봇을 구축하는 데 도움이 됩니다.

### 핵심 설계 원칙

+ **사용자 목표 시작** - 시스템에서 수행할 수 있는 작업이 아니라 사용자가 달성하고자 하는 작업을 중심으로 봇을 설계합니다. 사용자의 여정과 원하는 결과에 집중합니다.
+ **자연어 사용** - 프롬프트와 응답을 대화로 작성합니다. 기술적인 전문 용어를 피하고 도움이 되는 사람처럼 말하세요.
+ **명확한 옵션 제공** - 사용자가 멈출 때 일반 도움말 텍스트가 아닌 말할 수 있는 내용의 구체적인 예를 제공합니다.
+ **단순 유지** - 기본 기능으로 시작하고 점진적으로 복잡성을 높입니다. 사용자는 일반적인 작업을 빠르게 완료할 수 있어야 합니다.
+ **오류 정상 처리** - 봇이 이해하지 못하면 단순히 "I't understand"라고 말하는 대신 유용한 지침을 제공합니다.
+ **중요 작업 확인** - 주문 또는 정보 삭제와 같이 쉽게 취소할 수 없는 작업을 수행하기 전에 항상 확인합니다.
+ **이스케이프 경로 제공** - 필요한 경우 항상 사용자에게 다시 시작하거나, 도움을 받거나, 사람과 연결할 수 있는 방법을 제공합니다.

### 대화 흐름 모범 사례

+ **기대치 지우기 설정** - 봇이 대화 초기에 수행할 수 있는 작업과 수행할 수 없는 작업을 사용자에게 알립니다.
+ **점진적 공개 사용** - 여러 질문으로 사용자에게 부담을 주지 않고 한 번에 하나씩 정보를 요청합니다.
+ **컨텍스트 제공** - 이미 수집한 정보와 여전히 필요한 정보를 사용자에게 상기시킵니다.
+ **쉽게 수정** - 사용자가 완전히 다시 시작하지 않고도 정보를 수정할 수 있습니다.

## 실제 사용 사례 및 예제


이 실제 예제에서는 새로운 Amazon Lex V2 사용자가 직면하는 일반적인 시나리오에 대화 설계 원칙을 적용하는 방법을 보여줍니다.

### 사용 사례 1: 예약


**시나리오:** 진료소가 예약 일정을 자동화하려고 합니다.

**해결 과제:** 사용자는 여러 정보(서비스 유형, 날짜, 시간, 연락처 정보)를 제공해야 하며 세부 정보를 변경할 수 있습니다.

**솔루션 접근 방식:**
+ **Start Broad:** "어떤 유형의 약속을 예약하시겠습니까?" (치과, 눈 검사, 상담)
+ **아래로 좁히기:** "언제 치과 진료 예약을 선호하시나요?" ("다음 주" 또는 "금요일 오후"와 같은 유연한 입력 허용)
+ **변경 사항 확인 및 제안:** "3월 15일 금요일 오후 2시에 치실 청소를 예약했습니다. 이 방법이 효과가 있나요?"
+ **변경 사항 처리:** 사용자가 "대신 오후 3시를 할 수 있나요?"라고 말하면 전체 프로세스를 다시 시작하지 않고 시간을 업데이트합니다.

**주요 기법:**
+ 유연한 날짜/시간 입력[AMAZON.Time](built-in-slot-time.md)에 [AMAZON.Date](built-in-slot-date.md) 및 사용
+ 약속 유형에 대한 사용자 지정 슬롯 유형 생성
+ 예약을 완료하기 전에 확인 프롬프트 사용

### 사용 사례 2: 주문 상태 조회


**시나리오:** 전자 상거래 회사는 고객이 지원을 호출하지 않고 주문 상태를 확인하려고 합니다.

**해결 과제:** 사용자가 주문 번호를 가지고 있지 않거나 다른 방식으로를 요청할 수 있습니다.

**솔루션 접근 방식:**
+ **여러 진입점:** "내 주문 위치", "내 패키지 추적" 또는 "주문 상태" 수락
+ **유연한 식별:** "주문을 추적할 수 있도록 도와드릴 수 있습니다. 주문 번호가 있습니까? 아니면 이메일 주소를 사용하시겠습니까?"
+ **유용한 지침:** "주문 번호는 일반적으로 확인 이메일에 있으며 'ORD-'로 시작합니다."
+ **결과 지우기:** "주문 \$1ORD-12345는 어제 배송되었으며 내일 오후 8시까지 도착합니다. 세부 정보를 추적하시겠습니까?"

**주요 기법:**
+ 주문 번호에 AMAZON.AlphaNumeric과 같은 기본 제공 슬롯 유형 사용
+ 주문을 식별하는 여러 방법 제공(이메일, 전화, 주문 번호)
+ 응답에 명확하고 실행 가능한 정보 제공

### 사용 사례 3: FAQ 및 지원


**시나리오:** 소프트웨어 회사가 일반적인 지원 질문을 자동으로 처리하려고 합니다.

**해결 과제:** 사용자는 여러 가지 방법으로 동일한 질문을 하며, 일부 문제는 사람의 도움이 필요합니다.

**솔루션 접근 방식:**
+ **광범위한 의도 인식:** “로그인할 수 없음”, “로그인 문제”, “암호가 작동하지 않음”과 같은 변형을 인식하도록 의도를 교육합니다.
+ **안내 문제 해결:** "몇 가지 간단한 단계를 시도해 보겠습니다. 먼저 암호 재설정을 시도했나요?"
+ **에스컬레이션 경로:** "이 단계가 작동하지 않으면 지원 팀에 연결해 드릴 수 있습니다. 그렇게 하시겠습니까?"
+ **후속 조치:** "이렇게 하면 문제가 해결되었습니까? 다른 도움이 필요한 경우 언제든지 '도움'이라고 말할 수 있습니다.'

**주요 기법:**
+ 많은 샘플 발화를 사용하여 사용자가 문제를 표현하는 다양한 방법을 캡처합니다.
+ 긴 설명이 아닌 step-by-step 지침 제공
+ 자동화된 도움으로 충분하지 않은 경우 항상 인적 지원 경로를 제공합니다.

### 복잡한 시나리오 처리


단순한 봇도 복잡한 상황에 직면합니다. 다음은 정상적으로 처리하는 방법입니다.
+ **사용자가 생각을 바꾸는 경우:**
  + 사용자: "실제로 튜립 대신 장미를 원합니다"
  + 봇: "문제 없습니다\$1 주문을 장미로 업데이트했습니다. 장미는 금요일 오후 2시에 픽업할 준비가 됩니다. 맞나요?"
+ **정보가 명확하지 않은 경우:**
  + 사용자: "다음 주에 꽃이 필요합니다"
  + 봇: “도와드리겠습니다\$1 다음 주에 가장 적합한 날은 어디입니까? '월요일' 또는 '다음 화요일'과 같은 말을 할 수 있습니다.'
+ **봇이 이해하지 못하는 경우:**
  + 사용자: "긴 어간이 있는 보라색 어간을 원합니다"
  + 봇: "이 문제를 제대로 해결하려고 합니다. 보라색 꽃을 찾고 계신가요? 보라색 장미, 보라색 튜립, 보라색 홍채를 사용할 수 있습니다.”
+ **사용자가 다시 시작해야 하는 경우:**
  + 사용자: "이것을 취소하고 다시 시작하겠습니다"
  + 봇: "물론입니다\$1 현재 주문을 지웠습니다. 오늘 어떤 유형의 꽃을 주문하시겠습니까?"