;Resize,width=638;)
Se proviamo a chiedere a ChatGPT o a qualunque modello di linguaggio (LLM) basato su intelligenza artificiale di completare la frase “Il cibo più buono è…” ci darà una risposta differente ogni volta che lo chiediamo. Le risposte degli LLM, infatti, hanno una componente casuale e non otterremo mai la stessa identica risposta alla stessa domanda. Per riuscire ad ottenere ciò che vogliamo da un LLM, dobbiamo imparare a scrivere bene la richiesta, cioè il prompt. Per iniziare, è sufficiente essere chiari, diretti e dettagliati nella nostra richiesta. Possiamo anche mostrare degli esempi di risposta o di come vorremmo che “ragionasse” per guidarla nella risposta e chiederle di citare direttamente documenti per evitare che inventi informazioni.
Testare la risposta dell'AI su qualcosa che conosciamo
Innanzitutto, se siamo alle prime esperienze con l’AI generativa, come per esempio ChatGPT, è importante iniziare ad usarla in aree in cui siamo competenti. In questo modo, possiamo renderci conto di cosa sa e cosa non sa fare. Le capacità dell’AI potrebbero infatti sorprenderci, non sempre positivamente. Le sue abilità seguono quella che in termini tecnici viene chiamata “jagged frontier” , cioè “frontiera frastagliata”: i modelli potrebbero saper fare qualcosa di molto difficile per noi (fuori dalla nostra frontiera), ma essere incompetenti in compiti per noi molto facili (dentro la nostra frontiera). Inoltre, se ne testiamo le abilità in campi di cui siamo competenti, potremmo facilmente riconoscere le “allucinazioni”, cioè quelle frasi che sembrano vere, ma non lo sono affatto.

Fare domande chiare, dirette e dettagliate
Quando ci interfacciamo con l'AI, pensiamola come una nuova collega estremamente brillante, infinitamente paziente, ma con forti problemi di memoria. Siccome è nuova sul lavoro, avrà bisogno di istruzioni chiare, dirette e dettagliate per poter dare il risultato migliore. Ad esempio, è utile spiegarle chi sta scrivendo, per cosa verrà utilizzato il risultato e in che formato ci si aspetta che venga data la risposta. Chiedere, quindi, “Prepara una verifica su Manzoni” darà un risultato mediocre, mentre chiedere “Prepara una verifica sui Promessi Sposi per una seconda superiore di un liceo classico. Il test deve essere a crocette e contenere dieci domande, tutte sul quarto capitolo” produrrà qualcosa di molto più simile al nostro risultato sperato.

Non è comunque detto che otterremo ciò che volevamo al primo tentativo, ed è qui che potremo sfruttare l’essere “infinitamente paziente” dell’AI. Possiamo provare e riprovare a scrivere il prompt fino a che non otteniamo esattamente quello che ci serve, l’AI non si stancherà di risponderci. Ricordiamoci, però, che ha “forti problemi di memoria” e se cambiamo chat, si dimenticherà tutto ciò che le abbiamo detto e dovremo ricominciare da zero. Questo può anche essere un bene se ci troviamo in un vicolo cieco e non stiamo riuscendo ad ottenere la risposta che vogliamo: prendiamo il prompt che ci ha dato il risultato migliore e ricominciamo in una nuova chat.
Fornire esempi di risposta e di ragionamento: Few-Shot Prompting e Chain-of-Thought
Se vogliamo ottenere delle risposte più mirate, possiamo insegnare all’AI come vogliamo che risponda mettendo degli esempi di risposta nel prompt. Questo metodo si chiama few-shot prompting e permette all’AI di riconoscere eventuali linee guida per essere più accurata. Ad esempio, se dobbiamo trasformare degli appunti su pc in un post social, possiamo mostrare 2-3 esempi già fatti e chiedere di applicare lo stesso metodo ai nuovi appunti.

Se stiamo affrontando dei compiti complessi, possiamo guidare l'AI chiedendole direttamente di scomporre il problema o esplicitando la strategia di ragionamento da seguire oppure mostrando esempi risolti. Tutte queste tecniche rientrano nel Chain of Thought (CoT) prompting, estremamente utile per problemi difficili. Le versioni di ChatGPT a partire da “o1” in avanti sono diventate così brave a risolvere compiti difficili perché, tra le altre cose, integrano il CoT nel modello stesso. Con il miglioramento dei modelli di IA, le tecniche più avanzate di prompting verranno inglobate nelle strutture interne dei modelli e diventeranno via via meno utili per noi utilizzatori.
Come limitare le allucinazioni: permettere l’incertezza e fare diversi tentativi
Per ridurre la probabilità di ottenere allucinazioni, Anthropic ha rilasciato una guida con alcune possibili strategie:
- Permettere di dire "non lo so": I modelli di AI sono creati per dare sempre una risposta, anche quando non hanno le informazioni necessarie. Scrivere esplicitamente nel prompt che il modello può rispondere "Non lo so” quando è incerto diminuisce la generazione di informazioni errate.
- Chiedere di citare il documento: Se stiamo analizzando un documento molto lungo, è consigliabile chiedere di estrarre citazioni dal testo parola per parola, e poi di usare queste citazioni per rispondere. In questo modo, il modello devierà poco da ciò che c’è effettivamente scritto nel documento.
- Mostrarci il ragionamento: Chiedere al modello di spiegare il processo con cui è arrivato ad una certa risposta semplicemente dicendo “Spiegami il ragionamento passo dopo passo” ci permette di individuare eventuali errori logici o supposizioni errate.
- Confrontare più risposte: Dando lo stesso prompt più volte possiamo confrontare le risposte: se sono molto diverse tra loro, possiamo assumere che il modello stia inventando completamente la risposta e che sia quindi un’allucinazione.
In ogni caso, ricordiamo che queste tecniche, pur riducendo in modo significativo le allucinazioni, non le eliminano del tutto.