本指南說明如何使用 Dialogflow CX 控制台,透過流程建構及測試簡單的訂購襯衫代理程式。與這個智慧助理互動時,你可以詢問商店位置、營業時間,或訂購襯衫。
本指南的完成代理程式會由控制台繪製成圖表,如下所示:

事前準備
閱讀本指南之前,請先完成下列工作:
建立虛擬服務專員
為本指南建立新代理程式:
- 開啟 Dialogflow CX 控制台。
- 建立或選擇專案。
- 按一下「建立代理程式」。
- 選取「自行建立」。
- 填寫基本服務專員設定表單:
- 按一下 [儲存]。
選擇性匯入代理
本指南會逐步說明如何建構簡單的襯衫訂購代理程式。如要略過控制台步驟,可以下載代理程式並匯入。
預設流程和意圖
系統會為新代理程式自動建立下列流程和意圖:如要查看意圖,請依序點按「管理」和「意圖」。 按一下「建構」即可找到流程。
| 字詞 | 定義 |
|---|---|
| 預設歡迎意圖 | 「Default Welcome Intent」(預設歡迎意圖) 具有簡單的訓練詞組,例如「你好」或「哈囉」,可比對使用者一開始的輸入內容。您可以視需要編輯這項意圖。 |
| 預設否定意圖 | 您可以透過預設排除意圖,將訓練詞組新增至這個意圖做為排除範例。 |
| 預設啟動流程 | 預設啟動流程可做為唯一流程。本指南只會使用這個流程。如要建立更複雜的代理程式,可以新增更多流程。這個流程具有預設的意圖路徑,並以預設的歡迎意圖做為意圖條件。 |
測試預設歡迎訊息
預設流程和意圖可處理基本對話,只會顯示歡迎訊息。如要測試新代理程式,請按照下列步驟操作:
- 按一下「測試代理程式」按鈕,開啟模擬器。
- 在文字輸入框中輸入
hello,然後按 Enter 鍵。 - 代理程式會回覆預設歡迎訊息。
- 關閉模擬器。

代理程式針對這項使用者輸入內容採取的步驟如下:
- 您提供輸入內容時,「Default Start Flow」是有效流程,而「flow's start page」是有效頁面。套用至有效流程的每個狀態處理常式都在範圍內,因此代理程式會評估這些處理常式。
- 其中一條評估路線的意圖要求為預設的歡迎意圖。您的輸入內容符合這個意圖,因此系統呼叫了路徑。
- 所呼叫的路徑有多個完成回應訊息。 代理程式隨機挑選一個,並加入回應佇列。
- 所呼叫的路徑沒有轉換目標,因此作用中的流程和頁面並未變更。
- 服務專員會回覆回應佇列的內容。
編輯歡迎回覆訊息
你可以變更這則歡迎訊息。 如要編輯歡迎回覆訊息,請按照下列步驟操作:
- 按一下「Build」(建構) 分頁標籤。
- 在「流程」部分選取「預設開始流程」。
- 按一下圖表中的「Start Page」節點。 這是「預設啟動流程」的起始頁面。
- 找出以「Default Welcome Intent」做為意圖需求的路線,然後按一下該路線。 畫面上會開啟面板,供您編輯意圖路徑資訊。
- 找到「完成」部分,然後在「專員回覆」子部分下方,刪除所有回覆訊息,
然後新增
Hello, this is a shirt ordering virtual agent. How can I help you?做為唯一的回覆。 - 按一下 [儲存]。
- 關閉路線編輯面板。

