

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 了解 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** – 表示機器人正在等待使用者確認所收集的資訊正確無誤。
+ **關閉** – 表示使用者的意圖已完成，且與機器人的對話已達到邏輯結尾。

第一個意圖完成後，使用者可以指定新的意圖。如需詳細資訊，請參閱[與 Lex V2 機器人的對話內容](conversation-contexts.md)。

意圖可以具有下列其中一種狀態：
+ **InProgress** – 表示機器人正在收集完成意圖所需的資訊。這是與`ElicitSlot`對話狀態結合。
+ **等待**中 – 表示使用者在機器人要求特定插槽的資訊時，請求機器人等待。
+ **已履行** – 表示與意圖相關聯的 Lambda 函數中的業務邏輯已成功執行。
+ **ReadyForFulfillment** – 表示機器人收集實現意圖所需的所有資訊，且用戶端應用程式可以執行履行業務邏輯。
+ **失敗** – 表示意圖失敗。

請參閱下列主題，了解如何使用 Amazon Lex V2 APIs 來管理機器人和使用者之間的對話內容和工作階段。

**Topics**
+ [與 Lex V2 機器人的對話內容](conversation-contexts.md)
+ [了解 Amazon Lex V2 機器人工作階段](managing-sessions.md)