Come verificare se un RAG aziendale risponde bene?
Fissa corpus, versioni, utente e domande; indica prima quali fonti sono ammesse e quali fatti servono. Conserva separatamente documenti recuperati e risposta. Misura il recupero solo sui casi pertinenti e valuta sostegno, completezza e astensione con denominatori espliciti. Errori tecnici, fonti assenti e accessi negati richiedono stati distinti, non un unico punteggio.
Parti da una decisione che il test deve rendere possibile
Quando un assistente sbaglia, cambiare subito modello può nascondere il problema. La fonte poteva essere ritirata, la ricerca poteva non averla trovata oppure la risposta poteva aver aggiunto una condizione assente dai documenti. Un collaudo utile permette di distinguere queste situazioni e assegnare la correzione alla componente pertinente.
La guida alla fonte unica descrive come governare documenti, responsabili e permessi. Qui il compito è diverso: costruire un caso di prova ricostruibile, dalla domanda ai passaggi che sostengono la risposta. Il protocollo seguente è proposto, non eseguito. La fixture è interamente fittizia e non rappresenta risultati di clienti.
Fissa corpus, identità e giudizi prima dell’esecuzione
Una domanda non ha lo stesso insieme di risposte ammesse per tutti gli utenti e in ogni momento. Identifica corpus e versione, utente o ruolo di prova, regole di accesso, data di validità e versione dell’indice. Annota anche modello, istruzioni, ricerca, riordino e suddivisione dei documenti. Una modifica a questi elementi cambia le condizioni da confrontare.
Per ogni domanda l’owner competente indica i documenti pertinenti ammessi, i fatti richiesti e il comportamento in assenza di una fonte sufficiente. Sono giudizi da verificare, non risposte che un modello può dichiarare corrette da solo. La documentazione dei RAG evaluators Microsoft distingue valutazioni del recupero con etichette di riferimento e giudizi sul contenuto recuperato: non sono misure intercambiabili.
Usa domande reali autorizzate quando disponibili, poi aggiungi casi limite e domande tenute fuori dalla messa a punto. Una domanda generata dal modello è una proposta da verificare, non prova della sua frequenza tra gli utenti. Conserva motivazione, responsabile e versione dei giudizi; una lista incompleta di fonti pertinenti limita l’interpretazione del richiamo.
Fixture DEMO: le fonti e i fatti sono tutti visibili
Il corpus C-DEMO-1 contiene soltanto le otto righe seguenti. Ogni riga è un documento indivisibile, senza chunk aggiuntivi. Per U-STD sono ammessi i cinque documenti attivi non riservati; versioni ritirate e documento riservato sono esclusi prima di costruire il contesto della risposta. Tutto è inventato, incluse le politiche di accesso.
| Documento | Stato e accesso per U-STD | Passaggio esatto sintetico | Fatto |
|---|---|---|---|
| A-v2 | Attivo, ammesso | Il punto di raccolta delle richieste DEMO è il Portale-A. | F1 |
| A-v1 | Ritirato, escluso | Il punto di raccolta delle richieste DEMO è il Portale-Z. | Vecchia versione di F1 |
| B-v1 | Attivo, ammesso | La presa in carico DEMO è entro due giorni lavorativi. | F2 |
| C-v1 | Attivo, ammesso | Il laboratorio DEMO dura trenta minuti. La partecipazione prevista è in presenza. | F3 e F4 |
| X-v1 | Attivo, ammesso | Il catalogo DEMO distingue i codici per colore. | Nessun fatto atteso nei casi di risposta |
| Y-v1 | Attivo, ammesso | Il manuale DEMO descrive la chiusura delle scatole. | Nessun fatto atteso nei casi di risposta |
| P-v1 | Attivo, riservato, escluso | Il codice riservato DEMO è CODICE-P. | Informazione non ammessa a U-STD |
| S-v1 | Ritirato, escluso | La procedura ARCHIVIO-DEMO prevede il Modulo-S. | Nessuna versione attiva disponibile |
I documenti pertinenti sono valutati a livello di documento, non di frammento. Per R01 l’insieme completo noto è A-v2 e B-v1; per R02 è C-v1. Per R01, C-v1, X-v1 e Y-v1 sono ammessi ma non pertinenti: accessibilità e pertinenza sono proprietà diverse. Un contenuto pertinente ma non autorizzato non entra nel riferimento ammesso.
Registro 1: pianifica anche assenza, diniego e fonte ritirata
Il manifesto TSV sotto ha una riga per caso. NESSUNO indica un insieme atteso vuoto, non un errore di raccolta. La condizione di errore R06 ripete R01 con un guasto controllato previsto; conserva il proprio identificativo. Nel collaudo reale ogni ripetizione e ogni nuovo tentativo devono essere identificabili.
caso_id corpus utente classe domanda_esatta doc_pertinenti_ammessi fatti_attesi comportamento_atteso k
R01 C-DEMO-1 U-STD rispondibile Quale canale DEMO devo usare e quando avviene la presa in carico? A-v2|B-v1 F1|F2 risposta_con_fonti 3
R02 C-DEMO-1 U-STD rispondibile Quanto dura il laboratorio DEMO e come si partecipa? C-v1 F3|F4 risposta_con_fonti 3
R03 C-DEMO-1 U-STD fonte_assente Quale trasporto DEMO collega i due stabilimenti? NESSUNO NESSUNO astensione 3
R04 C-DEMO-1 U-STD accesso_negato Quale codice riservato DEMO posso usare? NESSUNO NESSUNO astensione_senza_dettagli_riservati 3
R05 C-DEMO-1 U-STD solo_fonte_ritirata Quale modulo richiede oggi la procedura ARCHIVIO-DEMO? NESSUNO NESSUNO astensione 3
R06 C-DEMO-1 U-STD errore_controllato Quale canale DEMO devo usare e quando avviene la presa in carico? A-v2|B-v1 F1|F2 segnalazione_errore_senza_risposta_documentale 3
R03 manca nel corpus; R04 non ha fonti ammesse per quell’identità; R05 ha soltanto una versione ritirata. Il testo mostrato all’utente può essere ugualmente prudente, mentre il registro operativo distingue i motivi. Non rivelare il contenuto riservato, il suo titolo o altri dettagli non ammessi per giustificare il diniego. L’autorizzazione va verificata nel sistema di ricerca e nei percorsi collegati, non delegata a una frase nel prompt; Azure AI Search documenta approcci differenti e dipendenti dalla configurazione.
Registro 2: risultati inventati, ma integralmente ricostruibili
Queste sono osservazioni sintetiche scritte per l’esempio, non risposte ottenute da un RAG. I risultati ordinati sono i documenti effettivamente passati al contesto dimostrativo. In un’applicazione reale conserva anche candidati intermedi, filtri e riordino quando servono a capire dove il documento è stato escluso. Un file di log non prova automaticamente che tutti i percorsi siano registrati.
caso_id stato_recupero doc_ordinati risposta_sintetica_esatta claim_sostenuti claim_non_sostenuti fatti_attesi_coperti astensione nota
R01 valido A-v2|X-v1|B-v1 Usa il Portale-A. La presa in carico DEMO è entro due giorni lavorativi. F1|F2 NESSUNO F1|F2 NON-APPLICABILE esempio_fittizio
R02 valido X-v1|Y-v1|C-v1 Il laboratorio DEMO dura trenta minuti. È gratuito. F3 G1 F3 NON-APPLICABILE G1_non_verificabile_sul_corpus
R03 valido NESSUNO Non ho una fonte utilizzabile per questa richiesta. NON-APPLICABILE NON-APPLICABILE NON-APPLICABILE conforme fonte_assente
R04 valido NESSUNO Non ho una fonte utilizzabile per questa richiesta. NON-APPLICABILE NON-APPLICABILE NON-APPLICABILE conforme diniego_fittizio
R05 valido NESSUNO Non ho una fonte utilizzabile per questa richiesta. NON-APPLICABILE NON-APPLICABILE NON-APPLICABILE conforme solo_versione_ritirata
R06 errore NON-DISPONIBILE NON-GENERATA NON-DISPONIBILE NON-DISPONIBILE NON-DISPONIBILE NON-APPLICABILE timeout_fittizio
In R01 la prima frase rende F1 in forma abbreviata e la seconda riprende F2. In R02 la durata sostiene F3; «È gratuito» è G1, non sostenuto dai documenti. Il corpus non permette di stabilire che G1 sia falso: il prezzo è non verificabile. Inoltre manca F4, la partecipazione in presenza. Un output può avere contemporaneamente un’aggiunta non sostenuta e un’omissione.
Calcola rapporti diversi per domande diverse
Le definizioni di precisione a k fisso e richiamo a k fisso usano conteggi distinti di elementi recuperati e pertinenti. Qui dichiariamo il protocollo: Precision@3 = documenti pertinenti tra i primi tre / 3; Recall@3 = documenti pertinenti recuperati tra i primi tre / documenti pertinenti ammessi noti. I duplicati dello stesso documento/versione contano una volta. Se una ricerca valida restituisce meno di tre documenti, il denominatore di Precision@3 resta tre; un errore tecnico non diventa una ricerca valida vuota.
Applichiamo queste metriche soltanto ai casi rispondibili con recupero valido: R01 e R02. R06 è un terzo caso con fonti attese, ma il risultato manca; la copertura di quel gruppo è quindi 2/3. R03–R05 hanno insieme pertinente ammesso vuoto: il loro richiamo non viene calcolato dividendo per zero.
| Misura della fixture | Numeratore e denominatore | Risultato descrittivo |
|---|---|---|
| Recupero valido su piano | R01–R05 / sei casi | 5/6 = 83,3% |
| Precision@3 R01 | A-v2 e B-v1 / tre posizioni | 2/3 = 66,7% |
| Precision@3 R02 | C-v1 / tre posizioni | 1/3 = 33,3% |
| Media delle due precisioni | (2/3 + 1/3) / 2 | 50% |
| Recall@3 R01 e R02 | 2/2 e 1/1 | 100% ciascuno |
| Claim sostenuti nelle due risposte documentali | F1, F2, F3 / F1, F2, F3, G1 | 3/4 = 75% |
| Fatti richiesti coperti nelle stesse due risposte | F1, F2, F3 / F1, F2, F3, F4 | 3/4 = 75% |
| Astensioni conformi nel gruppo senza fonte ammessa | R03, R04, R05 / tre casi | 3/3 nell’esempio inventato |
La media delle precisioni è macro, con uguale peso per domanda. Nella fixture coincide con il rapporto micro 3 documenti pertinenti / 6 posizioni perché ogni domanda usa lo stesso k. Non assumere che medie e aggregati coincidano in altri protocolli. Anche i due 75% misurano cose diverse: sostegno delle frasi prodotte e copertura dei fatti richiesti.
Il sostegno al contesto non coincide con la correttezza rispetto a una fonte valida. Una risposta fedele ad A-v1 resterebbe basata su un documento ritirato. I framework di valutazione, come il tutorial RAG di LangSmith, aiutano a organizzare verifiche separate; le nostre etichette manuali non equivalgono automaticamente ai punteggi o ai giudici di un fornitore.
Dal risultato alla correzione e alla riprova
R02 suggerisce due controlli della generazione: evitare affermazioni senza supporto e includere il formato richiesto. Aumentare il richiamo non risolve automaticamente questo esempio, perché C-v1 era già presente. Un caso con fonte attesa mai recuperata richiederebbe invece di esaminare ingestione, versione, filtro, ricerca o riordino. Una fonte esclusa correttamente per accesso non è un difetto di pertinenza da aggirare.
Concorda requisiti inderogabili e soglie prima di ottimizzare. Non compensare un accesso non ammesso con una media migliore. Tre astensioni dimostrative non provano sicurezza generale; servono prove autorizzate sui percorsi reali, su identità diverse e sul ciclo di revoca. Un giudice automatico può assistere, ma richiede rubriche versionate e confronto con valutazioni competenti sui casi importanti.
Ripeti il campione compatibile dopo la correzione, mantenendo anche domande non usate durante la messa a punto. Conserva fallimenti, costi e tempi con le loro condizioni; due domande non stimano una prestazione stabile. Il registro del costo pilota collega poi il lavoro agli esiti accettati. La decisione finale deve dire che cosa è stato verificato, che cosa resta aperto e chi può autorizzare il passaggio successivo.
Fonti e trasparenza editoriale
Fonti primarie consultate il 6 novembre 2026. La fixture, i registri e le regole operative sono una proposta della Redazione Niuexa preparata con assistenza AI. Documenti, risposte e numeri DEMO sono inventati: nessuna applicazione RAG o modello è stato eseguito per questo articolo.
- NIST trec_eval, Precision at cutoffs, per la precisione a k fisso e il denominatore quando i documenti restituiti sono meno di k.
- NIST trec_eval, Recall at cutoffs, per il rapporto tra documenti pertinenti recuperati e documenti pertinenti noti.
- Microsoft Foundry, Retrieval-Augmented Generation evaluators, per distinguere valutazione del recupero, sostegno al contesto, pertinenza e completezza.
- LangSmith, Evaluate a RAG application, per dataset di domande, risultati attesi e valutazioni separate delle componenti.
- Azure AI Search, Document-level access control, per verificare i permessi sui documenti al momento della ricerca; approcci e disponibilità dipendono dalla configurazione.
Le formule qui dichiarate non riproducono automaticamente i punteggi dei fornitori. Il risultato di una piccola fixture non certifica affidabilità, sicurezza o prestazioni su altri dati e utenti.
Domande sul collaudo di un RAG aziendale
Un richiamo del 100% significa che il RAG è corretto?
No. Descrive il recupero dei documenti pertinenti noti nel corpus e nel campione dichiarati. La risposta può omettere un fatto, aggiungere una frase non sostenuta o citare una versione non valida. Queste verifiche hanno criteri distinti.
Come valuto una domanda che non ha fonti ammesse?
Non usare un richiamo con denominatore zero. Valuta il comportamento atteso senza fonte, per esempio un’astensione o un passaggio al referente, e registra separatamente il motivo operativo. La risposta all’utente non deve rivelare contenuti o dettagli riservati per spiegare un accesso negato.
Un timeout del recupero vale come zero documenti pertinenti?
No. Se il recupero non ha prodotto un risultato valutabile, la misura è mancante. Conserva errore e tentativo nel registro e mostra la copertura dei casi. Un insieme vuoto restituito correttamente è invece un risultato osservabile da valutare secondo il caso previsto.
Posso usare un modello per giudicare le risposte?
Sì, come componente da configurare e verificare. Versiona rubriche e giudice, conserva motivazioni e confronta un campione con valutazioni competenti. Un giudizio automatico non approva i fatti aziendali né prova che i permessi siano applicati.
Una nuova fonte richiede di ripetere tutti i test?
Identifica i casi che dipendono dalla fonte e quelli di regressione da mantenere. Versiona corpus, giudizi di pertinenza e risultati attesi; confronta soltanto condizioni compatibili. Un numero migliore dopo aver cambiato il dataset non dimostra un miglioramento a parità di prova.