測試更新後的歡迎訊息
如要測試更新後的回覆:
- 按一下「測試代理程式」按鈕,開啟模擬器。
- 在文字輸入框中輸入
hello,然後按 Enter 鍵。 - 代理程式會回覆新訊息。
- 關閉模擬器。
商店位置頁面
Dialogflow CX 對話 (工作階段) 可以描述為狀態機,並以視覺化方式呈現。CX 工作階段的狀態以「頁面」表示。目前只有一個頁面,因此服務專員的用處不大。在本節中,您會建立另一個頁面,處理有關商店位置的問題。
建立地點意圖
意圖可以將使用者在一個對話回合中的意圖歸類。如要建立意圖,在使用者輸入內容要求商店位置時比對:
- 選取「管理」分頁標籤。
- 點選 [Intents] (意圖)。
- 點選「建立」。
- 輸入
store.location做為意圖顯示名稱。 - 輸入下列訓練詞組:
Where is the store?DirectionsTell me the addressWhere do I pick up my order?How do I get there?Where is the store located?What street are you on?What is your address?How do I get to your store?Where are you located?
- 按一下 [儲存]。

建立地點頁面
現在建立新網頁。 您可以在這個頁面中加入項目完成,每當頁面處於啟用狀態時,系統就會呼叫該項目。這項項目應包含提供商店位置的回覆訊息。如要建立商店位置頁面,請按照下列步驟操作:
- 按一下「Build」(建構) 分頁標籤。
- 在「流程」部分選取「預設開始流程」。
- 按一下「頁面」部分中的「新增」add 按鈕。系統會顯示頁面顯示名稱的文字輸入欄位。
- 輸入
Store Location做為頁面的顯示名稱,然後按下 Enter 鍵。 - 按一下頁面顯示名稱旁邊的選項按鈕 more_vert。
- 選取「編輯」,開啟頁面編輯面板。
- 找到「Entry fulfillment」(項目完成) ,然後按一下「Edit fulfillment」(編輯完成)。
- 按一下「+Add dialogue response」(新增對話回應),在「Agent responses」(代理程式回應) 區段的「Agent dialogue」(代理程式對話) 欄位中輸入
Our store is located at 1007 Mountain Drive, Gotham City, NJ.。 - 按一下 [儲存]。
- 關閉頁面編輯面板。

在流程中新增想前往的位置路徑
現在您需要建立路徑,將商店位置頁面設為轉場目標。呼叫這條路徑時,工作階段會轉換至商店地點頁面。這個路徑會套用至「預設開始流程」,因此只要流程處於啟用狀態,這個路徑就會在範圍內。如果是單一流程的代理程式,這表示路徑一律在範圍內。在對話的任何時間點,終端使用者都可以詢問商店位置,系統會呼叫這條路徑。
如要建立這條路線:
- 按一下「Build」(建構) 分頁標籤。
- 在「流程」部分選取「預設開始流程」。
- 按一下圖表中的「Start Page」節點。 這是「預設啟動流程」的起始頁面。
- 新增下列意圖路徑:
- 意圖:
store.location - 轉移頁面:
Store Location
- 意圖:
- 按一下 [儲存]。
- 關閉意圖路徑編輯面板。

