應對手冊範例

每個 Playbook 都應包含一或多個範例。 這些範例是使用者與劇本之間的對話,包括代理程式執行的對話和動作。這些是 LLM 的少量樣本提示範例

控制台提供介面,可供您輸入動作。

多語言代理程式

如果希望代理程式處理多種語言,範例應使用每種語言。

輸入摘要和輸出摘要範例

除了輸入和輸出參數,劇本也支援接收輸入摘要和發出輸出摘要,以便與其他劇本交換資訊。摘要有助於在劇本之間傳遞抽象的情境資訊,而參數則有助於在劇本之間傳遞結構化且定義明確的欄位。參數是流程和劇本之間交換資料的唯一方式。

在範例中加入相關的輸入摘要,讓教戰手冊在執行階段根據輸入摘要調整動作。新增輸出摘要,包括範例對話的相關準確詳細資料,向劇本說明哪些詳細資料需要摘要。

範例狀態

在對話的特定時間點,劇本會處於下列其中一種狀態:

  • OK:應對手冊已成功達成目標,控制權現在會轉移至父項應對手冊。
  • CANCELLED:使用者決定不繼續執行劇本中指派的目標。 控制權現在會轉移至家長劇本。如果上層劇本是 CX 流程,系統會在流程執行前偵測使用者輸入內容的意圖。
  • FAILED:由於發生錯誤 (例如工具傳回 500 錯誤),劇本無法繼續執行目標。工作階段會以失敗狀態結束。回應中會加入 EndInteraction 訊息。
  • ESCALATED:教戰手冊判斷無法達成目標,因此需要將情況提報給專員。工作階段將以狀態升級結束。 回應中會加入 EndInteraction 訊息。
  • PENDING:對話仍在應對手冊中進行。

頂層範例及其劇本呼叫應以對應劇本的狀態標示。

選取策略

選取策略設定會控管是否要在傳送至 LLM 的劇本提示中加入範例。可用的選項如下:

  • 動態選取:系統會根據範例與目前對話內容的關聯性,有條件地加入範例。如果提示即將達到權杖上限,可以省略範例。

  • 一律選取:無論對話內容為何,一律會納入範例。如果提示即將達到權杖上限,系統可能會省略範例。

  • 永不選取:範例絕不會納入提示。 範例不會影響劇本的成效。 這項設定可暫時排除範例,以利測試。

新增動作

劇本中提供的範例包含一連串的動作。這些動作的組合可能有所不同,但主要描述使用者與劇本之間的互動,以及為滿足使用者查詢或需求而採取的動作。

新增動作至範例的方式有兩種:

  • 如要手動新增動作,請按一下右側窗格底部的「+」按鈕,或將指標懸停在現有動作上時,按一下「新增動作」按鈕。點選「+ 範例」選項建立新範例時,或編輯現有範例時,都可以使用這些選項。
  • 如要根據現有劇本指示自動生成動作,請在右側窗格底部的「輸入使用者輸入內容」欄位中輸入內容。建立或編輯範例時,可以使用這個選項。 或者,您也可以在右側的「預覽劇本」窗格中,於執行階段測試劇本時使用這個選項。如要將動作儲存至「預覽應對手冊」窗格中的範例,請從「預覽應對手冊」窗格左側的叫用清單中選取應對手冊叫用,然後按一下「儲存範例」

請務必檢查自動生成的動作是否正確,並視需要編輯。如果劇本的範例很少或沒有,這一點就特別重要。

劇本支援下列動作類型:

應對手冊回覆

劇本對使用者查詢的回應。

使用者輸入內容

使用者查詢。

使用工具

這是工具的呼叫,可取得履行使用者查詢所需的額外資訊。這項動作應指定下列詳細資料:

  • 工具:應叫用的工具名稱。

  • 動作:要呼叫的 OpenAPI 工具作業名稱。如果是資料儲存庫工具函式工具,動作名稱與工具名稱相同。

  • 工具輸入內容:要納入工具呼叫的輸入內容。 這些通常是根據先前與使用者的對話回合推導而來。

    如果是 Open API 工具requestBodyPOSTPUTPATCH 方法類型必須使用 JSON。

    範例 開放式 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 回應。 如果是開放式 API 工具,也可能是字串錯誤 (例如「找不到 404」)。

    範例 「Open API tool」 的 listPets 動作輸出內容:

    {
      "pets": [
        {
          "id": 1,
          "name": "Luna"
        },
        {
          "id": 2,
          "name": "Charlie"
        }]
    }
    

    Datastore 工具輸出內容範例:

    {
      "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 .."
        }
      ]
    }
    

為確保應對手冊萬無一失,請一併提供工具叫用失敗時,應對手冊應如何回應的範例。開啟 API 工具 工具輸出內容會以錯誤字串 (「404 not found」) 表示叫用失敗。 對於資料儲存庫工具,如果沒有摘要答案,可以使用 fallback 輸入內容指定如何回應。

如要讓資料儲存工具在劇本回應中加入 URI,請新增包含您希望劇本回應的 URI 的範例。如果這個 URI 來自資料儲存工具,則資料儲存工具的輸出內容應包含與劇本回應中 URI 相符的 URI。請注意,在此情境中無法使用 fallback,因為這會停用 LLM 劇本的功能,導致無法重新措辭資料儲存工具的答案,在劇本回覆中加入 URI。

包含工具使用動作的範例可能會相當冗長,導致輸入權杖限制用量增加。為確保有效使用權杖,請確認工具輸出內容簡潔明瞭,且包含與劇本目標相關的資訊。如果是資料儲存工具,請考慮從範例中移除程式碼片段,因為這些片段可能會導致輸入權杖用量過高。

應對手冊叫用

當應對手冊應叫用其他工作應對手冊來完成使用者查詢時,請使用這項動作。這項動作應指定下列詳細資料:

  • 應對手冊:要叫用的應對手冊名稱。
  • 應對手冊叫用輸入摘要: 前述對話中與叫用應對手冊相關的部分摘要。
  • 輸入參數輸入參數 要傳遞至應對手冊。
  • 應對手冊叫用輸出摘要: 應對手冊完成目標後應生成的內容摘要。
  • 輸出參數: 劇本完成目標後產生的輸出參數

應對手冊轉換

應對手冊轉換動作是終端動作 (不應接續其他動作),表示常式應對手冊已決定結束並轉換至目標常式應對手冊。請注意,由於這項動作表示應對手冊已結束,請將應對手冊的輸出參數新增至範例的應對手冊輸出內容。

流程叫用

當工作劇本應叫用流程時,就會使用這項動作。 這項動作應指定下列詳細資料:

  • 流程:要呼叫的流程名稱。
  • 流程輸入參數: 要傳遞至流程的輸入參數。
  • 流程回傳參數: 從流程傳回的輸出參數。

流程轉移

流程轉換動作是終端動作 (不應接續其他動作),表示例行應對手冊已決定結束並轉換至目標流程。請注意,由於這項動作表示應對手冊已結束,請將應對手冊的輸出參數新增至範例的應對手冊輸出內容。