准备工作
- 实验会创建一个 Google Cloud 项目和一些资源,供您使用限定的一段时间
- 实验有时间限制,并且没有暂停功能。如果您中途结束实验,则必须重新开始。
- 在屏幕左上角,点击开始实验即可开始
Enable the Dialogflow and AI Applications APIs
/ 20
Create an Agent
/ 30
Test the agent
/ 50
透過 Conversational Agents,機器人設計人員將能以簡單、視覺化的方式建構機器人,打造對話式代理。除了能全面掌握整體的機器人建構程序,多位設計人員也能輕鬆合作建構同一個代理。用 Conversational Agents 打造的代理能理解並以多種語言回覆,不過本實驗室建構的代理只會使用英文。
在本實驗室,您將使用 Conversational Agents 控制台建構對話式代理。
請確定自己大概瞭解對話式 AI 的基本概念,並詳閱這些轉錄稿範例,瞭解客戶轉錄稿的大致樣貌。建立代理的第一步通常是詳閱客戶轉錄稿和/或其他脈絡資料,以瞭解用途和具體業務需求。
請詳閱以下操作說明。實驗室活動會計時,中途無法暫停。點選「Start Lab」後就會開始計時,顯示可使用 Google Cloud 資源的時間。
您會在實際雲端環境中完成 Qwiklabs 實作實驗室活動,而非模擬或示範環境。為此,我們會提供新的暫時憑證,供您在實驗室活動期間登入及存取 Google Cloud。
為了順利完成這個實驗室,請先確認:
注意:如果您擁有個人 Google Cloud 或專案,請勿用於本實驗室。
注意:如果您使用的是 Pixelbook,請在無痕視窗執行本實驗室。
點選「Start Lab」按鈕。如果實驗室會產生費用,畫面上會出現選擇付款方式的對話方塊。左側的「Lab Details」窗格會顯示下列項目:
點選「Open Google Cloud console」;如果使用 Chrome 瀏覽器,也能按一下滑鼠右鍵,選取「在無痕視窗中開啟連結」。
接著,實驗室會啟動相關資源,並開啟另一個分頁,顯示「登入」頁面。
提示:您可以在不同的視窗中並排開啟分頁。
如有必要,請將下方的 Username 貼到「登入」對話方塊。
您也可以在「Lab Details」窗格找到 Username。
點選「下一步」。
複製下方的 Password,並貼到「歡迎使用」對話方塊。
您也可以在「Lab Details」窗格找到 Password。
點選「下一步」。
按過後續的所有頁面:
Google Cloud 控制台稍後會在這個分頁開啟。
點選「Check my progress」,確認目標已達成。
「Conversational Agents」新頁面會隨即開啟。如果系統顯示彈出式視窗請您選取專案,請選擇專案 ID
在 Get started with Conversational Agents 彈出式視窗,選取「Build your own」。
在 Create agent 頁面,輸入 Flight booker 做為代理顯示名稱。
位置選擇「global」。
將「Conversation start」設為「Playbook」,然後點選「Create」按鈕。
如要為代理啟用記錄功能,請在「Agent Settings」頁面,點選「General」分頁標籤,然後向下捲動至 Logging settings 部分,勾選「Enable Cloud Logging」和「Enable Conversation History」旁的方塊。設定完畢後,系統便會為這個代理產生記錄。
點選「Save」。
點選「Check my progress」,確認目標已達成。
隨堂測驗
意圖是使用者與代理互動的原因,例如想訂購商品。您可以就使用者可能會想使用代理的各個主題建立意圖。
意圖可在不同頁面和流程中重複使用,每個意圖都是由使用者可能輸入的訓練詞組定義。您可以標註這些詞組或加上「標籤」,以收集特定參數,例如抵達城市或出發日期。
當您為意圖加入訓練詞組時,Conversational Agents 會提供建議註解,您也可以手動標註,從使用者與代理的互動中擷取所需參數值。
建議做法:為方便重複使用意圖及簡化維護工作,請為意圖取簡單明瞭的名稱。
意圖格式:category.some_description
格式範例:
main.book_a_flight
supplemental.flight_emissions
confirmation.yes、confirmation_no、redirect.live_agent。前往「Flows」,然後依序點選「Manage」分頁標籤和「Intents」,最後點選「+ Create」,即可建立新意圖。
在 Display name 部分輸入 main.book_a_flight。
在「Training Phrases」標題下方,將下列每個詞組新增至 Custom training phrase 欄位,每輸入一個詞組後請按 Enter 鍵:
點選「Save」。
流程可用於定義主題和相關的對話路徑。每個代理都有一個名為 Default Start Flow 的流程。簡單的代理可能只需要這一個流程就能運作,
較複雜的代理則或許需要額外流程,而不同的開發團隊成員會負責建構及維護這些流程。
每個流程都以頁面開頭,並由一或多個不同的後續頁面組成,用來處理特定流程的對話。使用者當下所處的頁面稱為運作頁面。您可以設定每個頁面,向使用者收集任何必要資訊。
代理的運作起始頁面稱為「Default Start Flow」。頁面會儲存路由邏輯、回覆 (又稱「執行要求」)、無法比對意圖時 (稱為「no-match」) 所採取的特定動作,或接收「no-input」(即代理未及時收到回覆)。
在「Flows」控制台,點選「Build」分頁標籤。
點選「Start Page」開啟頁面。
從 Start Page 展開的選項,選取「Routes」旁的「+」圖示。
從下拉式選單選取意圖「main.book_a_flight」,然後點選「Save」。
接著,在 Routes 部分點選「main.book_a_flight」路徑。
向下捲動至 Transition 部分,選擇「Page」圓形按鈕,然後從下拉式選單選取「+ new Page」。
將頁面命名為機票資訊,然後點選「Save」。
關閉視窗並返回流程的主畫面,即可看到新的「機票資訊」頁面已連結至「Start Page」。
現在流程一開始會先顯示問候訊息,並在比對到 main.book_a_flight 意圖時,進到「機票資訊」頁面。在機票資訊頁面,您會向使用者收集參數,以便為他們預訂航班。
實體定義您想從使用者身上擷取的資訊類型,例如要飛往的城市。您可以使用 Conversational Agents 內建的系統實體比對日期、時間、顏色、電子郵件地址等。
系統實體也可以「擴充」並納入預設系統值以外的值。如需打造完全客製化的實體,可以建立 Custom Entity 類型,以比對未列於系統實體中的業務專屬資料。
參數是使用者在工作階段期間提供的資訊,例如日期、時間和抵達城市。每個參數都有名稱與實體類型。這些屬性會採用蛇形命名法 (用底線連接的小寫字詞)
接著,您將使用實體向使用者擷取必要參數。
點選「機票資訊」頁面,然後點選「Parameters」旁的「+」,收集航班資料。
在「Display name」欄位輸入 departure_city。
從「Entity type」下拉式選單選擇 @sys.geo-city。
向下捲動至「Initial prompt Fulfillment」部分。在「Agent Responses」下方點選「+ Add dialogue response」,選取「Agent dialogue」,然後新增「您要從哪個城市出發?」。
點選「Save」。
關閉這個視窗以設定其他參數。
再次點選「Parameters」旁的「+」,按照下表的名稱、實體類型,以及代理提示使用者的方式,逐一建立另外 4 個參數。
| 顯示名稱 | 實體類型 | 代理對話 |
|---|---|---|
| departure_date | @sys.date | 出發的月份和日期是什麼時候? |
| destination_city | @sys.geo-city | 您要飛往哪個城市? |
| return_date | @sys.date | 回程航班的月份和日期是什麼時候? |
| passenger_name | @sys.any | 乘客姓名為何? |
建立完畢後,這些項目會按以下形式列出:
隨堂測驗
代理收集到 5 個必要的航班預訂參數後,就會透過路由條件將使用者導向其他頁面,而本節將說明如何建立條件。
關閉「Parameters」視窗,再次返回「機票資訊」頁面。
向下捲動到「Routes」,然後點選旁邊的「+」圖示。
向下捲動至「Condition」,然後依序點選「Condition rules」>「Match AT LEAST ONE rule (OR)」
在「Parameter」欄位輸入 $page.params.status。
在 Operand 下拉式選單,選擇「=」符號。
在 Value 欄位中輸入 "FINAL" (務必加上雙引號)。
點選「Save」。
隨堂測驗
本節中您將新增回覆,在收集到所有 5 個預訂參數時向使用者顯示。這些回覆稱為「執行要求」。
在剛才設定條件的畫面稍微向下捲動,找到「Fulfillment」部分。
向下捲動至「Fulfillment」部分。在「Agent Responses」下方點選「+ Add dialogue response」,選取「Agent dialogue」,然後新增感謝您提供資訊,我會確認是否有可預訂的機票。
(請先不要關閉這個頁面,並繼續閱讀下一個有關確認資訊的步驟。)
提供回覆 (即「執行要求」) 後,您需要建立轉換機制,向使用者重複顯示收集到的旅遊資訊 (即參數),以確認其正確性。
繼續向下捲動畫面 (跳過剛才建立的「Fulfillment」區塊),找到「Transition」部分。
選取「Page」圓形按鈕,然後從下拉式選單中選擇「+ new Page」。
在「Page name」欄位輸入確認行程。
點選「Save」。
關閉視窗。
查看到此為止建立的 3 頁面流程。
工作階段參數會儲存「先前收集」的使用者資訊,並在整個工作階段持續有效,方便您向使用者重複顯示資訊。
舉例來說,代理可以重複乘客姓名:$session.params.passenger_name,感謝您提供資訊。使用者實際會看到王小明,感謝您提供資訊。
格式如下:
如果要參照出發城市,結構會像這樣:$session.params.departure_city
請在「Build」檢視畫面,依序點選「確認行程」頁面 >「Entry fulfillment」>「Edit fulfillment」欄位。
由於您使用了 5 個參數,因此可以透過下列工作階段參數,將這些參數重複顯示給使用者。依序前往「Agent responses」>「+ Add dialogue response」>「Agent dialogue」部分,然後貼上以下文字:
完成後點選「Save」。
對話式代理重複顯示收集到的工作階段參數時,使用者會看到以下內容:
關閉視窗,返回「確認行程」頁面,然後點選「Routes」旁邊的「+」。
點選「Intents」下拉式選單,然後點選「+ new intent」。
在 Display name 部分輸入 confirmation.yes。
在「Training phrases」部分輸入是,然後點選「Add」 (也可以新增「正確」、「沒錯」等詞組,提升這個意圖的 NLU 配對準確度)。
點選「Save」。
儲存後,向下捲動至 Fulfillment 部分。在「Agent Responses」下方點選「+ Add dialogue response」,選取「Agent dialogue」,然後輸入太棒了,您的航班已預訂完成!
完成後點選「Save」。
點選「Route」旁的返回箭頭。
現在您要新增另一個邏輯,在使用者表示資訊有誤時重新收集航班參數。
同樣在「Routes」部分選取「Add route」。
從「Intent」下拉式選單選擇「+ new intent」。
在「Display name」欄位,將意圖命名為 confirmation.no。
向下捲動至「Training phrases」部分,輸入否,然後點選「Add」。
點選「Save」。
接著,向下捲動至「Transition」>「Page」部分,然後從下拉式選單選擇「機票資訊」。
向上捲動至「Parameter presets」,然後點選「Add parameter」。輸入下列 5 個值,並將其值指定為 null (不加引號)。
| 參數 | 值 |
|---|---|
departure_city |
null |
destination_city |
null |
departure_date |
null |
return_date |
null |
passenger_name |
null |
這個步驟的目的是移除先前向使用者收集的值,以便他們提交新值。如果略過這個步驟,機器人可能會陷入無限迴圈!
點選「Save」。
關閉視窗並返回「Build」檢視畫面,現在您應會看到所有 3 個頁面的流程走向。注意到最後一個頁面的確認行程和機票資訊頁面之間有兩個箭頭,因為 confirmation.no 意圖會將使用者導回前一個頁面。
隨堂測驗
現在您將測試代理是否能正常運作,請點選畫面右上方的「Toggle Simulator」圖示。
在「Preview: Default Start Flow」頁面的「Start Resource」部分,選取「Default Start Flow」並測試代理。
以一般使用者的身分與代理互動。進行主要流程的各階段時,請留意您建立的頁面、意圖和轉換機制。
視您安排的參數收集順序而定,您可以嘗試輸入下列範例對話:
您應能透過代理順利完成交易,也就是使用者體驗俗稱的滿意路徑。
下方是在「Test Agent」控制台中測試上述代理的範例:
點選「Check my progress」,確認目標已達成。
為專案建構代理後,可以將其匯出並用於其他專案。您可以匯出並儲存代理,在日後的實驗室使用,或繼續在個人專案中建構!
在 Conversational Agents 控制台頂端的「Agent」下拉式選單,點選「View all agents」。
在「Agent」清單畫面,依序點選代理旁邊的內容選單和「Export」。
在「Export agent」畫面,選擇「Download」以下載為本機檔案,然後點選「Export」。
您已成功建構完整的 Conversational Agents 流程,包括建立代理,以及定義意圖、結構化流程和頁面,並使用實體與參數擷取資料。您也定義了條件、執行要求回覆,並仔細測試代理,透過本實驗室深入掌握對話式代理的開發技巧。
使用手冊上次更新日期:2025 年 5 月 29 日
實驗室上次測試日期:2025 年 5 月 29 日
Copyright 2026 Google LLC 保留所有權利。Google 和 Google 標誌是 Google LLC 的商標,其他公司和產品名稱則有可能是其關聯公司的商標。
此内容目前不可用
一旦可用,我们会通过电子邮件告知您
太好了!
一旦可用,我们会通过电子邮件告知您
一次一个实验
确认结束所有现有实验并开始此实验