Oggi vi porto dietro le quinte di un esperimento affascinante che unisce un grande classico della letteratura italiana all'Intelligenza Artificiale.
Ho chiesto alla mia app desktop che implementa un sistema RAG qualcosa di molto specifico scritto nel romanzo “Il fu Mattia Pascal”. Risultato? Una preziosa lezione pratica su come funzionano i sistemi Retrieval-Augmented Generation e su quanto sia vitale la precisione delle nostre domande, i cosiddetti prompt.
Per chi non lo ricordasse, nel romanzo di Pirandello, Mattia Pascal vince una fortuna dopo 12 giorni di roulette a Montecarlo (Capitolo VI). Successivamente, sul treno, fa il conteggio esatto del suo gruzzolo (Capitolo VII).
La cifra esatta che ha in tasca è di 81.725 lire e 40 centesimi (spesso arrotondata a circa 82.000 lire nel testo). La citazione precisa dal Capitolo VII è: "...ottantunmila settecento venticinque lire, e quaranta centesimi in tasca."
Hi chiesto al mio RAG di trovare questo dato.
Alla prima domanda, l'Intelligenza Artificiale ha clamorosamente fallito, restituendo la cifra sbagliata di 53.000 lire.
Si è inventata il numero? Assolutamente no. La cifra appartiene effettivamente al romanzo, ma è in un altro capitolo!
Si riferisce infatti al Capitolo XV ("Io e l'ombra mia"), e indica la somma rimasta ad Adriano Meis dopo il furto nello stipetto.
Molti darebbero subito la colpa ai settaggi dell'applicazione (come il numero di chunk), ma l'analisi di questo test ha rivelato un'altra verità: la domanda originale mescolava troppi elementi confusi, come roulette, treno, capitoli e conteggi diversi.
Il sistema di ranking (che decide quali frammenti di testo pescare) è stato ingannato recuperando altri episodi “monetari” semanticamente vicini a quello cercato.
Il testo corretto era già presente e ben elaborato nel workspace del PDF. Il problema non era l'estrazione in sé, ma l'aggancio lessicale della domanda!
Infatti non sono stati i chunk da 90 parole o l'overlap da 20 a impedire il ritrovamento.
La risposta corretta è stata “scovata” successivamente usando gli stessi identici settaggi.
Per quelli più tecnici che mi seguono su questo blog, ecco la configurazione usata durante l'esperimento:
Come ho sbloccato l'Intelligenza Artificiale? Semplice: cambiando il modo in cui viene formulata la domanda.
Ho usato un prompt mirato con agganci lessicali rari e precisi, nello specifico le parole «centesimi» e «in tasca».
Ecco il prompt vincente: "Trova nel documento un frammento che contenga contemporaneamente le espressioni «centesimi» e «in tasca». Riporta integralmente la frase in cui compaiono e indica la somma espressa immediatamente prima."
Cosa è successo dopo? Con gli stessi settaggi iniziali, la ricerca ibrida ha scovato immediatamente il frammento corretto [Frammento trovato: 9]. Questo ci dimostra che il problema alla radice era la formulazione della domanda, non il caricamento nella libreria del workspace o la lettura del PDF del libro.
Verdetto Finale
L'Intelligenza Artificiale è uno strumento straordinario, ma senza una guida umana attenta rischia di perdersi tra le pagine, letteralmente. Con un prompt ben studiato, RAGradix Pro, così ho denominato la mia preziosissima app, è riuscito a bypassare la confusione semantica trovando l'ago nel pagliaio: 81.725 lire e 40 centesimi. Bingo!
Alla prossima sfida.
