應對手冊評估

本指南說明如何使用 Dialogflow CX 控制台的內建評估功能,驗證代理程式的功能,並防止更新後發生任何回歸情形。Dialogflow 提供現成指標,協助您評估代理程式的成效。

除了延遲時間以外,所有指標都需要至少一個測試案例,也就是「黃金回應」,Dialogflow 會比較代理程式的成效與黃金回應,藉此計算代理程式的成效。每個測試案例都可以在「環境」中評估,方便您指定要在代理程式的效能評估中使用不同版本的劇本、流程和工具。

(選用) 建立環境

建立環境是選用步驟。如未建立,預設值為「草稿」

  1. 如要建立環境,請按一下左選單中的「環境」,然後選取「+ 建立」
  2. 選擇要用來評估服務專員成效的劇本、流程和工具版本。
  3. 按一下「儲存」即可儲存環境。

建立測試案例

您可以從對話記錄中的現有對話建立測試案例、建立新對話並儲存為測試案例,或是將測試案例匯入 Dialogflow。

在控制台中建立測試案例

  1. 前往左選單中的「對話記錄」
  2. 如要建立新對話,請啟用代理程式 (例如撥打代理程式的電話號碼),在對話記錄中建立對話。選取要當做測試案例的對話。
  3. 查看對話並驗證代理的回覆、叫用的工具,以及每則回覆的語氣。確認沒問題後,按一下視窗右上角的「建立測試案例」
  4. 提供測試案例的顯示名稱,並指定您對對話層級事件的期望。這包括您預期在對話中呼叫的工具、劇本和流程。按一下「+ 新增期望」即可新增更多期望。如要依列出的順序 (由上而下) 評估期望值,請切換「依序驗證」
  5. 按一下「儲存」即可儲存測試案例。

上傳測試案例

  1. 測試案例必須採用下列 CSV 格式
  2. 如要將測試案例上傳至系統,請按一下測試案例選單頂端的「匯入」
  3. 在彈出式選單中,選取本機儲存的檔案,或輸入檔案的 Cloud Storage 值區路徑。
  4. 測試案例現在應該會顯示在測試案例選單中。

執行測試案例

  1. 按一下左側選單中的「測試案例」,然後選取要用來比較代理程式的測試案例。可以是單一或多個測試案例。
  2. 按一下「執行選取的測試案例」

測試結果

  1. 存取結果:完成後,每個測試案例的最新測試執行結果會顯示在「測試案例」檢視畫面中:
    1. 語意相似度:衡量代理程式的對話與「黃金回應」(測試案例中的回應) 的相似程度。如要取得這項指標,必須提供黃金回覆。值可以是 0 (不一致)、0.5 (有些一致) 或 1 (非常一致)。
    2. 工具呼叫準確度:這個值反映對話中是否忠實地包含預期在對話期間呼叫的工具。值的範圍為 0 到 1。如果對話中未使用任何工具,準確度會顯示為 -- (不適用)。
    3. 延遲時間:代理程式處理使用者要求並回應使用者所花費的總時間 (使用者語音結束與代理程式開始回應之間的時間差)。單位為秒。
  2. 更新黃金測試案例:如果最新一次的執行結果反映了因代理程式更新而產生的預期變更,您可以點選「儲存為黃金測試案例」,覆寫原始測試案例。
  3. 篩選及排序結果:您可以依據任何生成的指標或特定環境,篩選及排序評估結果。這項功能有助於追蹤每次更新後的成效變化。

批次匯入測試案例的格式

本節說明如何格式化 CSV 檔案,以便匯入代理程式的批次測試案例。系統會讀取這個檔案,建立一組結構化的測試案例,每個案例都包含一或多個對話回合。

單一測試案例可能會跨越多個 CSV 檔案列。測試案例的第一列會定義整體屬性 (例如名稱和語言)。該測試案例的後續每一列,都會定義對話中的單一來回回合 (使用者說了什麼,代理程式預期會回覆)。

CSV 檔案的第一行必須是標頭列。這個標頭會定義每個資料欄中的資料。

必要標頭

這兩個必要標題的順序必須如上所示。新測試案例的第一列必須同時包含這兩項資訊。您可以提供新的 DisplayNameLanguageCode 值,開始新的測試案例。

  • DisplayName:測試案例的名稱。只有新測試案例的第一列會填入這項資料。
  • LanguageCode:測試的語言代碼 (例如 enen-USes)。

選用標頭

您可以加入下列任何選用標頭,為測試案例提供更多詳細資料。在最開始的兩個必要資料欄之後,這些資料欄可以按任意順序排列。

測試案例中繼資料

  • 標記:以空格分隔的標記,用於整理測試 (例如「payments onboarding」)。
  • 附註:任意文字附註或測試案例目的說明。
  • TestCaseConfigV2.StartResource:指定要開始測試的流程或劇本。

使用者輸入

  • UserInput.Input.Text:使用者在特定回合「輸入」的文字。
  • UserInput.InjectedParameters:要在回合開始時注入對話的參數,格式為 JSON 字串。

服務專員輸出內容

  • AgentOutput.QueryResult.ResponseMessages.Text:您斷言代理程式回覆的確切文字。
  • AgentOutput.QueryResult.Parameters:您聲明由代理程式擷取的參數,格式為 JSON 字串。

預期情況

  • OrderedExpectations.ExpectedFlow:輪到你時預期會啟用的流程。
  • OrderedExpectations.ExpectedIntent:您預期回合會比對到的意圖。
  • OrderedExpectations.ExpectedAgentReply:您預期代理程式回覆的文字。可以是完整回覆的子字串。
  • OrderedExpectations.ExpectedOutputParameter:您預期在回合結束時設定的參數,格式為 JSON 字串。

音訊中繼資料

  • AudioTurnMetadata 音訊測試的中繼資料,格式為 JSON 字串。

建立測試案例

測試案例會依資料列整理。

  1. 如要開始新的測試案例,請填寫其資料列的中繼資料。
    • 規則:這一列的「DisplayName」欄必須有值。
    • 動作:輸入 DisplayNameLanguageCode 的值。您也可以在這列中新增標記、附註或 TestCaseConfigV2.StartResource。 請將這列中的對話回合資料欄 (例如 UserInput.Input.Text) 留空。如果使用標記,請以空格分隔每個標記。例如:tag1 tag2 tag3。如果使用 TestCaseConfigV2.StartResource,請在資源名稱加上 start_flow:start_playbook: 前置字串。例如:start_flow:projects/p/locations/l/agents/a/flows/f
  2. 在剛開始的測試案例中新增對話回合,方法是在下方立即新增資料列。
    • 規則DisplayName 欄必須空白。這會告知剖析器,這是屬於先前測試案例的回合。
    • 動作:填寫資料欄,說明使用者的動作和預期的代理程式回應,例如 UserInput.Input.TextOrderedExpectations.ExpectedAgentReply。如要為需要 JSON 的欄位提供資料,必須以字串形式提供有效的 JSON 物件。例如:{"param_name": "param_value", "number_param": 123}