Wat is RAG? is de definitie: zoek een benoemde passage op en schrijf daarna pas. Deze pagina gaat over de operationele keuze. Wanneer is die methode de juiste, welke vormen shippen mensen werkelijk, en wat “effectief” mag betekenen als niemand je het bestand laat zien.
Wanneer RAG de klus is
Gebruik RAG wanneer drie dingen tegelijk waar zijn.
- Het antwoord moet kloppen met een verzameling die van jou is: contracten, handboek, incidentrapporten, specificaties, tickets.
- Die verzameling verandert. De clausule van vorig jaar is niet die van dit jaar.
- Iemand moet de passage kunnen openen als de zin later ter discussie staat.
Vragen over opzegtermijnen, terugbetalingsregels, veiligheidsstappen en “wat hebben we deze klant in maart verteld” zijn RAG-klussen. Het product is de map onder de lamp. Genereren is de laatste meter.
Wanneer het de verkeerde klus is
Gezaghebbende openbare opzoekingen. Hoort het antwoord bij een actueel register, een API of een eerstelijnspagina, bevraag dan die bron. Een kopie in je eigen corpus indexeren voegt veroudering toe zonder gezag toe te voegen.
Eenmalig documentwerk. Past het relevante bestand in de context en is de klus vandaag klaar, open dan het hele bestand en houd het bij het werk. Bouw retrieval wanneer hergebruik, omvang, verandering, rechten of herhaalbaar citeren een ingestiepad rechtvaardigen.
Blijvende vragen over verbanden. “Hoe hangen deze accounts samen?” “Wat is afhankelijk van deze dienst?” “Wie is eigenaar van de claim in hoofdstuk 4?” Moet de relatie zelf worden opgeslagen en doorlopen, gebruik dan een knowledge graph en geen vergelijkbare alinea. Je kunt die graaf uit tekst bouwen. Het is een andere architectuur, geen grotere vector store.
Een besluit dat een benoemde beoordelaar nodig heeft. Retrieval vervangt de mens in de lus niet. Een correcte clausule kan nog steeds naar de verkeerde persoon gaan.
Twee voorwaarden die mensen overslaan
Teams discussiëren over embeddings en laten twee operationele besluiten onbeschreven. Die besluiten beperken elke architectuur.
Actualiteit. Hoeveel tijd zit er tussen een document dat verandert en een systeem dat uit de nieuwe versie antwoordt? Zet er een norm op en test die met een bekende wijziging: upload het handboek opnieuw, verander een specificatie, stel de afhankelijke vraag en noteer het gat. Een index die stilletjes achterloopt is erger dan geen index, want het foute antwoord arriveert mét bronvermelding.
Rechten. Retrieval erft wat je hebt geïndexeerd, niet wat de vrager mag lezen. Zijn salarisbrieven, notulen van de board en het HR-handboek in één collectie beland, dan kan het model alle drie ophalen tenzij je dat tegenhoudt. Dwing toegang af tijdens het ophalen, tegen de identiteit van de vrager, splits je verzamelingen op de grens van die toegang, of indexeer alleen materiaal dat elke gebruiker mag zien. Filteren nadat het model de passage heeft gezien is te laat.
Bepaal wat er gebeurt als er niets goeds wordt gevonden. Test de ophaaldrempel op bekende missers, niet alleen op geslaagde demo’s. Haalt geen enkele toegestane passage die drempel, geef dan geen antwoord en noem de volgende route. Weigeren is een functie die je met opzet bouwt.
Loop er één na: het beleid dat twee versies had
Deze fout is alledaags en kost geld.
Iemand vraagt de assistent hoeveel dagen opzegtermijn een klant moet aanhouden voordat die opzegt. Het systeem geeft een net antwoord met een bronvermelding. Die bronvermelding wijst naar terms-v3.pdf. De getekende overeenkomst met deze klant is terms-v4.pdf, geüpload in maart, en die verschoof het getal.
De onderdelen deden precies wat er was ingesteld. Het product faalde toch. Beide bestanden stonden in het corpus en pasten bij de vraag. Nergens in de index stond dat het ene het andere verving, dus koos de ranking op gelijkenis, en v3 formuleerde de clausule toevallig dichter bij de vraag.
De reparatie is geen beter embeddingmodel. Het zijn metadata en een regel.
- Elk geïndexeerd document draagt een ingangsdatum, een versie en een status: actueel, vervangen, concept.
- Vervangen en concept vallen standaard buiten het ophalen, niet alleen lager in de ranking.
- Het antwoord noemt de versie, niet alleen het bestand. “Clausule 12.3 van terms-v4, ingegaan op 4 maart” is controleerbaar. “Volgens onze voorwaarden” niet.
- Iemand is eigenaar van verwijderen. Een corpus dat alleen groeit, houdt elke fout eeuwig opvraagbaar.
Draai dit deze week op je eigen systeem. Pak één beleidsstuk waarvan je weet dat het is herzien. Stel de vraag. Kijk wat eruit komt. Kan het antwoord niet vertellen welke versie het las, dan is de discussie over architectuur voorbarig.
Vier vormen, vier klussen
Mensen sommen architecturen op alsof de latere de eerdere overbodig maken. Dat doen ze niet. Ze beantwoorden verschillende vragen.
Naïef ophalen en genereren. Knip het corpus in stukken. Embed. Haal de dichtstbijzijnde buren op. Zet ze in de prompt. Schrijf. Dit is de demo. Het volstaat wanneer de vraag een clausule noemt en de juiste chunk dicht bij de vraag ligt. Het faalt zodra twee versies van hetzelfde beleid naast elkaar staan, of wanneer de vraag over de hele verzameling gaat.
Hybride search. Trefwoorden of BM25 naast dense vectoren, daarna een reranker. Gebruik het wanneer namen, ID’s en zeldzame tokens ertoe doen: contractnummers, SKU’s, foutcodes. Embeddings zijn slecht in exacte strings. Lexicaal zoeken is slecht in parafrase. Dat paar is inrichting die zichzelf terugverdient. Het is nog steeds geen Inspect.
Agentische retrieval. Het model mag zoeken aanroepen als tool, nog eens kijken, weigeren. Gebruik het wanneer één hop de vraag niet dekt: “vergelijk de MSA van vorig jaar met die van dit jaar en noem de clausule die verschoof.” Nu heb je een workflow. Je hebt ook meer manieren om Inspect over te slaan. De loop uit GRAIN blijft binden: Gather, Rank, Assemble, Inspect, Navigate.
RAG met een graafindex. De GraphRAG-methode van Microsoft haalt entiteiten en relaties uit tekst, clustert die tot communities en genereert per community een samenvatting. Lokale vragen willen nog steeds een passage. Globale vragen zoals “welke thema’s keren terug in dit corpus?” hebben geen enkele chunk om op te halen; daarvoor is GraphRAG gebouwd. Het voegt een indexeerpijplijn toe voor extractie en samenvattingen per community. De openbare README op GitHub, gelezen op 2026-08-27, meldt dat het project grotendeels in onderhoudsmodus is. Behandel het als een gepubliceerde methode, niet als standaardinstallatie.
Sorteer op de vraag, niet op de slide.
| De vraag klinkt als | Wat er werkelijk nodig is |
|---|---|
| ”Wat staat er in clausule 12.3?” | Naïeve retrieval, met versiemetadata |
| ”Wat hebben we geoffreerd op order 88-4471?” | Hybride search. Exacte ID’s, geen parafrase |
| ”Hoe verschilt de MSA van dit jaar van die van vorig jaar?” | Agentische retrieval. Meer dan één hop |
| ”Welke thema’s keren terug in twee jaar supporttickets?” | Een methode met een graafindex, of een analist |
| ”Wat breekt er als we deze dienst uitfaseren?” | Een knowledge graph. Geen retrieval |
Geen van deze is “het meest effectief” als slogan. Test drie dingen: gebruikte het ophalen de actuele geautoriseerde versie, kan een mens de onderbouwende passage openen, en weigert het systeem wanneer geen enkele passage het antwoord draagt? Een verfijnde graaf die op die drie zakt, blijft een vloeiende gok met extra ceremonie.
Wat je vrijdag moet eisen
Pak één antwoord uit deze week.
- Welke passage is opgehaald?
- Waarom deze versie en niet de oudere?
- Wat is eromheen gezet?
- Heeft iemand een misser bekeken, of alleen de demo die werkte?
- Volgende opzoeking, of weigeren?
Blijven die regels leeg, stop dan met discussiëren over chunkgrootte. Je hebt generatie met extra’s opgeleverd. Evalueer de redenering, niet de vloeiendheid is de test ernaast wanneer de zin netjes is en de bron niet.
De RAG-engineer bezit de langere praktijk. Het is nu verkrijgbaar. Je kunt nu al een slide weigeren die RAG zegt en de map niet kan openen.