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

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

代理程式會針對這項使用者輸入內容執行下列步驟:
- 提供輸入內容時,代理會評估有效範圍內的狀態處理常式,包括有效的「Default Start Flow」 和流程開始頁面。
- 代理程式會找出與「預設歡迎意圖」相符的路線,並執行該路線。
- 代理程式會隨機選取其中一則完成回應訊息,並加入回應佇列。
- 由於路徑沒有轉換目標,因此有效流程和頁面維持不變。
- 代理程式會將回應佇列的內容傳送給您。
編輯歡迎回覆訊息
如要編輯歡迎回覆訊息,請按照下列步驟操作:
- 按一下「Build」(建構) 分頁標籤。
- 在「Flows」部分選取「Default Start Flow」。
- 按一下圖表中的「Start Page」節點。
- 找出以「預設歡迎意圖」做為意圖需求的路線,然後按一下開啟路線編輯面板。
- 在執行要求部分的代理回應子部分中,刪除所有現有回應訊息。
- 新增
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」(建構) 分頁標籤。
- 在「Flows」部分選取「Default Start Flow」。
- 按一下「頁面」部分中的「新增」add 按鈕。系統會顯示頁面顯示名稱的文字輸入欄位。
- 輸入頁面的顯示名稱
Store Location,然後按下 Enter 鍵。 - 按一下頁面顯示名稱旁的 more_vert more_vert 按鈕。
- 選取「編輯」,開啟頁面編輯面板。
- 找到「Entry fulfillment」(項目完成),然後按一下「Edit fulfillment」(編輯完成)。
- 按一下「+Add dialogue response」,在「Agent responses」部分的「Agent dialogue」欄位中輸入
Our store is located at 1007 Mountain Drive, Gotham City, NJ.。 - 按一下 [儲存]。
- 關閉頁面編輯面板。

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

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

建立訂購頁面
建立新的訂單頁面:
- 顯示名稱:
New Order - 填寫報名表:
Ok, let's start a new order.
在訂單頁面中新增表單
您可以為每個頁面定義表單,也就是要向使用者收集的參數清單。代理程式會與使用者進行多輪對話,直到收集到所有必要的表單參數 (也稱為頁面參數) 為止。您也必須為每個表單參數提供提示,讓代理程式向使用者索取該資訊。這個過程稱為「填寫表單」。
當使用者提供意圖參數來比對意圖時,意圖參數會變成工作階段參數。頁面首次啟用時,系統會使用具有相同名稱的所有工作階段參數,預先填入表單參數。因此,如果使用者在比對出 order.new 意圖時提供大小或顏色,系統就會自動填入表單。
為「New Order」(新訂單) 頁面定義兩個必要表單參數:
| 必填 | 顯示名稱 | 實體類型 | 是否為清單 | 提示詞 |
|---|---|---|---|---|
| color | @sys.color | 你想要什麼顏色? | ||
| 大小 | @size | 你想要什麼尺寸? |
如要新增這份表單,請按照下列步驟操作:
- 按一下圖表中的「New Order」頁面。
- 按一下「參數」新增按鈕 add,開啟參數編輯面板。
- 按照上表說明新增參數。
- 按一下 [儲存]。
- 關閉參數編輯面板。
在流程中新增訂單意圖路徑
在「Default Start Flow」中新增路由,當使用者想下新訂單時,就會轉換至「New Order」頁面:
- 意圖: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.
在訂單頁面新增條件路徑
您可以使用條件判斷是否呼叫路徑。條件通常用於檢查表單是否填寫完畢,或設定為在評估時一律呼叫。
如要在主控台中設定條件,請參閱「設定條件」說明文件。
在訂單頁面新增下列路徑,填寫訂單頁面表單時會呼叫此路徑。這個條件路由會在傳送給使用者的回應中參照參數,並將工作階段轉移至「訂單確認」頁面。
- 條件:
$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.
建立條件路徑來結束工作階段
在「Order Confirmation」(訂單確認) 頁面中新增下列條件路由,在頁面啟用並處理進入點執行要求後,結束工作階段:
- 條件:
true - 轉換目標網頁:
End Session
測試完成的代理
使用下列對話測試代理:
| 對話 | 說明 |
|---|---|
|
使用者:你好 代理程式:你好,我是負責訂購襯衫的虛擬代理程式。 請問需要哪方面的協助? |
|
|
消費者:我想買藍色襯衫 服務專員:好的,我們來建立新訂單。 服務專員:我們需要收集更多資訊。 代理程式:What size do you want? (你要什麼尺寸?) |
|
|
使用者:large 代理程式:You have selected a large, blue shirt. (你已選取藍色大號襯衫。) 服務專員:你訂購的大號藍色上衣會在 7 到 10 個工作天內送達。再見。 |
|
準備投入正式環境
在正式環境中執行代理程式前,請先實作正式環境最佳做法。