Qualità delle risposte AI
Diagnosi e correzione di risposte generiche, errate, inventate, troppo lunghe, in lingua sbagliata o che ignorano la knowledge base.
Quando l'assistente risponde male, la causa è quasi sempre nella configurazione, non nel modello. Questa pagina associa a ogni sintomo la diagnosi e le leve di correzione, in ordine di efficacia.
Il metodo che funziona
Costruisci una serie di domande di test (da 20 a 30 domande reali, con la risposta attesa), registra la situazione di partenza, poi cambia una sola leva alla volta e riesegui la serie. Senza una misura di riferimento, ogni modifica è un'opinione.
Le leve a disposizione
| Leva | Dove si trova | Effetto principale |
|---|---|---|
| Prompt di sistema | Configurazione › Progetti › Modello | Ruolo, tono, vincoli, comportamento in assenza di informazioni |
| Temperatura | Configurazione › Progetti › Modello | Variabilità delle risposte |
| Numero di frammenti recuperati | Configurazione › Knowledge base › Recupero | Quantità di contesto fornita al modello |
| Soglia di pertinenza | Configurazione › Knowledge base › Recupero | Esclusione dei frammenti poco attinenti |
| Dimensione dei frammenti | Configurazione › Knowledge base › Indicizzazione | Coerenza semantica del contesto |
| Metadati dei documenti | Configurazione › Knowledge base › Documenti | Filtri, priorità e citazione delle fonti |
| Esempi few-shot | Configurazione › Progetti › Esempi | Formato e stile delle risposte |
| Strumenti richiamabili | Configurazione › Strumenti | Accesso a dati in tempo reale |
| Lunghezza massima della risposta | Configurazione › Progetti › Modello | Verbosità |
| Lingua forzata | Configurazione › Progetti › Lingua | Coerenza linguistica |
Risposte generiche o vaghe
Sintomo: l'assistente risponde con frasi di circostanza (“Le consiglio di contattare il nostro servizio clienti”) invece di rispondere nel merito.
Diagnosi
Controlla le fonti utilizzate
Apri il dettaglio del messaggio e guarda la sezione Fonti. Se è vuota o contiene frammenti con punteggio di pertinenza basso, il problema è nel recupero, non nella generazione.
Verifica che il contenuto esista davvero
Cerca l'informazione con la ricerca interna della knowledge base. Se non c'è, nessuna configurazione la farà comparire.
Rileggi il prompt di sistema
Un prompt che contiene istruzioni difensive del tipo “in caso di dubbio invita a contattare l'assistenza” produce esattamente questo comportamento.
Leve di correzione, in ordine
- Aggiungi il contenuto mancante alla knowledge base: è il rimedio risolutivo nella maggior parte dei casi.
- Aumenta il numero di frammenti recuperati da 4 a 6 o 8, verificando che non peggiori la precisione.
- Abbassa la soglia di pertinenza se il contenuto esiste ma non viene recuperato.
- Riformula il prompt di sistema rendendolo assertivo: “Rispondi in modo specifico e operativo usando le informazioni disponibili. Proponi il contatto con un operatore solo se l'informazione non è presente.”
- Aggiungi esempi few-shot che mostrano il livello di dettaglio atteso.
Risposte errate
Sintomo: l'assistente fornisce un'informazione sbagliata, per esempio un prezzo o un orario non aggiornato.
Diagnosi
Individua la fonte della risposta
Nel dettaglio del messaggio, la sezione Fonti indica da quale documento proviene l'informazione errata.
Verifica il documento
Nove volte su dieci il documento contiene davvero l'informazione sbagliata: è obsoleto, oppure ne esiste una versione più recente non caricata.
Cerca documenti in conflitto
Due documenti che riportano informazioni diverse sullo stesso argomento generano risposte casualmente corrette o sbagliate. È il caso più insidioso.
Leve di correzione, in ordine
- Elimina i documenti obsoleti: mantenere “per storico” un listino vecchio nella knowledge base è la causa più frequente di risposte errate.
- Risolvi i conflitti: una sola fonte autorevole per ogni informazione.
- Aggiungi metadati di validità (data di aggiornamento, versione) e configura la priorità sui documenti più recenti.
- Sposta i dati volatili in uno strumento richiamabile: prezzi, disponibilità e orari non dovrebbero stare in un documento statico ma essere letti dal sistema di riferimento.
- Rigenera l'indice dopo ogni modifica: finché l'indicizzazione non è completata, il contenuto vecchio resta attivo.
La regola d'oro della knowledge base
Se un'informazione cambia più di una volta l'anno, non deve stare in un documento. Deve essere letta in tempo reale da uno strumento richiamabile. Vedi Strumenti.
Il modello non usa la knowledge base
Sintomo: le risposte sembrano provenire dalla conoscenza generale del modello, la sezione Fonti è vuota o non pertinente.
Diagnosi
Verifica lo stato dell'indicizzazione
I documenti devono essere in stato Indicizzato. Gli stati In elaborazione o Errore significano che il contenuto non è disponibile per il recupero.
Verifica che la collezione sia associata al progetto
Una knowledge base popolata ma non associata al progetto non viene interrogata. È l'errore più frequente ed è invisibile finché non lo si cerca.
Prova la ricerca isolata
Usa Prova il recupero nella knowledge base: inserisci la domanda e osserva quali frammenti vengono restituiti. Se qui non esce nulla, il problema è nell'indice.
Controlla la soglia di pertinenza
Una soglia troppo alta scarta tutti i frammenti e il modello risponde senza contesto.
Leve di correzione, in ordine
- Associa la collezione al progetto e ripubblica.
- Risolvi gli errori di indicizzazione: PDF protetti da password, documenti costituiti da sole immagini, file corrotti.
- Abbassa la soglia di pertinenza in modo graduale, per esempio da 0.75 a 0.65.
- Rendi il prompt vincolante: “Rispondi esclusivamente sulla base delle informazioni fornite nel contesto. Se l'informazione non è presente, dichiaralo.”
- Verifica la lingua dei documenti: una knowledge base in inglese interrogata in italiano recupera peggio. Allinea le lingue o attiva la ricerca multilingue.
Il modello inventa informazioni
Sintomo: risposte plausibili ma false, con dettagli inesistenti: numeri di telefono, codici prodotto, condizioni contrattuali mai scritte.
Diagnosi
Il fenomeno si manifesta quando il modello non trova l'informazione ma non ha istruzioni chiare su cosa fare in quel caso. Il comportamento predefinito di un modello linguistico è produrre una risposta comunque.
Verifica se le fonti erano vuote
Se la sezione Fonti è vuota nelle risposte inventate, la diagnosi è confermata.
Controlla il prompt di sistema
Cerca un'istruzione esplicita sul comportamento in assenza di informazioni. Se non c'è, è la causa.
Verifica la temperatura
Valori superiori a 0.7 aumentano sensibilmente la creatività e con essa il rischio di invenzione.
Leve di correzione, in ordine
- Istruzione esplicita nel prompt di sistema:
Rispondi esclusivamente sulla base delle informazioni presenti nel contesto fornito.
Se l informazione necessaria non e presente nel contesto, dichiara chiaramente di non
disporre di quel dato e proponi il contatto con un operatore.
Non dedurre, non stimare e non integrare con conoscenze generali.
Non inventare in alcun caso numeri, prezzi, codici, date, recapiti o condizioni contrattuali.- Abbassa la temperatura a un valore compreso fra 0.1 e 0.3 per gli assistenti informativi.
- Alza la soglia di pertinenza: meglio nessun contesto che un contesto fuorviante.
- Attiva la citazione obbligatoria delle fonti: costringe il modello ad ancorarsi ai documenti e rende immediatamente visibile all'utente l'origine dell'informazione.
- Configura il comportamento di ripiego: passaggio a operatore o messaggio standard quando il recupero non produce risultati.
Non basta scriverlo una volta
Le istruzioni collocate all'inizio e alla fine del prompt di sistema sono seguite più fedelmente di quelle sepolte a metà. Per i vincoli critici, ripetile in entrambe le posizioni.
Risposte troppo lunghe o troppo corte
Sintomo: paragrafi interi dove basterebbero due righe, ripetizione della domanda, chiusure di cortesia ridondanti.
Leve di correzione:
- Vincolo esplicito nel prompt: “Rispondi in massimo 3 frasi. Vai direttamente al punto, senza ripetere la domanda e senza formule di cortesia.”
- Imposta la lunghezza massima della risposta nelle impostazioni del modello.
- Aggiungi esempi few-shot con risposte della lunghezza desiderata: è la leva più efficace, perché il modello imita il formato degli esempi.
- Riduci il numero di frammenti recuperati: più contesto tende a produrre risposte più lunghe.
- Richiedi il formato a elenco per le risposte procedurali: sono più brevi e più leggibili.
Sintomo: risposte monosillabiche o prive delle informazioni di contorno necessarie.
Leve di correzione:
- Rimuovi vincoli di brevità eccessivi dal prompt.
- Verifica la lunghezza massima: se troppo bassa, la risposta viene troncata. Il sintomo tipico è la frase interrotta a metà.
- Chiedi esplicitamente il contesto utile: “Dopo la risposta, indica sempre i passaggi successivi o le informazioni che servono all'utente per procedere.”
- Aumenta i frammenti recuperati se le risposte sono povere per mancanza di contesto.
- Aggiungi esempi con il livello di dettaglio atteso.
Lingua errata
Sintomo: l'utente scrive in italiano e l'assistente risponde in inglese, oppure mescola le lingue nella stessa risposta.
Diagnosi
Verifica la lingua della knowledge base
Se i documenti sono in inglese, il modello tende a rispondere in inglese anche a domande in italiano. È la causa più comune.
Controlla la lingua del prompt di sistema
Un prompt scritto in inglese orienta la risposta verso l'inglese.
Verifica i messaggi molto brevi
Su messaggi di una o due parole il rilevamento automatico della lingua è inaffidabile.
Leve di correzione, in ordine
- Forza la lingua nelle impostazioni del progetto se servi un pubblico monolingua: è la soluzione più semplice e definitiva.
- Scrivi il prompt di sistema in italiano, con istruzione esplicita: “Rispondi sempre in italiano, indipendentemente dalla lingua della domanda e dei documenti di contesto.”
- Traduci i documenti principali, o quantomeno le sezioni più consultate.
- Imposta una lingua predefinita per i messaggi troppo brevi da classificare.
- Verifica i termini tecnici: è normale e corretto che alcuni termini restino in lingua originale.
Il modello non chiama gli strumenti
Sintomo: l'assistente risponde “non posso verificare lo stato del suo ordine” anche se lo strumento esiste ed è configurato.
Diagnosi
Verifica che lo strumento sia attivo e associato
Lo strumento deve essere attivo e associato al progetto. Un'associazione mancante è l'errore più frequente.
Leggi la descrizione dello strumento
La descrizione è ciò che il modello usa per decidere se invocarlo. Una descrizione vaga come “Interroga il sistema” non permette al modello di capire quando serve.
Controlla i parametri obbligatori
Se lo strumento richiede un parametro che il modello non può ricavare dalla conversazione, non lo invoca. Verifica che il flusso raccolga quel dato prima.
Controlla il registro delle invocazioni
Il dettaglio della conversazione mostra le chiamate tentate e il loro esito. Se lo strumento è stato invocato ma ha restituito un errore, il problema è nel tuo sistema, non nel modello.
Leve di correzione, in ordine
- Riscrivi la descrizione in modo operativo:
Nome: verifica_stato_ordine
Descrizione: Recupera lo stato di spedizione di un ordine ACME a partire dal numero
d ordine. Usa questo strumento ogni volta che l utente chiede dove si trova il suo
ordine, quando arrivera la consegna, oppure fornisce un numero d ordine.
Parametri: numeroOrdine (obbligatorio, formato ACME-000000)- Aggiungi esempi few-shot che mostrano una conversazione in cui lo strumento viene invocato.
- Riduci il numero di strumenti attivi: con più di 8 o 10 strumenti la selezione peggiora. Disattiva quelli inutilizzati.
- Rendi facoltativi i parametri non essenziali e imposta valori predefiniti sensati.
- Menziona lo strumento nel prompt di sistema per i casi d'uso prioritari.
- Verifica i tempi di risposta: uno strumento che impiega più di 5 secondi può andare in timeout e apparire come non invocato.
Checklist di messa a punto
Contenuti
- Ogni informazione che l'assistente deve conoscere è presente in un documento indicizzato.
- Non esistono documenti obsoleti o in conflitto sullo stesso argomento.
- I dati volatili (prezzi, disponibilità, stati) sono letti da strumenti, non da documenti.
- I documenti sono nella stessa lingua delle conversazioni attese.
- I metadati (categoria, data, versione) sono valorizzati sui documenti principali.
- Nessun dato personale o riservato è presente nella knowledge base.
Recupero
- Tutte le collezioni necessarie sono associate al progetto.
- Tutti i documenti sono in stato Indicizzato.
- La dimensione dei frammenti è coerente con la struttura dei documenti.
- La soglia di pertinenza è tarata sui risultati reali della funzione di prova.
- Il numero di frammenti recuperati è compreso fra 4 e 8.
Generazione
- Il prompt di sistema definisce ruolo, tono, vincoli e comportamento in assenza di informazioni.
- L'istruzione anti-invenzione è presente, all'inizio e alla fine del prompt.
- La temperatura è compresa fra 0.1 e 0.3 per gli assistenti informativi.
- La lunghezza massima della risposta è coerente con il canale.
- Sono presenti da 3 a 5 esempi few-shot rappresentativi.
- La lingua è forzata se il pubblico è monolingua.
Strumenti
- Ogni strumento ha una descrizione che spiega quando usarlo, non solo cosa fa.
- Gli strumenti inutilizzati sono disattivati.
- I tempi di risposta degli strumenti sono inferiori a 3 secondi.
Verifica
- Esiste una serie di 20-30 domande di test con risposta attesa.
- La serie viene rieseguita dopo ogni modifica significativa.
- Le risposte segnalate dagli operatori vengono riviste settimanalmente.
- Il comportamento di ripiego (nessuna informazione trovata) è configurato e testato.
Ordine di intervento consigliato
Contenuti, poi recupero, poi generazione. Modificare il prompt quando il problema è la knowledge base produce solo risposte scritte meglio ma altrettanto sbagliate.