

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

# 建立對話路徑
<a name="building-paths"></a>

一般而言，Amazon Lex V2 會管理與使用者的對話流程。對於簡單的機器人，預設流程可以足以為您的使用者建立良好的體驗。不過，對於更複雜的機器人，您可能想要控制對話，並將流程導向更複雜的路徑。

例如，在預訂租車的機器人中，您可能不會租賃給較年輕的駕駛人。在這種情況下，您可以建立一個條件來檢查驅動程式是否低於特定年齡，如果低於，請跳到關閉回應。

![\[流程圖顯示租車機器人的對話流程，該機器人不會租賃給 24 以下的駕駛。\]](http://docs.aws.amazon.com/zh_tw/lexv2/latest/dg/images/conditional-flowchart.png)


若要設計這類互動，您可以在對話的每個時間點設定下一個步驟、評估條件、設定值和叫用程式碼掛勾。

條件式分支可協助您透過複雜的互動，為使用者建立路徑。您可以隨時使用條件式分支，將對對話的控制傳遞給機器人。例如，您可以在機器人引出第一個槽值之前建立條件，您可以在引出每個槽值之間建立條件，或在機器人關閉對話之前建立條件。如需您可以新增條件的位置清單，請參閱 [新增意圖](add-intents.md)。

當您建立機器人時，Amazon Lex V2 會根據插槽的優先順序，透過對話建立預設路徑。若要自訂對話路徑，您可以在對話中的任何時間點修改下一個步驟。如需詳細資訊，請參閱[在對話中設定後續步驟](paths-nextstep.md)。

若要根據條件建立替代路徑，您可以在對話中的任何時間點使用條件式分支。例如，您可以在機器人引發第一個槽值之前建立條件。您可以在引出每個槽值之間建立條件，也可以在機器人關閉對話之前建立條件。如需允許您新增條件的位置清單，請參閱 [將條件新增至分支對話](paths-branching.md)。

您可以根據槽值、工作階段屬性、輸入模式和輸入文字記錄，或來自 Amazon Kendra 的回應來設定條件。

您可以在對話的每個點設定槽和工作階段屬性值。如需詳細資訊，請參閱[在對話期間設定值](paths-setting-values.md)。

您也可以將下一個動作設定為對話方塊程式碼掛鉤，以執行 Lambda 函數。如需詳細資訊，請參閱[叫用對話方塊程式碼掛勾](paths-code-hook.md)。

下圖顯示 主控台中槽的建立路徑。在此範例中，Amazon Lex V2 會引出槽 "age"。如果槽的值小於 24，Amazon Lex V2 會跳至關閉回應，否則 Amazon Lex V2 會遵循預設路徑。

![\[Amazon Lex V2 主控台顯示槽的條件編輯器。\]](http://docs.aws.amazon.com/zh_tw/lexv2/latest/dg/images/conditional-slot.png)


**注意**  
2022 年 8 月 17 日，Amazon Lex V2 發佈了與使用者管理對話方式的變更。此變更可讓您進一步控制使用者在對話中採取的路徑。如需詳細資訊，請參閱[Amazon Lex V2 中對話流程的變更](understanding-new-flows.md)。在 2022 年 8 月 17 日之前建立的機器人不支援對話方塊程式碼掛接訊息、設定值、設定後續步驟，以及新增條件。