Hoe de test werd opgezet
De auteur bouwde een klein retrieval-augmented generation (RAG)-systeem rondom twee documenten met betalingsreglementen en voerde twee controles uit:
- Recall-test – verscheen de juiste pagina in de top vijf resultaten? Resultaat: 60 %.
- Antwoordtest – was het uiteindelijke antwoord van de generator correct? Resultaat: 90 %.
Een gat van 40 % leek onmogelijk. Als de retriever de juiste pagina vier van de tien keer miste, hoe kon het model dan nog steeds negen van de tien keer het juiste antwoord geven?
Eerste pogingen om de retriever te "repareren"
De ontwikkelaar probeerde twee veelvoorkomende trucs:
- Hybrid search – het combineren van lexicale en vector-signalen. De recall bleef gelijk.
- Reranker – het opnieuw ordenen van de vijf opgehaalde pagina's. De recall steeg naar 70 %, maar bleef nog steeds ver achter bij de antwoordnauwkeurigheid van 90 %.
Beide tools herschikken alleen wat al is opgehaald; ze kunnen geen pagina toveren die nooit in de kandidaatset is terechtgekomen. Het probleem lag elders.
De metriek, niet het model, was defect
In plaats van succes te beoordelen op basis van het paginalabel, inspecteerde de auteur de feitelijke informatie in de opgehaalde chunks. In drie van de vier "missers" was het juiste feit aanwezig, maar stond het op een andere pagina dan het testscript verwachtte. De evaluatie strafte de retriever af omdat er een correct antwoord werd gevonden op een onverwachte pagina.
Toen de metriek werd gewijzigd naar "bevat een opgehaalde chunk het vereiste feit?", sprong de recall naar 90 %, wat overeenkwam met de antwoordnauwkeurigheid. De retriever werkte wel; het evaluatiekader niet.
Waarom traditionele recall misleidend kan zijn
- Labeling op paginaniveau creëert schijnfouten. Een enkel feit kan op meerdere pagina's voorkomen. Door slechts één pagina als ground truth te labelen, worden alle andere correcte resultaten als fouten beschouwd.
- Kleine corpora versterken het effect. Bij een klein aantal documenten kan één verkeerd gelabelde pagina de recall drastisch beïnvloeden, terwijl de antwoordnauwkeurigheid stabiel blijft.
- Embedding-ruis verbergt feiten. Vectoren scoren hele pagina's; omliggende juridische of technische tekst verzwakt het relevantiesignaal van de doelzin, waardoor de pagina lager in de rangschikking terechtkomt, ook al is het feit aanwezig.
Praktische lessen voor RAG-experts
- Maak onderscheid tussen ranking- en retrieval-fouten. Rerankers lossen alleen het eerste op; als de juiste chunk nooit in de kandidaatset terechtkomt, helpt het opnieuw ordenen niet.
- Label testgegevens op feitenniveau. Koppel elke query aan de specifieke informatie die nodig is, niet aan een enkele document-identifier.
- Vertrouw niet op grootschalige benchmarks voor kleine datasets. Kleine, domeinspecifieke corpora gedragen zich anders, en generieke recall-scores kunnen misleidend zijn.
- Let op de granulariteit van embeddings. Een chunk ter grootte van een pagina bevat veel woorden, en omliggende juridische tekst kan de rangschikking van het relevante feit verlagen.
Conclusie: een hoge score voor antwoordnauwkeurigheid kan naast een lage traditionele recall-score bestaan wanneer de evaluatie niet in lijn is met de taak. Het aanpassen van de metriek, in plaats van het model, bespaart tijd, vermindert valse alarmen en leidt tot betrouwbaardere RAG-implementaties.
