

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

# 入門的最佳實務
<a name="getting-started-best-practices"></a>

## 對話設計原則
<a name="conversation-design-principles"></a>

從頭開始遵循這些對話設計原則，將協助您建置更有效、可維護且易於使用的 Amazon Lex V2 聊天機器人，以提供自然的互動。

### 核心設計原則
<a name="core-design-principles"></a>
+ 從**使用者目標開始** - 根據使用者想要完成的目標來設計您的機器人，而不是您的系統可以執行的動作。專注於使用者的旅程和所需的結果。
+ **使用自然語言** - 對話撰寫提示和回應。避免技術術語，並像實用的人類一樣說話。
+ **提供明確選項** - 當使用者卡住時，提供他們可以說的內容，而不是一般說明文字的特定範例。
+ **保持簡單** - 從基本功能開始，並逐步增加複雜性。使用者應該能夠快速完成常見任務。
+ **謹慎處理錯誤** - 當機器人不理解時，提供有用的指導，而不是說「我不理解」。
+ **確認重要動作** - 在採取無法輕易復原的動作之前，請務必確認，例如下訂單或刪除資訊。
+ **提供逸出路線** - 始終為使用者提供一種方法，以在需要時重新開始、尋求協助或與人類連線。

### 對話流程最佳實務
<a name="conversation-flow-best-practices"></a>
+ **設定明確期望** - 讓使用者知道機器人在對話初期可以做什麼和不能做什麼。
+ **使用漸進式揭露** - 一次詢問一個資訊，而不是使用多個問題讓使用者不堪負荷。
+ **提供內容** - 提醒使用者您已收集的資訊，以及您仍然需要的資訊。
+ **輕鬆更正** - 允許使用者更正資訊，而無需完全重新開始。

## 實際使用案例和範例
<a name="real-world-use-cases"></a>

這些實際範例示範如何將對話設計原則套用至新 Amazon Lex V2 使用者遇到的常見案例。

### 使用案例 1：預約預訂
<a name="use-case-appointment-booking"></a>

**案例：**醫療辦公室想要自動化預約排程。

**挑戰：**使用者需要提供多項資訊 （服務類型、日期、時間、聯絡資訊），並可能想要變更詳細資訊。

**解決方案方法：**
+ **Start Broad：**「您想要安排哪種類型的預約？」 （牙科、眼睛檢查、諮詢）
+ **縮小範圍：**「您何時偏好您的牙科預約？」 （接受彈性輸入，例如「下週」或「星期五下午」)
+ **確認和提議變更：**「您是否已排定在 3 月 15 日星期五下午 2 點進行洗牙。這是否適用於您？」
+ **處理變更：**如果使用者說「我們可以改為下午 3 點嗎？」，請更新時間而不重新啟動整個程序。

**關鍵技巧：**
+ 使用 [AMAZON.Date](built-in-slot-date.md)和 [AMAZON.Time](built-in-slot-time.md)進行彈性的日期/時間輸入
+ 建立預約類型的自訂槽類型
+ 在完成預訂之前，請使用確認提示

### 使用案例 2：訂單狀態查詢
<a name="use-case-order-tracking"></a>

**案例：**電子商務公司希望客戶在不呼叫支援的情況下檢查訂單狀態。

**挑戰：**使用者可能沒有方便的訂單號碼，或以不同的方式詢問。

**解決方案方法：**
+ **多個進入點：**接受「我的訂單在哪裡？」、「追蹤我的套件」或「訂單狀態」
+ **彈性識別：**「我可協助您追蹤訂單。您有訂單號碼，還是偏好使用您的電子郵件地址？」
+ **實用指引：**「您的訂單號碼通常在您的確認電子郵件中，並以「ORD-」開頭
+ **清除結果：**「訂單 \$1ORD-12345 於昨天運送，將於明天晚上 8 點前送達。您想要追蹤詳細資訊嗎？」

**關鍵技巧：**
+ 針對訂單號碼使用內建插槽類型，例如 AMAZON.AlphaNumeric 
+ 提供多種識別訂單的方式 （電子郵件、電話、訂單號碼）
+ 在回應中提供明確、可行的資訊

### 使用案例 3：常見問答集和支援
<a name="use-case-faq-support"></a>

**案例：**軟體公司想要自動處理常見的支援問題。

**挑戰：**使用者以許多不同的方式提出相同的問題，有些問題需要人為協助。

**解決方案方法：**
+ **廣泛意圖辨識：**訓練意圖以辨識變化，例如「我無法登入」、「登入問題」、「密碼無法運作」
+ **引導式疑難排解：**「讓我們嘗試幾個快速步驟。首先，您是否嘗試重設密碼？」
+ **呈報路徑：**「如果這些步驟無法運作，我可以將您與我們的支援團隊連線。您希望我這樣做嗎？」
+ **後續：**「這是否解決了您的問題？ 如果您需要其他協助，您可以隨時說出「help」。」

**關鍵技巧：**
+ 使用許多範例表達用語來擷取使用者表達問題的不同方式
+ 提供step-by-step指引，而非冗長的說明
+ 當自動化協助不足時，一律提供人類支援的路徑

### 處理複雜案例
<a name="handling-complex-scenarios"></a>

即使是簡單的機器人也會遇到複雜的情況。以下是如何正常處理它們的方法：
+ **當使用者改變主意時：**
  + 使用者：「實際上，我想要玫瑰而不是鬱金香」
  + 機器人：「沒問題！我已將訂單更新為玫瑰。您的玫瑰將在星期五下午 2 點準備好收件。是否正確？」
+ **當資訊不清楚時：**
  + 使用者：「我下週需要花」
  + 機器人：「我很樂意提供協助！下週哪一天最適合您？ 您可以說像是「星期一」或「下星期二」。
+ **當機器人不了解時：**
  + 使用者：「我想要具有長幹的紫色幹線的幹線」
  + 機器人：「我想要確定我做對了。您在尋找紫色花朵嗎？ 我們提供紫色玫瑰、紫色鬱金香和紫色日出。」
+ **當使用者需要重新開始時：**
  + 使用者：「取消此動作，我想要重新開始」
  + 機器人：「當然！我已清除您目前的訂單。您今天想要訂購哪種類型的花？」