劇本可使用明確定義的參數,接受及發出內容資訊。參數用於儲存對話相關資訊,例如使用者選取的項目、動作結果等。您可以在劇本和流程之間傳遞這些參數的值。
參數聲明
您可以定義輸入 (讀取) 參數和輸出 (寫入) 參數。
參數包含名稱、說明和下列其中一種類型:
- 字串
- 數字
- 布林
- 工具專屬的參數類型
您也可以指定參數是否為清單。
輸入 (讀取) 參數
您可以為每個劇本定義輸入參數 (也稱為讀取參數),讓劇本使用從流程和其他劇本傳遞的值。舉例來說,劇本可能會收到使用者偏好的名稱做為參數,並用來親切地感謝使用者,也可能會收到訂單 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
。劇本會根據具有不同參數值的範例,推斷參數的使用方式。