Strumenti di sistema
Gli strumenti di sistema consentono al tuo assistente di aggiornare lo stato interno di una conversazione. A differenza degli strumenti webhook o degli strumenti client, gli strumenti di sistema non effettuano chiamate API esterne né attivano funzioni lato client: modificano lo stato interno della conversazione senza effettuare chiamate esterne.
Panoramica
Alcune applicazioni richiedono che gli agenti controllino il flusso o lo stato di una conversazione. Gli strumenti di sistema offrono questa possibilità consentendo all’assistente di eseguire azioni relative allo stato della chiamata che non richiedono la comunicazione con server esterni o con il client.
Strumenti di sistema disponibili
Implementazione
Quando crei un agente tramite API, puoi aggiungere strumenti di sistema alla configurazione dell’agente. Ecco come implementare gli strumenti di fine chiamata e rilevamento della lingua:
Integrazione LLM personalizzata
Quando usi un LLM personalizzato con gli agenti ElevenLabs, gli strumenti di sistema sono esposti come definizioni di funzioni che il tuo LLM può chiamare. Ogni strumento di sistema ha parametri e condizioni di attivazione specifici:
Strumenti di sistema disponibili
Termina chiamata
Scopo: termina automaticamente le conversazioni quando vengono soddisfatte le condizioni appropriate.
Condizioni di attivazione: l’LLM deve chiamare questo strumento quando:
- L’attività principale è stata completata e l’utente è soddisfatto
- La conversazione è giunta a una conclusione naturale con accordo reciproco
- L’utente indica esplicitamente di voler terminare la conversazione
Parametri:
reason(stringa, obbligatorio): il motivo della conclusione della chiamatamessage(stringa, facoltativo): un messaggio di saluto da inviare all’utente prima di terminare la chiamata
Formato della chiamata di funzione:
Implementazione: configuralo come strumento di sistema nelle impostazioni dell’agente. L’LLM riceverà istruzioni dettagliate su quando chiamare questa funzione.
Scopri di più: Strumento Termina chiamata
Rilevamento della lingua
Scopo: passa automaticamente alla lingua rilevata dell’utente durante le conversazioni.
Condizioni di attivazione: l’LLM deve chiamare questo strumento quando:
- L’utente parla una lingua diversa da quella della conversazione corrente
- L’utente richiede esplicitamente di cambiare lingua
- Per la conversazione è necessario il supporto multilingue
Parametri:
reason(stringa, obbligatorio): il motivo del cambio di lingualanguage(stringa, obbligatorio): il codice della lingua da usare (deve essere nell’elenco delle lingue supportate)
Formato della chiamata di funzione:
Implementazione: configura le lingue supportate nelle impostazioni dell’agente e aggiungi lo strumento di sistema per il rilevamento della lingua. L’agente adatterà automaticamente la voce e le risposte alle lingue rilevate.
Scopri di più: Strumento di rilevamento della lingua
Trasferimento dell'agente
Scopo: trasferire le conversazioni tra agenti IA specializzati in base alle esigenze dell’utente.
Condizioni di attivazione: l’LLM deve chiamare questo strumento quando:
- La richiesta dell’utente richiede conoscenze specialistiche o capacità di un agente diverso
- L’agente attuale non è in grado di gestire adeguatamente la query
- Il flusso della conversazione indica la necessità di un tipo di agente diverso
Parametri:
reason(stringa, facoltativo): il motivo del trasferimento dell’agenteagent_number(intero, obbligatorio): numero con indice a partire da zero dell’agente a cui trasferire la conversazione (in base alle regole di trasferimento configurate)
Formato della chiamata di funzione:
Implementazione: definisci regole di trasferimento che associano le condizioni a ID di agenti specifici. Configura gli agenti a cui l’agente attuale può trasferire la conversazione. Nella configurazione del trasferimento, gli agenti sono indicati da numeri con indice a partire da zero.
Scopri di più: Strumento di trasferimento dell’agente
Trasferisci al numero
Scopo: trasferisci senza interruzioni le conversazioni a operatori umani quando l’assistenza dell’IA non è sufficiente.
Condizioni di attivazione: l’LLM deve chiamare questo strumento quando:
- Ci sono problemi complessi che richiedono il giudizio umano
- L’utente richiede esplicitamente assistenza umana
- L’IA raggiunge i limiti delle proprie capacità per la richiesta specifica
- Vengono attivati i protocolli di escalation
Parametri:
reason(stringa, facoltativo): il motivo del trasferimentotransfer_number(stringa, obbligatorio): il numero di telefono a cui trasferire la chiamata (deve corrispondere ai numeri configurati)client_message(stringa, obbligatorio): messaggio letto al cliente durante l’attesa del trasferimentoagent_message(stringa, obbligatorio): messaggio per l’operatore umano che riceve la chiamata
Formato della chiamata di funzione:
Implementazione: configura i numeri di telefono e le condizioni per il trasferimento. Definisci i messaggi sia per il cliente sia per l’operatore umano che riceve la chiamata. Funziona sia con Twilio sia con il trunking SIP.
Scopri di più: Strumento Trasferisci al numero
Salta turno
Scopo: consente all’agente di fare una pausa e attendere l’input dell’utente senza parlare.
Condizioni di attivazione: l’LLM deve chiamare questo strumento quando:
- L’utente indica di aver bisogno di un momento (“Dammi un secondo”, “Fammi pensare”)
- L’utente richiede una pausa nel flusso della conversazione
- L’agente rileva che l’utente ha bisogno di tempo per elaborare le informazioni
Parametri:
reason(stringa, facoltativo): motivo in formato libero che spiega perché è necessaria la pausa
Formato della chiamata di funzione:
Implementazione: non è necessaria alcuna configurazione aggiuntiva. Lo strumento segnala semplicemente all’agente di rimanere in silenzio finché l’utente non parla di nuovo.
Scopri di più: Strumento Salta turno
Riproduci tono della tastiera
Parametri:
reason(stringa, facoltativo): il motivo della riproduzione dei toni DTMF (ad esempio, “passaggio all’interno”, “inserimento del PIN”)dtmf_tones(stringa, obbligatorio): la sequenza DTMF da riprodurre. Caratteri validi: 0-9, *, #, w (pausa di 0,5 s), W (pausa di 1 s)
Formato della chiamata di funzione:
Scopri di più: Strumento Riproduci tono della tastiera
Rilevamento della segreteria telefonica
Parametri:
reason(stringa, obbligatorio): il motivo del rilevamento della segreteria telefonica (ad esempio, “rilevato messaggio di benvenuto automatico”, “nessuna risposta umana”)
Formato della chiamata di funzione:
Scopri di più: Strumento di rilevamento della segreteria telefonica
Aggiorna stato
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:
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.
Scopri di più: Strumento Aggiorna stato
Domande frequenti
Gli strumenti di sistema possono essere combinati con altri tipi di strumenti?
Sì, gli strumenti di sistema possono essere usati insieme a strumenti webhook e strumenti client nello stesso assistente. Questo consente funzionalità complete che combinano la gestione dello stato interno con interazioni esterne.