應對手冊參數

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

參數聲明

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

參數包含名稱、說明,以及下列其中一種類型:

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

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

輸入 (讀取) 參數

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

輸入參數是根據應對手冊定義,且應對手冊預設不會顯示其他 Dialogflow CX 控制台參數類型。當流程轉換為應對手冊時,如果目標應對手冊有同名的輸入參數,系統就會將網頁和工作階段參數傳播至應對手冊。如要在轉換期間將資訊從流程傳達至應對手冊,請定義與轉換前的工作階段或頁面參數同名的應對手冊輸入參數。

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

輸出 (寫入、傳回) 參數

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

建立範例,控管劇本決定每個輸出參數值的方式。舉例來說,如果代表確認號碼的輸出參數應從工具用途的輸出內容衍生值,請建立工具用途輸出內容與劇本輸出參數值相符的範例。

傳遞參數

與流程不同,劇本支援使用特定語法插入參數值。相反地,劇本會根據指令和少樣本提示範例,判斷如何使用參數值,以及指定參數值時應如何決定值。

例行應對手冊到流程

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

  • 定義常式劇本的寫入參數。 這些參數會成為工作階段參數。
  • 工作流程可以使用工作階段參數。
  • 在操作說明和範例中加入參數用法。

流程至例行應對手冊

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

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

任務應對手冊至流程

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

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

流程至任務應對手冊

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

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

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

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

例行應對手冊到任務應對手冊

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

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

涉及工具的範例

假設您設計的代理是用於銷售活動票券,並有下列工作劇本:

  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,將 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。應對手冊會根據參數值不同的範例,推斷參數的使用方式。