關閉編輯面板後,請注意新頁面在圖表上會有節點。從「開始」節點到「商店位置」節點的箭頭,表示工作階段如何從一個節點轉換到另一個節點。
測試商店位置頁面
如要測試網頁,請按照下列步驟操作:
- 按一下「測試代理程式」按鈕,開啟模擬器。
- 輸入
What is the store location?,然後按下 Enter 鍵。 - 服務專員會提供地址。
- 關閉模擬器。
代理程式對使用者輸入內容採取了下列步驟:
- 您提供輸入內容時,「Default Start Flow」是有效流程,而「flow's start page」是有效頁面。套用至有效流程的每個狀態處理常式都在範圍內,因此代理程式會評估這些處理常式。
- 其中一條評估路徑的意圖需求為 store.location。 您的輸入內容符合這個意圖,因此系統呼叫了路徑。
- 所呼叫的路徑沒有任何完成回覆訊息,因此未在回覆佇列中新增任何內容。
- 呼叫的路徑有轉場目標,因此有效頁面已變更為「商店位置」頁面。
- 「Store Location」(商店位置) 頁面有出貨項目,因此出貨項目的回應訊息已新增至回應佇列 (地址)。
- 服務專員回覆了回覆佇列的內容。
使用內嵌建立功能建立商店營業時間頁面
在本節中,您將建立「營業時間」頁面,處理使用者對營業時間的疑問。在先前的章節中,您從「建構」和「管理」分頁建立了頁面和意圖。本節將說明如何使用內建建立功能,以更快速的方式建立這類項目。
如要內嵌建立意圖路徑、意圖和頁面,請按照下列步驟操作:
- 按一下圖表中的「Start Page」節點。
- 在「路線」旁,按一下 add「新增」。 意圖路徑編輯面板隨即開啟。
- 在「意圖」部分中,選取「新增意圖」。 意圖編輯面板隨即開啟。
建立
store.hours意圖,並加入以下訓練詞組:What are your store hours?What time do you close?
按一下「儲存」即可儲存意圖。 意圖編輯面板隨即關閉。
在路徑編輯面板中,向下捲動至「轉場」部分。
如要進行「頁面」轉換,請選取「新頁面」。
在顯示的文字輸入欄位中輸入
Store Hours。按一下「儲存」。 圖表上會顯示新頁面,因為現在有導向該頁面的轉場效果。
關閉路線編輯面板。
新增提供商店營業時間的項目履行方式,步驟與商店地點類似。
關閉所有開啟的編輯面板。
訂單項目頁面
接著,您將建立使用表單參數的頁面。當使用者要求訂購新襯衫時,工作階段會轉移至這個頁面。啟用後,這個頁面會收集襯衫訂單的尺寸和顏色。
建立襯衫尺寸的自訂實體類型
實體類型可用來控管系統從使用者輸入內容中擷取資料的方式。Dialogflow CX 提供預先定義的系統實體,可以比對許多常見的資料類型。舉例來說,您可以使用系統實體來比對日期、時間、顏色、電子郵件地址等。您也可以自行建立自訂實體來比對自訂資料。
這個代理程式可使用襯衫顏色的系統實體,但您需要建立襯衫尺寸的自訂實體。大小實體類型應包含下列實體項目:
| 實體 | 同義詞 |
|---|---|
| S 號 | small、tiny、little |
| 中 | 中等、一般、平均 |
| large | large、big、giant |
如要建立這個實體:
- 選取「管理」分頁標籤。
- 按一下「實體類型」。
- 點選「+建立」。
- 將顯示名稱設為
size。 - 新增上表列出的實體項目。
- 按一下 [儲存]。
建立含有意圖參數的訂單意圖
當使用者要求訂購新襯衫時,您需要比對意圖。 如果使用者預先提供所需襯衫的顏色和/或尺寸,這個意圖也應選擇性擷取這些資訊。
參數可用於擷取及參照使用者在工作階段中提供的值。每個參數都有顯示名稱和實體類型。 不同於原始使用者輸入內容,參數是結構化資料,可輕鬆用於執行某些邏輯或產生回應。
您可以為訓練詞組的部分內容「加註」,並設定相關聯的意圖參數,藉此控制意圖比對的擷取方式。例如,假設有一個「What is the forecast tomorrow for Tokyo?」(東京明天的天氣預報為何?) 之類的訓練詞組。您應使用 date 參數為「tomorrow」(明天) 加註,並使用 location 參數為「Tokyo」(東京) 加註。當您為訓練詞組的部分內容加註時,Dialogflow CX 會辨識這些部分只是使用者會在執行階段提供的實際值範例。針對「What is the forecast on Friday for Sydney?」(雪梨星期五的天氣預報為何?) 這類的使用者輸入內容,Dialogflow CX 會從「Friday」(星期五) 擷取 date 參數,並從「Sydney」(雪梨) 擷取 location 參數。
如要使用主控台為訓練詞組加註:
- 選取要為訓練詞組加註的部分。
- 從清單中選取所需的實體類型。
- 系統會在下方的參數表中為您建立參數。
按照上述步驟建立類似的意圖。
將這個意圖命名為 order.new。
針對含有顏色的每個片語,使用 color 參數和 @sys.color 系統實體類型標註顏色。針對含有襯衫尺寸的每個詞組,使用 size 參數和您在先前步驟中建立的 @size 自訂實體類型,為尺寸加上註解。訓練詞組和參數應如下所示:

