應對手冊參數

Playbook 可使用明確定義的參數,接受及發出情境資訊。參數可用來儲存對話相關資訊,例如使用者選項、動作結果等。您可以在應對手冊和流程之間傳遞這些參數的值。

參數宣告

您可以定義輸入 (讀取) 參數和輸出 (寫入) 參數。

參數有名稱、說明和下列其中一種型別:

  • 字串
  • 數字
  • 布林
  • 工具專屬參數類型

您也可以指定參數是否為清單。

輸入 (讀取) 參數

您可以為每個應對手冊定義「輸入參數」(也稱為「讀取參數」),讓應對手冊使用從流程和其他應對手冊傳遞的值。舉例來說,playbook 可能會接收使用者偏好的名稱做為參數,並用來向使用者表達感謝,也可能會接收訂單 ID 做為參數,並使用工具擷取訂單詳細資料。

輸入參數是依各個 playbook 定義,且 playbook 預設不會顯示其他 Dialogflow CX 控制台參數類型。如果目標應對手冊有同名的輸入參數,當流程轉換至應對手冊時,頁面和工作階段參數會傳播至應對手冊。如要在轉換期間將資訊從流程傳遞至應對手冊,請定義應對手冊輸入參數,並使用與轉換前工作階段或頁面參數相同的名稱。

建立範例,控制輸入參數值對動作的影響。 舉例來說,如果輸入參數會影響代理稱呼使用者的方式,請建立範例來定義參數值,然後在範例的話語動作中使用相同的值。詳情請參閱「傳遞參數」。

輸出 (寫入、傳回) 參數

您可以為每個 playbook 定義「輸出參數」(也稱為「寫入參數」和「傳回參數」),讓 playbook 發出資訊,供其他流程或 playbook 使用。舉例來說,playbook 可能會向使用者收集訂單號碼,並透過輸出參數傳送,或者使用工具預訂航班,並透過輸出參數傳送確認號碼。

建立範例,控管 playbook 決定各輸出參數值的方式。舉例來說,如果代表確認號碼的輸出參數應從工具使用輸出內容衍生值,請建立工具使用輸出內容與教戰手冊輸出參數值相符的範例。

傳遞參數

與流程不同,Playbook 不支援使用特定語法插入參數值。而是依據指示和少量樣本提示範例,決定如何使用參數值,以及在指定參數值時如何決定值。

例行程序應對手冊到流程

如要將參數從例行程序應對手冊傳遞至流程,請按照下列步驟操作:

  • 定義例行程序應對手冊的寫入參數。這些參數會變成工作階段參數。
  • 流程可以使用工作階段參數。
  • 在操作說明和範例中加入參數用法。

流程到例行程序應對手冊

如要將參數從流程傳遞至例行程序應對手冊,請按照下列步驟操作:

  • 流程會寫入工作階段參數。
  • 為同名的例行程序應對手冊定義讀取參數。
  • 在操作說明和範例中加入參數用法。

工作應對手冊到流程

如要將參數從工作 Playbook 傳遞至流程,請按照下列步驟操作:

  • 在流程設定中,定義同名的輸入參數。
  • 在操作說明和範例中加入參數用法。

流程轉工作應對手冊

如要將參數從流程傳遞至上層任務應對手冊,請按照下列步驟操作:

  • 在流程設定中,定義傳回參數。
  • 在操作說明和範例中加入參數用法。

如要將參數從流程傳遞至子任務應對手冊,請按照下列步驟操作:

  • 定義工作輸入參數,其名稱與流程中的工作階段參數相同。
  • 在操作說明和範例中加入參數用法。

例行程序應對手冊轉換為工作應對手冊

如要將參數從例行程序應對手冊傳遞至任務應對手冊,請按照下列步驟操作:

  • 為工作應對手冊定義同名的輸入參數。
  • 在操作說明和範例中加入參數用法。

涉及工具的範例

假設某個代理專門販售活動票券,並有下列工作應對手冊:

  1. 名為 Ticket ordering 的應對手冊,會使用名為 Ticket sales API 的工具下單。
    1. 這個應對手冊接受類型為 number、名稱為 event_id 的輸入參數。
    2. Ticket sales API 工具預期會收到包含 event_id 的要求。
  2. 名為 Event selection 的教戰手冊,可協助使用者選取活動,然後將他們轉送至 Ticket ordering,並使用參數 event_id 購買票券。

在本範例中,為確保 event_id 能可靠地從 Event selection 傳遞至 Ticket ordering,以及從 Ticket ordering 傳遞至 Ticket sales API,需要提供多個範例。

Ticket ordering 應對手冊應包含多個範例,且這些範例應:

  • 輸入參數 event_id 應指定實際值,且每個範例的值都不同。
  • 加入工具使用動作,並在要求主體中加入與輸入參數指定的相同擬真 event_id 值。

Event selection 應對手冊應包含多個範例,且這些範例應:

  • 加入使用者語句,讓使用者選取具有一些實際 event_id 的事件,每個範例都不同。
  • 加入 Ticket ordering 的 Playbook 叫用,將 event_id 參數設為與使用者所選相同的實際 event_id。

除了新增範例外,您也可以在操作說明、目標或工具詳細資料中,新增具體操作說明,解釋參數的使用方式。舉例來說,教戰手冊 Ticket ordering 包含下列指令:

- Use parameter event_id to send a buy_tickets request with ${TOOL: Ticket sales API}

有了上述範例和指示,Event selection 戰略手冊就能根據使用者的選擇正確決定 event_id,並將其做為名為 event_id 的輸入參數傳遞給 Ticket ordering playbook。接著,Ticket ordering 會將相同的 event_id 傳遞至 Ticket sales API 的要求主體。Playbook 仰賴具有不同參數值的範例,推論參數的使用方式。