

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 确认
<a name="intent-confirm"></a>

在与用户的对话完成并填充意图的槽位值后，您可以配置确认提示以询问用户槽位值是否正确。例如，安排车辆保养预约的机器人可能会提示用户以下内容：


|  | 
| --- |
| 已帮您为 2017 年款本田思域车辆预约 3 月 25 日下午 3:00 的保养服务。请确认是否正确？ | 

您可以定义 3 种类型的确认提示响应：
+ **确认响应**：当用户确认意图时，将向用户发送此响应。例如，在用户对提示“是否确认下单？”回答“是”之后。
+ **拒绝响应**：当用户拒绝此意图时，将向用户发送此响应。例如，在用户对提示“是否确认下单？”回答“否”之后。
+ **失败响应**：当无法处理确认提示时，将向用户发送此响应。例如，如果用户的回复无法理解或无法解析为“是”或“否”。

![\[流程图显示了确认和拒绝回复的 3 种响应类型。\]](http://docs.aws.amazon.com/zh_cn/lexv2/latest/dg/images/conditional-confirmation-flow.png)


如果您未指定确认提示，Amazon Lex V2 将进入履行步骤或结束响应。

您可以设置值、配置后续步骤，并应用与每个响应相对应的条件以设计对话流程。如果未设置条件或明确的下一步操作，Amazon Lex V2 将继续执行履行步骤。

您也可以启用对话框代码挂钩，以便在发送要履行的意图之前验证意图中捕获的信息。要使用代码挂钩，请在确认提示高级选项中启用对话框代码挂钩。此外，配置上一个状态的下一步以执行对话框代码挂钩。有关更多信息，请参阅 [调用对话框代码挂钩](paths-code-hook.md)。

**注意**  
 如果您使用代码挂钩在运行时触发确认步骤，则必须在构建时将确认步骤标记为**活动**。

![\[显示确认提示的高级选项的Amazon Lex V2 控制台。\]](http://docs.aws.amazon.com/zh_cn/lexv2/latest/dg/images/response-confirm.png)


**注意**  
Amazon Lex V2 于 2022 年 8 月 17 日发布了对用户对话管理方式的更改。借助此更改，您可以更好地控制用户的对话路径。有关更多信息，请参阅 [Amazon Lex V2 中的对话流更改](understanding-new-flows.md)。2022 年 8 月 17 日之前创建的机器人不支持对话框代码挂钩消息、设置值、配置后续步骤和添加条件。

## 使用 Lambda 函数来验证意图。
<a name="intent-confirm-codehook"></a>

您可以定义 Lambda 代码挂钩以验证意图，然后再发送此意图以进行履行。要使用代码挂钩，请在确认提示高级选项中启用对话框代码挂钩。

使用代码挂钩时，您可以定义 Amazon Lex V2 在代码挂钩运行后执行的操作。您可以创建三种类型的响应：
+ **成功响应**：当代码挂钩成功完成时发送给用户。
+ **失败响应**：当代码挂钩未成功运行或代码挂钩在响应中返回 `Failure` 时，发送给用户。
+ **超时响应**：当代码挂钩未在其配置的超时时间内完成时发送给用户。