應對手冊可使用明確定義的參數,接受及發出內容資訊。參數是用來儲存對話相關資訊,例如使用者選取的項目、動作結果等。您可以在應對手冊和流程之間傳遞這些參數的值。
參數聲明
您可以定義輸入 (讀取) 參數和輸出 (寫入) 參數。
參數包含名稱、說明,以及下列其中一種類型:
- 字串
- 數字
- 布林
- 工具專屬的參數類型
您也可以指定參數是否為清單。
輸入 (讀取) 參數
您可以為每個應對手冊定義輸入參數 (也稱為讀取參數),讓應對手冊使用從流程和其他應對手冊傳遞的值。舉例來說,劇本可能會收到使用者偏好的名稱做為參數,並用來親切地感謝使用者,也可能會收到訂單 ID 做為參數,並用來透過工具擷取訂單詳細資料。
輸入參數是根據應對手冊定義,且應對手冊預設不會顯示其他 Dialogflow CX 控制台參數類型。當流程轉換為應對手冊時,如果目標應對手冊有同名的輸入參數,系統就會將網頁和工作階段參數傳播至應對手冊。如要在轉換期間將資訊從流程傳達至應對手冊,請定義與轉換前的工作階段或頁面參數同名的應對手冊輸入參數。
建立範例,控管輸入參數值對動作的影響。 舉例來說,如果輸入參數會影響代理程式如何稱呼使用者,請建立範例來定義參數值,然後在範例中的語音動作中使用相同的值。詳情請參閱「傳遞參數」。
輸出 (寫入、傳回) 參數
您可以為每個應對手冊定義輸出參數 (也稱為寫入參數和傳回參數),讓應對手冊發出資訊,供其他流程或應對手冊使用。舉例來說,劇本可能會向使用者收集訂單編號,並透過輸出參數發出該編號;或者,劇本可能會使用工具預訂航班,並透過輸出參數發出確認號碼。
建立範例,控管劇本決定每個輸出參數值的方式。舉例來說,如果代表確認號碼的輸出參數應從工具用途的輸出內容衍生值,請建立工具用途輸出內容與劇本輸出參數值相符的範例。
傳遞參數
與流程不同,劇本不支援使用特定語法插入參數值。相反地,劇本會根據指令和少樣本提示範例,判斷如何使用參數值,以及指定參數值時應如何決定值。
例行應對手冊到流程
如要將參數從例行應對手冊傳遞至流程,請按照下列步驟操作:
- 定義常式劇本的寫入參數。 這些參數會成為工作階段參數。
- 工作流程可以使用工作階段參數。
- 在操作說明和範例中加入參數用法。
流程至例行應對手冊
如要將參數從流程傳遞至例行應對手冊,請按照下列步驟操作:
- 流程會寫入工作階段參數。
- 為同名的例行應對手冊定義讀取參數。
- 在操作說明和範例中加入參數用法。
任務應對手冊至流程
如要將參數從工作應對手冊傳遞至流程,請按照下列步驟操作:
- 在流程設定中,定義同名的輸入參數。
- 在操作說明和範例中加入參數用法。
流程至任務應對手冊
如要將參數從流程傳遞至上層任務應對手冊,請按照下列步驟操作:
- 在流程設定中,定義回傳參數。
- 在操作說明和範例中加入參數用法。
如要將參數從流程傳遞至子任務應對手冊,請按照下列步驟操作:
- 定義工作輸入參數,這些參數與流程中的工作階段參數名稱相同。
- 在操作說明和範例中加入參數用法。
例行應對手冊到任務應對手冊
如要從例行應對手冊將參數傳遞至任務應對手冊,請按照下列步驟操作:
- 為同名的工作應對手冊定義輸入參數。
- 在操作說明和範例中加入參數用法。
涉及工具的範例
假設您設計的代理是用於銷售活動票券,並有下列工作劇本:
- 名為
Ticket ordering的應對手冊,會使用名為Ticket sales API的工具下單。- 這本應對手冊會接受類型為
number且名稱為event_id的輸入參數。 Ticket sales API工具會預期收到包含event_id的要求。
- 這本應對手冊會接受類型為
- 名為
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。應對手冊會根據參數值不同的範例,推斷參數的使用方式。