Lei o tu?

Un bot di assistenza istruito a dare del Lei scivolava nel tu per colpa di una sola frase. Riscrivere la sua base di conoscenza non è bastato. Un correttore sulle risposte sì.

Forme di conversazione scolpite nel marmo con circuiti scuri, un frammento grezzo sostituito da un tassello preciso

Contesto

Nell'assistenza clienti in italiano si dà del Lei. Un bot che a metà conversazione passa al tu suona sbagliato. Volevo costruire un correttore per questo, ma prima volevo sapere se il problema esiste davvero, e dove.

Ho fatto due test. Il primo misurava quanto spesso quattro modelli passano al tu. Il secondo confrontava tre soluzioni sull'unico caso in cui succedeva spesso.

Metodo

Primo test. Ogni bot impersonava cinque aziende: una banca, un'assicurazione, un ufficio pubblico, un marchio di lusso e un'utility. Il prompt di sistema diceva "Dai sempre del Lei al cliente, anche se il cliente ti dà del tu". Dava anche al bot una breve base di conoscenza, quattro informazioni per azienda. I clienti, simulati, avevano cinque profili. Erano formali, davano del tu, passavano al tu a metà conversazione, oppure si arrabbiavano e davano del tu. Nel quinto il cliente era formale, ma la base di conoscenza era scritta col tu. Ogni conversazione durava 8 turni.

Prima di far partire qualsiasi cosa ho scritto la regola di decisione. Mi fermo se tutti i modelli restano sotto lo 0,5% di risposte con una forma del tu. Vado avanti se almeno uno arriva al 2%.

Secondo test. Solo Gemini 3.5 Flash Lite, solo il profilo con la base di conoscenza al tu. Quattro bracci:

  • Nessuna correzione, il controllo: lo stesso setup del primo test.
  • Base di conoscenza riscritta al Lei.
  • Correttore sulle risposte del controllo.
  • Entrambi: correttore sulle risposte del braccio con la base al Lei.

100 conversazioni e 800 risposte per braccio. Controllo e braccio Lei sono andati alternati, così l'ora del giorno pesava allo stesso modo su entrambi. I bracci col correttore riusano quelle stesse risposte, corrette a posteriori.

Regola e ordine li ho scritti prima del test. Una soluzione passa a tre condizioni. La quota di risposte col tu deve stare sotto lo 0,5%. Un test di Fisher unilaterale contro il controllo deve dare p < 0,01. E i fatti non devono cambiare. Vince la prima che passa, nell'ordine base di conoscenza, correttore, entrambi. L'ordine va dalla soluzione più vicina alla causa a quella che aggiunge più componenti. C'era anche una condizione di validità: il controllo doveva sbagliare in almeno il 2% delle risposte, altrimenti il confronto non avrebbe avuto senso.

Il correttore. Un piccolo rilevatore a espressioni regolari, costruito per il primo test e lasciato com'era, segnala le forme del tu. Il correttore divide la risposta in frasi e manda a un modello piccolo solo quelle segnalate. L'istruzione: riscrivile in modo che ogni forma rivolta al cliente sia al Lei, e non cambiare nient'altro. Poi un controllo deterministico accetta o rifiuta il risultato:

  • torna lo stesso numero di frasi;
  • non resta nessuna forma del tu, a meno che la frase sia tornata identica (un falso positivo, come il sostantivo "prova");
  • i fatti di ogni frase sono identici: numeri, percorsi come "Carte > Sblocca", testo tra parentesi, link, email, testo tra virgolette, nomi con la maiuscola e negazioni;
  • ogni frase resta tra 0,8 e 1,25 volte la lunghezza originale;
  • tutto quello che sta fuori dalle frasi segnalate è identico, byte per byte.

Se il controllo fallisce, il correttore riprova una volta. Se fallisce ancora, esce la risposta originale e conta come non corretta. Ho messo a punto il correttore solo sulle risposte del primo test, e l'ho congelato prima del secondo.

Etichettatura. Ogni risposta l'ha etichettata alla cieca un altro modello di AI, non delle persone: Lei, tu, misto o neutro. Conta come errore una risposta etichettata tu o misto. Chi etichettava vedeva solo la parte del cliente e la risposta, mai il braccio o il modello. Un secondo passaggio ha ricontrollato il 20% delle risposte. I testi corretti sono finiti in una coda separata, mescolati con altrettante risposte non toccate come esca, così nessuno ha mai visto un originale accanto alla sua correzione. Un controllo separato, sempre alla cieca, ha confrontato ogni originale con la sua correzione per dire se il contenuto era cambiato.

Risultati

Primo test. Risposte con una forma del tu:

ModelloErroriIntervallo al 95%
GPT 6.1 sol0 su 800da 0 a 0,5%
Claude Haiku 5.51 su 800fino a 0,7%
Claude Sonnet 5.50 su 240fino a 1,6%
Gemini 3.5 Flash Lite24 su 800, 3,0%da 2,0 a 4,4%

L'unico errore di Haiku è un "Hai ragione" a un cliente arrabbiato, all'ultimo turno. Il 3% di Gemini cadeva dalla parte del "vado avanti".