建立訂購頁面
按照與先前步驟類似的步驟,建立新的訂單頁面:
- 顯示名稱:
New Order - 填寫項目:
Ok, let's start a new order.
在訂單頁面中新增表單
您可以為每個網頁定義表單,也就是要從網頁的終端使用者收集的參數清單。代理程式會與使用者進行多輪對話,直到收集到所有必要表單參數 (也稱為網頁參數) 為止。您也必須為每個表單參數提供提示,讓代理程式向使用者索取該資訊。這項程序稱為「填寫表單」。
當使用者提供意圖參數來比對意圖時,意圖參數會變成工作階段參數。網頁首次啟用時,系統會使用任何同名的工作階段參數,預先填入所有表單參數。因此,如果使用者在比對出 order.new 意圖時提供大小或顏色,系統就會自動填入表單。
在新訂單頁面中,您需要定義兩個必要表單參數:
| 必填 | 顯示名稱 | 實體類型 | 清單 | 提示詞 |
|---|---|---|---|---|
| color | @sys.color | 你想要什麼顏色? | ||
| 大小 | @size | 你想要什麼尺寸? |
如要新增這份表單,請按照下列步驟操作:
- 按一下圖表中的「New Order」頁面。
- 按一下「參數」新增 add 按鈕。 參數編輯面板隨即開啟。
- 按照上表說明新增參數。
- 按一下 [儲存]。
- 關閉參數編輯面板。
在流程中新增訂單意圖路徑
與上述步驟類似,將路由新增至「預設啟動流程」。當使用者想下新訂單時,應呼叫這個路徑:
- 意圖:order.new
- 轉換目標網頁:「新訂單」
確認頁面
最後一頁會確認訂單,並結束工作階段。
建立確認頁面
建立確認頁面,並使用工作階段參數確認訂單:
- 顯示名稱:
Order Confirmation - 填寫項目:
You can pick up your order for a $session.params.size $session.params.color shirt in 7 to 10 business days. Goodbye.
在訂單頁面新增條件路徑
您也可以使用條件判斷是否要呼叫路徑。條件通常用於檢查表單是否填寫完畢,或設定為在評估時一律呼叫。
如要在控制台中設定條件,請參閱「設定條件」說明文件。
在訂單頁面中新增下列路徑,填寫訂單頁面表單時會呼叫這個路徑。請注意,這個條件路徑會在給予使用者的回應中參照參數,並將工作階段轉移至「Order Confirmation」(訂單確認) 頁面。
- 條件:
$page.params.status = "FINAL" - 代理商說:
You have selected a $session.params.size, $session.params.color shirt. - 轉移頁面:
Order Confirmation
在訂單頁面中新增下列路徑,系統會在頁面處於有效狀態且評估條件路徑時,針對每個對話輪流呼叫該路徑。評估並呼叫上述條件時,網頁會變成非使用中狀態,因此不會評估這個 true 條件路徑:
- 條件:
true - 代理商說:
I'd like to collect a bit more information from you.
建立條件路徑來結束工作階段
在「Confirm Order」(確認訂單) 頁面中新增下列條件路徑,在該頁面啟動並處理完畢後結束工作階段:
- 條件:
true - 轉換目標:網頁:
End Session
測試完成的代理
使用下列對話測試代理:
| 對話 | 說明 |
|---|---|
|
使用者:你好 服務專員:你好,我是負責訂購襯衫的虛擬服務專員。 需要什麼協助嗎? |
|
|
消費者:我想買藍色襯衫 服務專員:好的,我們來建立新訂單。 服務專員:我們想再收集一些資訊。 代理程式:What size do you want? (你要什麼尺寸?) |
|
|
使用者:large 代理程式:You have selected a large, blue shirt. 服務專員:你訂購的大號藍色上衣會在 7 到 10 個工作天內送達。再見。 |
|
正式版
在實際工作環境中執行代理程式之前,請務必採用實際工作環境最佳做法。