

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

# Amazon Lex V2 봇 대화 이해
<a name="managing-conversations"></a>

봇을 구축한 후에는 클라이언트 애플리케이션을 Amazon Lex V2 런타임 작업과 통합하여 봇과 대화를 진행합니다. 사용자가 봇과 대화를 시작하면 Amazon Lex V2는 *세션*을 생성합니다. 이 세션은 애플리케이션과 봇 간에 교환되는 정보를 캡슐화합니다. 자세한 내용은 [Amazon Lex V2 봇 세션 이해](managing-sessions.md) 단원을 참조하세요.

일반적인 대화에는 사용자와 봇 간의 오가는 흐름이 포함됩니다. 예제:

```
User : I'd like to make an appointment
Bot : What type of appointment would you like to schedule?
User : dental
Bot : When should I schedule your dental appointment?
User : Tomorrow
Bot : At what time do you want to schedule the dental appointment on 2021-01-01?
User : 9 am
Bot : 09:00 is available, should I go ahead and book your appointment?
User : Yes
Bot : Thank you. Your appointment has been set successfully.
```

[RecognizeText](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_runtime_RecognizeText.html) 또는 [RecognizeUtterance](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_runtime_RecognizeUtterance.html) API 작업을 사용하여 직접 대화를 관리합니다. [StartConversation](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_runtime_StartConversation.html) API 작업을 사용하여 Amazon Lex V2가 자동으로 대화를 관리하도록 합니다.

대화를 관리하려면 대화가 논리적으로 끝날 때까지 봇에게 사용자 발화를 보내야 합니다. 현재 대화는 세션 상태로 캡처됩니다. 세션 상태는 각 사용자 발화 후에 업데이트됩니다. 세션 상태는 대화의 현재 상태를 포함하며 각 사용자 발화에 대한 응답으로 봇이 반환합니다.

대화는 다음 상태 중 하나일 수 있습니다.
+ **ElicitIntent** – 봇이 아직 사용자의 의도를 파악하지 못했음을 나타냅니다.
+ **ElicitSlot** – 봇이 사용자의 의도를 감지하고 의도를 이행하는 데 필요한 정보를 수집하고 있음을 나타냅니다.
+ **ConfirmIntent** – 봇이 사용자가 수집된 정보가 정확한지 확인할 때까지 기다리고 있음을 나타냅니다.
+ **Closed** – 사용자의 의도가 완전하고 봇과의 대화가 논리적으로 끝났음을 나타냅니다.

사용자는 첫 번째 의도가 완료된 후 새 의도를 지정할 수 있습니다. 자세한 내용은 [Lex V2 봇과의 대화 컨텍스트](conversation-contexts.md) 단원을 참조하세요.

의도에는 다음과 같은 상태 중 하나가 있을 수 있습니다.
+ **InProgress** – 봇이 의도를 완료하는 데 필요한 정보를 수집하고 있음을 나타냅니다. 이는 `ElicitSlot` 대화 상태와 관련이 있습니다.
+ **Waiting** – 봇이 특정 슬롯에 대한 정보를 요청했을 때 사용자가 봇에게 대기하도록 요청했음을 나타냅니다.
+ **Fulfilled** – 의도와 연결된 Lambda 함수의 비즈니스 로직이 성공적으로 실행되었음을 나타냅니다.
+ **ReadyForFulfillment** – 봇이 의도를 이행하는 데 필요한 모든 정보를 수집했으며 클라이언트 애플리케이션이 이행 비즈니스 로직을 실행할 수 있음을 나타냅니다.
+ **Failed** – 의도가 실패했음을 나타냅니다.

Amazon Lex V2 API를 사용하여 봇과 사용자 간의 대화 컨텍스트와 세션을 관리하는 방법을 알아보려면 다음 주제를 참조하세요.

**Topics**
+ [Lex V2 봇과의 대화 컨텍스트](conversation-contexts.md)
+ [Amazon Lex V2 봇 세션 이해](managing-sessions.md)