Per molto tempo i sistemi automatici di assistenza sono stati progettati come una sequenza rigida:
domanda → risposta → domanda successiva
Questo approccio funziona finché la persona segue esattamente il percorso previsto. Le conversazioni reali, però, sono meno ordinate: gli utenti anticipano informazioni, si correggono, chiedono di aspettare o non ricordano un dato.
Quando il sistema è vincolato a uno script, il risultato è spesso una conversazione innaturale, fatta di domande ripetute e continui tentativi di riportare l’utente sul percorso prestabilito.
In Estro adottiamo un approccio diverso: progettiamo agenti vocali task-oriented, costruiti intorno all’obiettivo da raggiungere e non alla sequenza esatta delle battute.
Dallo script all’obiettivo
Un agente task-oriented parte da un compito preciso: raccogliere informazioni, comprendere un problema, aprire una segnalazione o accompagnare l’utente nel completamento di una procedura.
A ogni turno il sistema valuta:
- l’obiettivo finale;
- le informazioni già disponibili;
- i dati ancora mancanti;
- la prossima azione più utile.
Se una persona comunica più dati nella stessa frase, l’agente dovrebbe acquisirli senza richiederli nuovamente.
Se dice: "Aspetta, ho sbagliato", il sistema dovrebbe capire quale informazione correggere. Se non ricorda un dato, dovrebbe aiutarla a recuperarlo e poi riprendere dal punto precedente.
Decidere la prossima azione
L’agente non deve limitarsi a formulare la domanda successiva. Potrebbe dover chiedere un chiarimento, verificare un dato, accettare una correzione, attendere, riprendere un’attività interrotta o coinvolgere un operatore.
Questa logica viene spesso definita dialogue policy.
Il modello linguistico comprende ciò che dice la persona e genera una risposta naturale. L’orchestratore mantiene invece il controllo sullo stato della conversazione e sul risultato da raggiungere.
Comprendere il significato, non soltanto le parole
In una conversazione vocale, la trascrizione è solo il primo passaggio.
Una persona può interrompersi, ricominciare, alternare parole e spelling oppure correggere più volte un’informazione. Il sistema deve quindi comprendere il significato complessivo dell’intervento, non limitarsi a trasformare l’audio in testo.
Per questo la scelta del modello è importante. Modelli molto piccoli possono funzionare in scenari semplici, ma possono avere maggiori difficoltà con frasi incomplete, correzioni, esitazioni e riferimenti ai turni precedenti.
Come ordine di grandezza, nei processi circoscritti può essere ragionevole valutare modelli nella fascia 7 - 14 B di parametri. Il numero di parametri, però, non basta: contano anche l’addestramento, la gestione del contesto e l’architettura complessiva.
La scelta deve essere verificata su conversazioni realistiche, non soltanto su esempi ideali.
Usare voci naturali
La qualità di un agente vocale dipende anche da come comunica.
Una voce monotona, pause innaturali o risposte troppo lunghe rendono artificiale anche una conversazione corretta.
Le risposte dovrebbero essere brevi, chiare, adatte al linguaggio parlato e facili da interrompere quando necessario.
Definire guardrail ampi
È importante stabilire quale obiettivo può raggiungere, quali informazioni può richiedere, quali operazioni può eseguire, quando deve chiedere conferma e quando deve coinvolgere un operatore.
I guardrail definiscono quindi i confini del comportamento senza stabilire in anticipo ogni singola frase. Ciò permette di rendere la conversazione più affidabile e riduce il rischio di ripetizioni o incoerenze.
Tenere la logica di business fuori dal modello
Il modello linguistico può comprendere l’utente e formulare la risposta. Le regole operative devono però rimanere sotto il controllo dell’applicazione.
La validazione di un codice, la normalizzazione di un indirizzo, la verifica dei campi obbligatori e il salvataggio dei dati dovrebbero essere affidati a componenti deterministiche.
Misurare il risultato
Un agente vocale non dovrebbe essere valutato soltanto in base a quanto appare naturale. Una conversazione può sembrare fluida e produrre comunque un risultato errato.
Le metriche più importanti riguardano infatti il risultato:
- Il processo è stato completato?
- I dati raccolti sono corretti?
- Quanti chiarimenti sono stati necessari?
- Quando è stato richiesto l’intervento umano?
La vera differenza
La differenza tra un bot vocale tradizionale e un agente task-oriented non consiste semplicemente nell’aggiungere un modello linguistico.
I sistemi tradizionali cercano di far seguire alla persona il percorso previsto dal software. Un agente task-oriented mantiene sotto controllo l’obiettivo, ma adatta il percorso al modo in cui la persona parla, risponde e si corregge.
È questo l’approccio che seguiamo in Estro: combinare comprensione linguistica, stato esplicito, regole controllabili e guardrail sufficientemente ampi.
Hai intenzione di portare in produzione un sistema vocale di AI agentica? Contattaci.
