Come è stato impostato il test

L'autore ha costruito un piccolo sistema di generazione aumentata dal recupero (RAG) basato su due documenti di regolamento dei pagamenti e ha eseguito due controlli:

  • Test di recall – la pagina corretta è apparsa tra i primi cinque risultati? Risultato: 60%.
  • Test della risposta – la risposta finale prodotta dal generatore era corretta? Risultato: 90%.

Uno scarto del 40% sembrava impossibile. Se il retriever non trovava la pagina giusta quattro volte su dieci, come poteva il modello rispondere correttamente nove volte su dieci?

Primi tentativi di "correggere" il retriever

Lo sviluppatore ha provato due trucchi comuni:

  • Ricerca ibrida – combinando segnali lessicali e vettoriali. La recall è rimasta invariata.
  • Reranker – riordinare le cinque pagine recuperate. La recall è salita al 70%, ma è rimasta molto distante dal 90% di accuratezza della risposta.

Entrambi gli strumenti si limitano a rimescolare ciò che è già stato recuperato; non possono far apparire una pagina che non è mai entrata nel set di candidati. Il problema risiedeva altrove.

Il problema era la metrica, non il modello

Invece di giudicare il successo in base all'etichetta della pagina, l'autore ha ispezionato i fatti reali all'interno dei chunk recuperati. In tre casi su quattro di "mancato recupero", il fatto corretto era presente, ma si trovava su una pagina diversa da quella prevista dallo script di test. La valutazione ha penalizzato il retriever per aver trovato una risposta corretta su una pagina inaspettata.

Quando la metrica è stata cambiata in "un chunk recuperato contiene il fatto richiesto?", la recall è balzata al 90%, eguagliando l'accuratezza della risposta. Il retriever funzionava; il framework di valutazione no.

Perché la recall tradizionale può trarre in inganno

  • L'etichettatura a livello di pagina crea fallimenti fantasma. Un singolo fatto può apparire su più pagine. Etichettare una sola pagina come ground truth tratta tutti gli altri risultati corretti come errori.
  • I piccoli corpora amplificano l'effetto. Con pochi documenti, una singola pagina etichettata erroneamente può far oscillare drasticamente la recall, mentre l'accuratezza della risposta rimane stabile.
  • Il rumore degli embedding nasconde i fatti. I vettori assegnano un punteggio all'intera pagina; il testo legale o tecnico circostante diluisce il segnale di rilevanza della frase target, declassando la pagina nella classifica anche se il fatto è presente.

Consigli pratici per i professionisti RAG

  • Distinguere tra fallimenti di ranking e di recupero. I reranker correggono solo il primo; se il chunk corretto non entra mai nel set di candidati, il riordinamento non serve a nulla.
  • Etichettare i dati di test a livello di fatto. Associare ogni query alla specifica informazione di cui ha bisogno, non a un singolo identificatore di documento.
  • Non fidarsi dei benchmark su larga scala per dataset minuscoli. I piccoli corpora specifici per un dominio si comportano diversamente, e i punteggi di recall generici possono essere ingannevoli.
  • Prestare attenzione alla granularità degli embedding. Un chunk della dimensione di una pagina contiene molte parole, e il testo legale circostante può abbassare il rango del fatto che ti interessa.

In sintesi: un punteggio elevato di accuratezza della risposta può coesistere con un basso valore di recall tradizionale quando la valutazione non è allineata con il compito. Correggere la metrica, e non il modello, fa risparmiare tempo, riduce i falsi allarmi e produce implementazioni RAG più affidabili.