在多代理程式應用程式中,您可以使用移交規則,確定性地控制父項和子項代理程式之間的移轉。您可以定義轉移條件,控管這些轉移作業。 您可以選擇在符合條件時立即強制轉移,或封鎖轉移作業,直到符合條件為止。
舉例來說,當使用者通過驗證時,代理程式 A 會將通話轉接給代理程式 B;當使用者未通過驗證時,則會轉接給代理程式 C。
您可以使用指令,對專員轉接作業進行類似的控制,但這類控制並非決定性。您也可以使用回呼,但回呼需要編寫程式碼。
應用情境範例:
- 轉交給子代理 (服務專員轉交給子代理)
- 將已驗證或未驗證的使用者轉接給不同服務專員
- 瞭解使用者意圖,並導向合適的服務專員
- 將高風險要求 (例如金融交易、處理個人識別資訊) 交由特定服務專員處理
- 向後移交 (子代理程式移交給代理程式)
- 重新嘗試驗證失敗的驗證
- 返回收集其他資訊
- 使用者需求變更後重新取得資格
- 反覆進行疑難排解程序
設定
如要透過代理程式建構工具設定轉移規則,請按照下列步驟操作:
- 按一下代理程式節點下方的「+」按鈕。
- 選取「新增交接規則」。 系統會開啟「交接規則」設定窗格,並列出子項服務專員。
- 選取子代理程式。 規則設定窗格隨即開啟。
- 選取轉移方向 (轉移給家長或孩子)。
- 您可以使用介面根據變數定義條件,或使用進階程式碼選項。
- 按一下 [儲存]。
如果您選擇進階程式碼選項, 範例如下:
def should_trigger_transfer_callback(callback_context: CallbackContext) -> bool:
# Access session variables using callback_context:
# callback_context.variables['variable_name]
return True
限制
限制如下:
建立使用變數檢查的規則時,您可以指定多個條件 (每個變數一個條件)。這些條件可以使用 AND 或 OR 邏輯運算子連結在一起。 所有列出的條件只能選取一個 (AND/OR) 運算子。 如要混合使用邏輯運算子並將條件分組,可以使用 Python 程式碼選項,或透過 API 指定條件。
變數檢查僅支援文字、數字和布林變數類型,不支援清單和自訂物件類型。
定義封鎖移交的規則時,只能使用變數 (而非程式碼) 指定條件。
如果您使用 API 建立複雜條件 (使用多個 AND/OR、分組等),移轉規則在使用者介面中會顯示為唯讀,只能使用 API 修改。