Vai alla navigazione

Aggiorna stato

Consenti al tuo agente di aggiornare le variabili dinamiche durante una conversazione usando espressioni.

Panoramica

Lo strumento Aggiorna stato consente al tuo agente di impostare una o più variabili dinamiche mentre è in corso una conversazione. Come gli altri strumenti di sistema, modifica solo lo stato interno della conversazione: non chiama mai un’API esterna o una funzione lato client.

Usalo per registrare informazioni durante una chiamata, ad esempio per segnalare che una conversazione deve essere inoltrata a un livello superiore, memorizzare un valore fornito dall’utente o calcolare un valore derivato da altre variabili dinamiche.

Per applicare aggiornamenti di stato in un punto fisso di un workflow, anziché ogni volta che l’LLM chiama uno strumento, usa un nodo di aggiornamento dello stato. Accetta gli stessi aggiornamenti di stato.

Funzionalità

  • Aggiornamenti multipli per chiamata: una singola chiamata dello strumento può assegnare fino a 50 variabili dinamiche contemporaneamente.
  • Valori basati su espressioni: ogni valore è il risultato di un’espressione, che può combinare costanti, variabili dinamiche esistenti, valori estratti dall’LLM dalla conversazione e operatori.
  • Estrazione LLM solo quando necessaria: lo strumento chiede all’LLM di estrarre parametri solo per gli aggiornamenti che lo richiedono. Gli aggiornamenti creati interamente da costanti e/o variabili dinamiche esistenti non aggiungono parametri alla chiamata della funzione.
  • Disponibilità immediata: dopo l’esecuzione dello strumento, le variabili dinamiche aggiornate sono disponibili per il resto della conversazione: prompt successivi, altre chiamate di strumenti e override possono fare riferimento a esse, come a qualsiasi altra variabile dinamica.

Come funziona

Ogni aggiornamento di stato assegna il risultato di un’espressione a una variabile dinamica:

variable_name = expression

Un’espressione è uno dei seguenti tipi e le espressioni possono essere annidate tra loro per creare una logica più complessa:

TipoDescrizione
CostanteUn valore fisso stringa, numero, booleano o null.
Variabile dinamicaIl valore corrente di un’altra variabile dinamica.
Valore estratto dall’LLMUn valore che l’LLM deduce dalla conversazione, corrispondente a un tipo da te definito (stringa, numero o booleano).
Operatore logicoand, or o un’espressione condizionale (if / then / else) che combina altre espressioni.
Operatore di confronto=, ≠, >, <, ≥, ≤, che confronta due espressioni.
Operatore aritmetico+, -, ×, ÷, che combina due espressioni numeriche (o, per +, stringa).

Ad esempio, il seguente aggiornamento di stato imposta should_escalate su true se l’LLM ritiene che l’utente sia frustrato o se una variabile dinamica retry_count è già maggiore di 3:

should_escalate = (llm: "User sounds frustrated with the conversation") OR (retry_count > 3)

Se non è possibile valutare un aggiornamento di stato, ad esempio per una divisione per zero, la chiamata dello strumento restituisce un errore e nessuno degli aggiornamenti di quella chiamata viene applicato.

Configurazione

1

Passaggio 1: aggiungi lo strumento

Vai alla pagina di configurazione del tuo agente. Nella sezione Strumenti, fai clic su Aggiungi strumento e scegli Aggiorna stato.

2

Passaggio 2: definisci gli aggiornamenti di stato

Per ogni aggiornamento di stato, fornisci:

  • Nome della variabile: la variabile dinamica da assegnare.
  • Espressione: il valore da assegnare, creato con i tipi di valori e operatori descritti sopra. I valori possono essere annidati per creare espressioni più complesse.
  • Obbligatorio: se disabilitato, l’LLM può omettere i valori da cui dipende questo aggiornamento. L’aggiornamento viene quindi ignorato e la variabile mantiene il suo valore corrente.

Puoi definire fino a 50 aggiornamenti di stato per un singolo strumento.

3

Passaggio 3: configura la descrizione (facoltativo)

Puoi fornire una descrizione personalizzata per indicare all’LLM quando chiamare lo strumento. Se la lasci vuota, verrà usata una descrizione predefinita ottimizzata per questo strumento.

Casi d’uso

  • Indicatori di escalation: imposta una variabile dinamica (ad esempio should_escalate) che un sistema a valle o una regola aziendale controlla, come illustrato nella guida all’integrazione Genesys.
  • Registrazione delle informazioni estratte: memorizza come variabile dinamica un valore fornito dall’utente (un numero d’ordine, una preferenza, il reparto scelto) da usare più avanti nella conversazione.
  • Valori derivati: calcola un valore da altre variabili dinamiche, ad esempio incrementando un contatore o combinando due variabili in una.

Scopo: consentire all’agente di aggiornare una o più variabili dinamiche in base alla conversazione, senza chiamare un’API esterna.

Condizioni di attivazione: l’LLM deve chiamare questo strumento quando:

  • La conversazione fornisce informazioni da registrare (ad esempio, un flag di escalation, un’opzione scelta, un valore fornito dall’utente)
  • Un aggiornamento dello stato configurato dipende da un valore che l’LLM deve valutare o estrarre dalla conversazione

Parametri:

I parametri della funzione dipendono dalla configurazione dello strumento. Ogni aggiornamento dello stato configurato che utilizza un valore estratto dall’LLM aggiunge una proprietà allo schema, denominata come la variabile dinamica di quell’aggiornamento e di tipo string, number o boolean. Gli aggiornamenti dello stato creati solo da costanti o altre variabili dinamiche non aggiungono parametri.

Formato della chiamata di funzione:

{
"type": "function",
"function": {
"name": "update_state",
"arguments": "{\"should_escalate\": true}"
}
}

Implementazione: l’agente valuta ogni espressione configurata utilizzando i parametri estratti e le variabili dinamiche correnti della conversazione, quindi assegna i risultati alle corrispondenti variabili dinamiche. Non viene effettuata alcuna richiesta esterna.

FAQ

No. Come tutti gli strumenti di sistema, Aggiorna stato modifica solo lo stato interno della conversazione. Non chiama un’API esterna né una funzione lato client.

No. Lo strumento chiede all’LLM di estrarre un parametro solo per gli aggiornamenti di stato la cui espressione include un valore estratto dall’LLM. Se ogni aggiornamento configurato è creato da costanti e/o variabili dinamiche esistenti, la chiamata della funzione non richiede parametri.

Ovunque sia possibile usare una variabile dinamica: prompt di sistema, primi messaggi, parametri degli strumenti e header, nonché override. Per i dettagli, consulta Variabili dinamiche.

Aggiorna stato è attualmente configurabile tramite la dashboard dell’agente. Il supporto per API e SDK non è ancora disponibile.