每個 playbook 應有一或多個範例。 這些範例是使用者與 playbook 之間的對話樣本,包括代理執行的對話和動作。這些範例實際上就是 LLM 的少量樣本提示。
控制台提供介面,可讓您輸入動作。
多語言代理程式
如要讓代理處理多種語言,範例應使用各種語言。
輸入摘要和輸出摘要範例
除了輸入和輸出參數外,Playbook 還支援接收輸入摘要和發出輸出摘要,以便與其他 Playbook 交換資訊。摘要適合用於在應對手冊之間傳遞抽象的背景資訊,而參數則更適合用於在應對手冊之間傳遞結構化、定義明確的欄位。參數是流程和應對手冊之間交換資料的唯一方式。
在範例中加入相關輸入摘要,讓應對手冊在執行階段根據輸入摘要調整動作。新增輸出摘要,包括範例對話的相關準確詳細資料,讓 Playbook 瞭解哪些細節是摘要重點。
範例狀態
在對話中的特定時間點,Playbook 會處於下列其中一種狀態:
OK:應對手冊已成功達成目標,控制權將轉移至父項應對手冊。CANCELLED:使用者決定不繼續執行指派給應對手冊的目標。控制權現在會轉移至父項應對手冊。如果父項 playbook 是 CX 流程,系統會在流程執行前偵測使用者輸入內容的意圖。FAILED:發生錯誤 (例如工具傳回 500 錯誤),因此應對手冊無法繼續執行目標。工作階段會以失敗狀態結束。系統會在回覆中加入 EndInteraction 訊息。ESCALATED:Playbook 判定無法達成目標,需要將情況提報給真人。工作階段結束時,狀態會是「已提報」。 系統會在回覆中加入 EndInteraction 訊息。PENDING:對話仍在應對手冊中繼續。
頂層範例和其 Playbook 叫用應以狀態表示,該狀態對應至參照的 Playbook。
選取策略
選取策略設定可控管是否將範例納入傳送至 LLM 的 playbook 提示詞。可用選項如下:
動態選取:根據範例與目前對話內容的關聯性,有條件地納入範例。如果提示詞接近詞元數量上限,則可省略範例。
一律選取:無論對話情境為何,一律納入範例。如果提示詞接近詞元數量上限,則可能會省略範例。
永不選取:提示中一律不包含該範例。範例不會影響 playbook 的成效。 這項設定適合用於暫時排除範例,以便進行測試。
新增動作
應對手冊中的範例包含一系列動作。這些動作的組合可能不盡相同,但主要描述使用者與緊急應變手冊之間的互動,以及為滿足使用者查詢或需求而採取的動作。
在範例中新增動作的方法有兩種:
- 如要手動新增動作,請按一下右側窗格底部的「+」按鈕,或將指標懸停在現有動作上時,按一下「Add action」按鈕。點選「+ 範例」選項建立新範例,或編輯現有範例時,可以使用這些選項。
- 如要根據現有的 Playbook 指示自動生成動作,請在右側窗格底部的「Enter user input」(輸入使用者輸入內容) 欄位中輸入使用者輸入內容。建立或編輯範例時,可以使用這個選項。或者,您也可以在右側的「Preview playbook」(預覽 Playbook) 窗格中,於執行階段測試 Playbook 時使用這個選項。如要將動作儲存至「Preview playbook」(預覽 Playbook) 窗格中的範例,請在「Preview playbook」(預覽 Playbook) 窗格左側的叫用清單中選取 Playbook 叫用,然後按一下「Save example」(儲存範例)。
請務必檢查自動生成的動作是否正確,並視需要編輯。如果 Playbook 只有少數或沒有範例,這點尤其重要。
playbook 支援下列類型的動作:
應對手冊回覆
應對手冊對使用者查詢的回覆。
使用者輸入內容
使用者查詢。
使用工具
這是工具叫用,用於取得滿足使用者查詢所需的額外資訊。這項動作應指定下列詳細資料:
Tool:應叫用的工具名稱。
Action:要叫用的 OpenAPI 工具作業名稱。如果是資料儲存庫工具和函式工具,動作名稱會與工具名稱相同。
工具輸入:要納入工具呼叫的輸入內容。這些資訊通常來自先前與使用者的對話。
如果是 Open API 工具,
requestBody、POSTPUT和PATCH方法類型必須使用 JSON。createPet 動作的開放式 API 工具
requestBody輸入範例:{ "id": 1, "name": "Luna" }如果是資料儲存庫工具,
requestBody範例中必須提供查詢,其他欄位則為選填。{ "query": "Where is my nearest store?", "filter": "country: ANY(\"United States\")", "userMetadata": { "userCity": "San Francisco", }, "fallback": "We don't have any stores in your area." }工具輸出內容:工具叫用的回覆。這是工具針對指定輸入內容傳回的有效 JSON 回覆。如果是 Open API 工具,也可以是字串錯誤 (例如「404 Not found」)。
listPets 動作的開放式 API 工具輸出內容範例:
{ "pets": [ { "id": 1, "name": "Luna" }, { "id": 2, "name": "Charlie" }] }樣本資料儲存庫工具輸出內容範例:
{ "answer": "Here's the address to your nearest store ...", "snippets": [ { "title": "San Francisco Downtown", "uri": "https://www.example.com/San_Francisco_Downtown", "text": "Address for San Francisco Downtown .." } ] }
為確保應對手冊安全無虞,請一併提供工具叫用失敗時,應對手冊應如何回應的範例。Open API 工具叫用失敗,可能會在工具輸出內容中顯示為錯誤字串 (「404 not found」)。如果是資料儲存庫工具,fallback 輸入內容可用於指定在沒有摘要答案時如何回覆。
如果希望資料儲存庫工具在 Playbook 回覆中包含 URI,請新增範例,並在其中加入您希望 Playbook 回覆的 URI。如果這個 URI 來自資料儲存庫工具,則資料儲存庫工具輸出內容應包含與教戰手冊回覆中相符的 URI。請注意,在這種情況下無法使用 fallback,因為這會停用 LLM Playbook 的功能,無法重新撰寫資料儲存庫工具答案,在 Playbook 回覆中加入 URI。
包含工具使用動作的範例可能會相當冗長,導致輸入權杖限制用量增加。為確保有效率地使用權杖,請確認工具輸出內容簡潔,且包含與 Playbook 目標相關的資訊。如果是資料儲存庫工具,請考慮從範例中移除程式碼片段,因為這些片段可能會導致輸入權杖用量偏高。
叫用應對手冊
如果應對手冊應叫用其他工作應對手冊來滿足使用者查詢,就會使用這項動作。這項動作應指定下列詳細資料:
- Playbook:要叫用的應對手冊名稱。
- Playbook 叫用輸入摘要:先前對話中相關部分的摘要,有助於叫用 Playbook。
- 輸入參數:要傳遞至應對手冊的輸入參數。
- Playbook 叫用輸出摘要:Playbook 達成目標後應生成的摘要。
- 輸出參數:Playbook 達成目標後產生的輸出參數。
應對手冊轉換
應對手冊轉換動作是終端動作 (不應接續其他動作),表示例行程序應對手冊已決定退出,並轉換至目標例行程序應對手冊。請注意,由於這項動作表示應對手冊已退出,因此請將應對手冊的輸出參數新增至範例的應對手冊輸出內容。
Flow 叫用
如要讓工作應對手冊叫用流程,請使用這項動作。這項動作應指定下列詳細資料:
- Flow:要叫用的流程名稱。
- 流程輸入參數:要傳遞至流程的輸入參數。
- 流程傳回參數:流程傳回的輸出參數。
流程轉換
流程轉換動作是終端動作 (不應接續其他動作),表示例行程序應對手冊已決定退出並轉換至目標流程。請注意,由於這項動作表示應對手冊會退出,因此請將應對手冊的輸出參數新增至範例的應對手冊輸出內容。