應對手冊會使用明確定義的參數,接受及發出情境資訊。參數會儲存對話資訊,例如使用者選項和動作結果。您可以在應對手冊和流程之間傳遞這些參數的值。
參數宣告
您可以定義輸入 (讀取) 參數和輸出 (寫入) 參數。
參數有名稱、說明和下列其中一種型別:
- 字串
- 數字
- 布林值
- 工具專屬參數類型
您也可以指定參數是否為清單。
輸入 (讀取) 參數
您可以為每個應對手冊定義「輸入參數」(也稱為「讀取參數」),讓應對手冊使用從流程和其他應對手冊傳遞的值。舉例來說,playbook 可能會接收使用者的偏好名稱做為參數,並用來向使用者表達感謝,或者接收訂單 ID 做為參數,並使用工具擷取訂單詳細資料。
輸入參數是依應對手冊定義,且應對手冊預設無法存取其他 Dialogflow CX 控制台參數類型。流程轉換至應對手冊時,如果目標應對手冊有同名的輸入參數,頁面和工作階段參數就會傳播至應對手冊。如要在轉換期間將資訊從流程傳遞至 Playbook,請定義 Playbook 輸入參數,並使用與轉換前工作階段或頁面參數相同的名稱。
建立範例,控制輸入參數值對動作的影響。 舉例來說,如果輸入參數會影響代理稱呼使用者的方式,請建立範例來定義參數值,然後在範例的話語動作中使用相同的值。詳情請參閱「傳遞參數」。
輸出 (寫入、傳回) 參數
您可以為每個應對手冊定義「輸出參數」(也稱為「寫入參數」和「傳回參數」),讓應對手冊發出資訊,供其他流程或應對手冊使用。舉例來說,Playbook 可能會向使用者收集訂單號碼,並透過輸出參數發出,或者 Playbook 可能會使用工具預訂航班,並透過輸出參數發出確認號碼。
建立範例,控管 playbook 如何決定各輸出參數的值。舉例來說,如果代表確認號碼的輸出參數值來自工具使用輸出內容,請建立工具輸出內容與教戰手冊輸出參數值相符的範例。
傳遞參數
與流程不同,Playbook 不支援使用特定語法插入參數值。而是依據指令和少量樣本提示範例,決定如何使用及判斷參數值。
例行程序應對手冊到流程
如要將參數從例行程序應對手冊傳遞至流程,請按照下列步驟操作:
- 定義例行程序應對手冊的寫入參數,這些參數會在例行程序應對手冊完成後,成為工作階段參數。
- 在流程中使用工作階段參數。
- 在操作說明和範例中加入參數用法。
流程到例行程序應對手冊
如要將參數從流程傳遞至例行程序應對手冊,請按照下列步驟操作:
- 寫入流程中的工作階段參數。
- 為例行程序應對手冊定義讀取參數,並使用相同名稱。
- 在操作說明和範例中加入參數用法。
工作應對手冊轉流程
如要將參數從工作 Playbook 傳遞至流程,請按照下列步驟操作:
- 在流程設定中,定義同名的輸入參數。
- 在操作說明和範例中加入參數用法。
流程轉工作應對手冊
如要將參數從流程傳遞至上層任務應對手冊,請按照下列步驟操作:
- 在流程設定中,定義傳回參數。
- 在操作說明和範例中加入參數用法。
如要將參數從流程傳遞至子任務應對手冊,請按照下列步驟操作:
- 在工作應對手冊中定義工作輸入參數,名稱與流程中的工作階段參數相同。
- 在操作說明和範例中加入參數用法。
例行程序應對手冊到工作應對手冊
如要將參數從例行程序應對手冊傳遞至任務應對手冊,請按照下列步驟操作:
- 使用相同名稱定義工作應對手冊的輸入參數。
- 在操作說明和範例中加入參數用法。
涉及工具的範例
假設某個代理專門用於銷售活動票券,並具備下列工作任務手冊:
- 名為
Ticket ordering的 playbook,會使用名為Ticket sales API的工具下單。- 這個 playbook 接受
number類型的輸入參數,名為event_id。 Ticket sales API工具預期會收到包含event_id的要求。
- 這個 playbook 接受
- 名為
Event selection的教戰手冊,可協助使用者選取活動,然後使用參數event_id將他們轉送至Ticket ordering購買票券。
在這個範例中,為確保 event_id 能可靠地從 Event selection 傳遞至 Ticket ordering,以及從 Ticket ordering 傳遞至 Ticket sales API,您需要多個範例。
Ticket ordering 應對手冊應包含多個範例,且這些範例應:
- 請為輸入參數
event_id指定實際值,每個範例的值都不同。 - 加入工具使用動作,並在要求主體中加入與輸入參數指定的相同擬真
event_id值。
Event selection 應對手冊應包含多個範例,且這些範例應:
- 加入使用者語句,其中選取了具有實際
event_id的事件,每個範例中的 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 策略手冊。接著,Ticket ordering 會在要求主體中將相同的 event_id 傳遞至 Ticket sales API。應對手冊會根據具有不同參數值的範例,推斷參數的使用方式。