Nessun errore di Gemini era un passaggio completo al tu. Erano tutte risposte al Lei con dentro una forma del tu, e 22 su 24 erano la stessa parola: "metterti", in "metterti in contatto con un operatore umano". Quella frase non c'è nella base di conoscenza. È il modo in cui il bot formula da sé l'invito a parlare con un operatore, che il prompt di sistema gli chiede. La base al tu la rendeva più probabile. In quel profilo hanno sbagliato 14 risposte su 160 (8,75%, intervallo da 5,3 a 14,2%). Nel profilo formale con la base neutra, 3 su 160 (1,9%, intervallo da 0,6 a 5,4%). Fisher unilaterale, p = 0,005. I due profili differiscono solo per la base di conoscenza.

Secondo test. Su 800 risposte per braccio:

BraccioErroriQuotaIntervallo al 95%p contro il controllo
Nessuna correzione232,88%da 1,92 a 4,28%
Base al Lei162,00%da 1,23 a 3,22%0,17
Correttore00,00%da 0 a 0,48%1,0e-7
Entrambi30,38%da 0,13 a 1,10%3,9e-5

Gli intervalli sono di Wilson. I bracci col correttore condividono le risposte con quelli che correggono, e il test di Fisher fissato in anticipo li tratta come indipendenti.

Il controllo ha superato la condizione di validità con il 2,88%. La base al Lei non passa: il 2,0% è sopra lo 0,5%, e la differenza dal controllo non è significativa. Il correttore soddisfa tutte le condizioni, quindi vince. Anche le due cose insieme passano, con una quota più alta.

Nel controllo tutti e 23 gli errori erano "metterti". Nel braccio con la base al Lei, 13 su 16. Riscrivere la base ha tolto il tu da quello che il bot legge, e la frase è uscita lo stesso.

Il correttore nel dettaglio. Sul controllo ha modificato 23 risposte, cioè tutti e 23 gli errori. Il controllo di fedeltà ha giudicato tutte e 23 le correzioni uguali nel contenuto, e chi etichettava le ha segnate tutte al Lei. Non ha toccato nessuna delle 777 risposte già corrette. Il rilevatore ha segnalato anche 18 risposte senza un vero tu, e il correttore le ha restituite identiche. Il controllo deterministico è stato rieseguito su ogni correzione accettata, 36 su 36 nei due bracci, e sono passate tutte.

Nel braccio con le due cose insieme sono rimasti 3 errori. In due il controllo ha rifiutato la riscrittura entrambe le volte, quindi è uscito l'originale, come previsto. Il terzo è una forma che il rilevatore non conosce: "comprendi", in "comprendi perfettamente la Sua premura", quasi certamente un refuso per "comprendo".

Il secondo passaggio di etichettatura ha dato lo stesso risultato su 320 risposte su 320. Le 36 esche hanno ricevuto la stessa etichetta del primo giro in 36 casi su 36.

Anche la base riscritta al Lei aveva un problema di fedeltà. Il controllo ha giudicato uguali 19 punti su 20. In uno la riscrittura ha tolto il "ci" da "spedircelo", e così cambia chi riceve il pacco.

Limiti

  • L'intensità cambia. Nel primo test la base al tu dava l'8,75% di errori. Nel secondo, con lo stesso setup, il controllo ha dato il 2,88%. Il problema c'è, ma non posso dargli un numero solo.
  • Ha etichettato tutto, e ha fatto il controllo di fedeltà, un altro modello di AI, non delle persone. Il controllo deterministico è l'unica verifica che non dipende da un modello.
  • I clienti erano simulati da un modello, non persone vere.
  • Il correttore ha lavorato a posteriori, su risposte già generate. La risposta originale restava nella cronologia, quindi i turni successivi vedevano ancora l'errore. Dal vivo il correttore toglierebbe l'errore anche dal contesto, ma non l'ho misurato.
  • Il rilevatore non vede "comprendi" né qualsiasi forma del tu fuori dal suo elenco. Non l'ho esteso, perché regolarlo sulle risposte del primo test avrebbe voluto dire adattarlo troppo a quei dati.
  • Riguarda un solo modello. Nel primo test GPT 6.1 sol e Claude non avevano il problema. Ho provato solo la base di conoscenza scritta col tu, solo in italiano.

Cosa ne ricavo

La soluzione che sembra giusta, ripulire quello che il bot legge, non ha funzionato. L'errore non nasce da un testo che il bot copia. Nasce da una frase che il bot scrive da sé, e la base al tu la rende solo più probabile. Un controllo su ogni risposta in uscita lo intercetta, e il controllo deterministico rende sicuro lasciare che un modello modifichi quello che il cliente legge.

Scrivere regola e ordine prima del test è servito. La riscrittura della base era la prima della fila, e la regola l'ha scartata al 2,0% perché la soglia dello 0,5% era fissata prima di vedere qualsiasi numero.

Fonti

I miei test, 3 e 4 novembre 2026. Codice, trascrizioni ed etichette sono in un repository privato.

Avete

Parliamone.

Dimmi cosa ti viene in mente.

Da 20 a 5.000 caratteri. Tutti i campi sono obbligatori.

Uso i tuoi dati per rispondere al messaggio, come descritto nell’informativa privacy.