Puoi utilizzare le regole di trasferimento per controllare in modo deterministico i trasferimenti tra agenti padre e figlio in un'applicazione multiagente. Puoi controllare questi trasferimenti definendo le condizioni per i trasferimenti. Puoi forzare un trasferimento immediatamente quando viene soddisfatta una condizione o bloccare i trasferimenti finché non viene soddisfatta una condizione.
Ad esempio, l'agente A esegue il trasferimento all'agente B quando un utente viene autenticato o all'agente C quando l'utente non è autenticato.
Puoi ottenere un controllo simile sui trasferimenti degli agenti utilizzando le istruzioni, ma questo controllo non è deterministico. Puoi anche utilizzare i callback, ma richiedono la scrittura di codice.
Esempi di casi d'uso:
- Trasferimenti in avanti (da agente a sub-agente)
- Instradare gli utenti autenticati o non autenticati a diversi agenti
- Comprendere l'intenzione dell'utente e indirizzarlo all'agente giusto
- Indirizzare richieste ad alto rischio (ad esempio, trasferimenti finanziari, gestione di PII) ad agenti specifici
- Trasferimenti all'indietro (dal subagente all'agente)
- Riprovare i tentativi di autenticazione non riusciti
- Tornare indietro per raccogliere ulteriori informazioni
- Riqualificazione dopo le modifiche ai requisiti degli utenti
- Procedure iterative di risoluzione dei problemi
Configurazione
Per configurare le regole di trasferimento dal generatore di agenti:
- Fai clic sul pulsante + sotto un nodo agente.
- Seleziona Aggiungi regole di trasferimento. Si apre il riquadro di configurazione delle regole di trasferimento e vengono elencati gli agenti secondari.
- Seleziona un agente secondario. Si apre il riquadro di configurazione della regola.
- Seleziona la direzione del trasferimento (al genitore o al figlio).
- Puoi utilizzare l'interfaccia per definire le condizioni in base alle variabili oppure puoi utilizzare l'opzione del codice avanzato.
- Fai clic su Salva.
Se scegli l'opzione del codice avanzato, ecco un esempio:
def should_trigger_transfer_callback(callback_context: CallbackContext) -> bool:
# Access session variables using callback_context:
# callback_context.variables['variable_name]
return True
Limitazioni
Si applicano le seguenti limitazioni.
Quando crei una regola che utilizza un controllo delle variabili, puoi specificare più condizioni (una per variabile). Questi possono essere collegati tra loro utilizzando gli operatori logici AND o OR. È possibile selezionare un solo operatore (AND/OR) per tutte le condizioni elencate. Se vuoi combinare operatori logici e condizioni di gruppo, puoi utilizzare l'opzione del codice Python o specificare la condizione utilizzando l'API.
Per i controlli delle variabili sono supportati solo i tipi di variabili testo, numero e booleano (i tipi di elenchi e oggetti personalizzati non sono supportati).
Quando definisci una regola che blocca i trasferimenti, la condizione può essere specificata solo utilizzando variabili (non codice).
Se crei una condizione complessa utilizzando l'API (utilizzando più AND/OR, raggruppamenti e così via), la regola di trasferimento viene visualizzata come di sola lettura nella UI e può essere modificata solo utilizzando l'API.