

支援終止通知：2025 年 9 月 15 日， AWS 將停止對 Amazon Lex V1 的支援。2025 年 9 月 15 日之後，您將無法再存取 Amazon Lex V1 主控台或 Amazon Lex V1 資源。如果您使用的是 Amazon Lex V2，請改參閱 [Amazon Lex V2 指南](https://docs.aws.amazon.com/lexv2/latest/dg/what-is.html)。

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

# AMAZON.FallbackIntent
<a name="built-in-intent-fallback"></a>

當使用者對意圖的輸入不是機器人預期的輸入時，您可以設定 Amazon Lex 叫用*備用意圖*。例如，如果使用者輸入「我想要訂購 Candy」不符合`OrderFlowers`機器人中的意圖，Amazon Lex 會叫用備用意圖來處理回應。

透過將內建 `AMAZON.FallbackIntent` 意圖類型新增到機器人來新增備用意圖。您可以使用 [PutBot](API_PutBot.md) 操作，或從主控台的內建意圖清單中選擇意圖以指定意圖。

呼叫備用意圖需要兩個步驟。在第一個步驟中，備用意圖係根據使用者的輸入進行比對。當備用意圖相符時，機器人的行為方式則取決於為提示設定的重試次數。例如，如果嘗試判斷意圖的最大次數是 2，則機器人會在呼叫備用意圖之前，傳回機器人的釐清提示兩次。

Amazon Lex 在這些情況下符合備用意圖：
+ 使用者對意圖的輸入不符合機器人預期的輸入
+ 音訊輸入為雜訊，或文字輸入無法辨識為文字。
+ 使用者的輸入不明確，Amazon Lex 無法判斷要叫用的意圖。

以下情況會叫用備用意圖：
+ 在對話開始時、嘗試釐清的設定次數之後，機器人不會將使用者輸入識別為意圖。
+ 在設定的嘗試次數之後，意圖不會將使用者輸入識別為槽值。
+ 在設定的嘗試次數之後，意圖不會將使用者輸入視為確認提示的回應。

您可以搭配備用意圖使用下列項目：
+ 履行 Lambda 函數
+ 一條結論陳述
+ 一條後續追蹤提示

您無法將以下內容新增至備用意圖：
+ 表達用語
+ 槽
+ 初始化和驗證 Lambda 函數 
+ 一條確認提示

如果您已為機器人設定取消陳述式和備用意圖，Amazon Lex 會使用備用意圖。如果您需要機器人具有取消陳述式，您可以使用履行函數進行備用意圖，以提供與取消陳述式相同的行為。如需詳細資訊，請參閱 [PutBot](API_PutBot.md) 操作的 `abortStatement` 參數。

## 使用釐清提示
<a name="fallback-clarification"></a>

如果您向機器人提供釐清提示，則該提示將用於向使用者請求有效的意圖。釐清提示會依您設定的次數進行重複。在此之後才會呼叫備用意圖。

如果您在建立機器人時未設定釐清提示，且使用者未以有效意圖開始對話，Amazon Lex 會立即呼叫您的備用意圖 。

當您在沒有釐清提示的情況下使用備用意圖時，Amazon Lex 不會在這些情況下呼叫備用：
+ 在使用者回應後續提示，但不提供意圖時。例如，為了回應表示「您今天是否想要其他項目？」的後續提示，使用者表示「是」。Amazon Lex 傳回 400 錯誤的請求例外狀況，因為它沒有要傳送給使用者的釐清提示以取得意圖。
+ 使用 AWS Lambda 函數時，您會傳回`ElicitIntent`對話方塊類型。由於 Amazon Lex 沒有向使用者取得意圖的釐清提示，因此會傳回 400 錯誤的請求例外狀況。
+ 在使用 `PutSession` 操作時，您會傳送 `ElicitIntent` 對話方塊類型。由於 Amazon Lex 沒有向使用者取得意圖的釐清提示，因此會傳回 400 錯誤的請求例外狀況。

## 使用 Lambda 函數搭配備用意圖
<a name="invoke-fallback"></a>

在呼叫備用意圖時，其回應取決於對 [PutIntent](API_PutIntent.md) 操作的 `fulfillmentActivity` 參數設定。機器人會執行下列其中一項操作：
+ 將意圖資訊傳回給用戶端應用程式。
+ 呼叫履行 Lambda 函數。它會使用為工作階段設定的工作階段變數來呼叫函數。

如需在呼叫備用意圖時設定回應的詳細資訊，請參閱 [PutIntent](API_PutIntent.md) 操作的 `fulfillmentActivity` 參數。

如果您在備用意圖中使用履行 Lambda 函數，您可以使用此函數來呼叫另一個意圖，或與使用者執行某種形式的通訊，例如收集回呼號碼，或與客戶服務代表開啟工作階段。

您可以在備用意圖 Lambda 函數中執行任何動作，您可以在履行函數中針對任何其他意圖執行這些動作。如需使用 建立履行函數的詳細資訊 AWS Lambda，請參閱 [使用 Lambda 函數](using-lambda.md)。

您可以在相同工作階段中多次叫用備用意圖。例如，假設您的 Lambda 函數使用 `ElicitIntent` 對話方塊動作來提示使用者使用不同的意圖。如果 Amazon Lex 無法在設定的嘗試次數之後推斷使用者的意圖，則會再次叫用備用意圖。當使用者在設定的嘗試次數之後仍未回應有效的槽值，它也會叫用備用意圖。

您可以設定 Lambda 函數，以追蹤使用工作階段變數呼叫備用意圖的次數。如果呼叫 Lambda 函數的次數超過您在 Lambda 函數中設定的閾值，您的 Lambda 函數可以採取不同的動作。如需工作階段變數的詳細資訊，請參閱 [設定工作階段屬性](context-mgmt-session-attribs.md)。