---
title: "RAG-actualiteit | Verouderde embeddings en indexen | Len P. van der Hof"
description: RAG-actualiteit meet of de index de geldende bron nog vertegenwoordigt binnen de afgesproken maximale leeftijd. Verouderde embeddings zijn oude…
image: "https://lenvanderhof.com/media/generated/blog-hero-rag-freshness-v1.479065931831.wide.webp"
---

[AI-systemen](https://lenvanderhof.com/nl/blog/categorie/ai-systemen/) Onderzoeksartikel

# RAG-actualiteit: de pdf van vorige maand is geen zoekprobleem

Het systeem kan clausule 12.3 feilloos ophalen en toch de getekende wijziging missen.

Len P. van der HofGepubliceerd 22 september 2026Bijgewerkt 25 september 20266 min. leestijd

De opgehaalde doos bestaat. Alleen de versie geldt niet meer.

Direct antwoord

RAG-actualiteit is de bewaakte afspraak tussen de geldende bronnen en de index waaruit je antwoordt. In De RAG-engineer heet dit versheid. Een index is verouderd wanneer een bron wijzigt, verloopt, wordt verwijderd of andere rechten krijgt, en die toestand de retrieval niet binnen het afgesproken venster bereikt. Een verouderde embedding is een vector die is berekend uit inmiddels vervangen tekst, of een vector die achterbleef na een wijziging van de preprocessing of het embeddingmodel; een ongewijzigde vector bederft niet omdat hij oud is. Actualiteit vraagt daarom om bronversies, wijzigingsdetectie, afhandeling van verwijderingen, heringest, indexversies met een atomaire omschakeling, evaluatie, een TTL of lag-budget per corpus en vastgelegd gedrag zodra het venster wordt overschreden. Een TTL is de grens, niet de update. In het GRAIN-model van de auteur beheert Navigate freshness deze cyclus.

## Belangrijkste inzichten

- Een correcte retrieval uit een achterhaalde index is een fout in actualiteit, geen fout in ranking.
- Vectoren bederven niet op de kalender. Hun relatie met de bron, de preprocessing of het embeddingmodel veroudert.
- Een TTL zegt hoe lang je stilzwijgend mag blijven serveren. Wijzigingsdetectie, heringest en het doorgeven van verwijderingen doen het werk.
- Navigate in GRAIN staat voor versheid: updates, veroudering en TTL. Niet voor de volgende lookup.

De trace van de retrieval ziet er voorbeeldig uit. Clausule 12.3 stond bovenaan, kwam in de context en draagt het antwoord. Het antwoord is toch fout.

De getekende wijziging heeft de index nooit bereikt.

**RAG-actualiteit is de bewaakte afspraak tussen een geldende bron en de index waaruit je antwoordt.** De afspraak zegt hoe oud de geïndexeerde toestand mag worden, hoe wijzigingen erin terechtkomen en wat het product doet als de afspraak wordt geschonden. In [De RAG-engineer](https://lenvanderhof.com/boeken/the-rag-engineer/) heet dit versheid. Retrievalkwaliteit redt geen document dat de index nooit heeft gezien. [Wat is RAG?](https://lenvanderhof.com/nl/blog/wat-is-rag/) definieert de architectuur. Deze pagina definieert de klok die eronder loopt.

## Verouderde index en verouderde embeddings

Een **verouderde index** vertegenwoordigt niet langer de brontoestand die je had afgesproken te serveren. De bron is bewerkt, vervangen, verwijderd of achter nieuwe rechten gezet, en de index draagt nog de oude toestand.

De fout kan buiten de vectorstore zitten. Keywordindexen, metadatatabellen, rerankingkenmerken, documentcaches en gegenereerde samenvattingen houden allemaal vervangen content vast. “We hebben de embeddings opnieuw gebouwd” is onvolledig zolang een oude lexicale vermelding of een gecachet antwoord nog geserveerd kan worden.

Een **verouderde embedding** betekent meestal een van drie dingen:

1. De vector is berekend uit tekst die sindsdien is gewijzigd of ingetrokken.
2. Het embeddingmodel is veranderd en de opgeslagen documentvectoren zijn nooit gemigreerd, zodat de index vectoren van twee modelgeneraties mengt en queryvectoren bij geen van beide betrouwbaar aansluiten.
3. De preprocessing is veranderd, met nieuwe chunkgrenzen, een nieuwe analyzer of een nieuwe opschoonstap, terwijl de oude vectoren bleven staan.

Tijd alleen bederft geen vector. Als brontekst, rechten, preprocessing en embeddingmodel ongewijzigd zijn, koopt elke nacht opnieuw embedden kosten, geen actualiteit. Wat veroudert, is de relatie tussen de opgeslagen representatie en de bron die ze zegt te vertegenwoordigen.

## TTL is de grens, niet de update

Een time-to-live (TTL) beantwoordt één vraag: hoe lang mag dit corpus geserveerd worden zonder geslaagde actualiteitscontrole?

Hij ontdekt geen gewijzigde alinea, haalt geen vervanging op, verwijdert geen ingetrokken document en bouwt geen index. Daarvoor is een keten nodig waarlangs een wijziging doorreist:

```
geldende wijziging
→ wijzigingssignaal
→ ingest- of verwijderingsevent
→ getransformeerd document en metadata
→ kandidaat-indexversie
→ evaluatie
→ atomaire omschakeling in productie
```

Elke pijl kan breken terwijl het zoekendpoint gezond blijft.

Gebruik het beste wijzigingssignaal dat de bron biedt: een versie-ID, een wijzigingstijdstip, een ETag, een event of een contenthash. Geen enkel signaal volstaat alleen. Een stabiele URL kan onder je handen van inhoud veranderen. Een nieuw tijdstip kan een metadatawijziging zijn in plaats van een inhoudelijke. Een verwijderd record heeft een tombstone of een vergelijkbaar verwijderingsevent nodig, anders hoort de index nooit dat het weg is. Een verlopen TTL moet verificatie in gang zetten, geen blind opnieuw embedden.

Voor indexbrede wijzigingen geldt een strengere regel. Een nieuw embeddingmodel, nieuwe chunking of een nieuwe indexarchitectuur wijzigt de live index nooit ter plekke. Bouw een kandidaat-index, valideer de aantallen en de retrievalkwaliteit op je eigen gouden queries, en promoveer die daarna in één atomaire stap. Terugdraaien is dan triviaal: niet promoveren, of de alias terugzetten.

Bepaal de TTL per corpus en per gevolg. Een productcatalogus, een set getekende contracten en een statische technische handleiding delen geen wijzigingstempo en geen foutkosten. Een corpus dat continu verandert, zoals een ticketarchief of een kennisbank waar drie teams de hele dag in werken, heeft event-driven synchronisatie en een lag-budget nodig in plaats van een TTL. Deze pagina levert die getallen niet. De broneigenaar en de producteigenaar moeten ze opschrijven.

## Het actualiteitscontract

Leg per corpus minstens deze velden vast:

VeldHet besluit dat het afdwingtGeldende bronWelk systeem wint als kopieën van elkaar afwijken?Bronidentiteit en versieHoe weet je dat dit hetzelfde object in dezelfde toestand is?WijzigingssignaalWat zegt de ingest dat hij moet ophalen, vervangen of verwijderen?Laatste geslaagde ingestWanneer is de complete keten voor het laatst afgerond, niet alleen gestart?Maximale leeftijd, TTL of lag-budgetWanneer stopt het stilzwijgend serveren?Reactie na overschrijdingWaarschuwen, weglaten, live ophalen, weigeren of naar een mens sturen?EigenaarWie grijpt in als de versheidstaak zijn venster mist?

Het verversingsschema plus de langste doorlooptijd moet binnen het venster passen. Een dagelijkse taak met een foutwachtrij van twee dagen houdt geen belofte van één dag. En voor beleid, prijzen en deadlines mag een overschreden venster geen antwoord met disclaimer opleveren. Dan hoort het systeem te weigeren of een mens in te schakelen.

Verwijderingen en gewijzigde rechten reizen dezelfde keten af als bewerkingen, met één extra eis: volledigheid. Verdwijnt een bron, dan moeten zijn chunks, keywordvermeldingen, gecachete voorbeelden, citaties en afgeleide samenvattingen verdwijnen of ontoegankelijk worden op elke plek waarheen ze zijn gekopieerd. Een retrievalsysteem dat ingetrokken content onthoudt, is niet alleen verouderd. Het is een lek in het toegangsbeheer met een vriendelijke interface.

## Waar GRAIN versheid plaatst

[De RAG-engineer](https://lenvanderhof.com/boeken/the-rag-engineer/) definieert GRAIN als **Gather corpora, Rank and rerank, Assemble context, Inspect failures, Navigate freshness**. Het is het eigen werkmodel van het boek, geen industriestandaard.

**Navigate freshness**, in de Nederlandse editie versheid navigeren, is eigenaar van de cyclus: TTL-beleid, heringest-taken, wijzigingsdetectie, het opsporen van veroudering, het versheidssignaal aan de gebruiker en het logboek van wat wanneer veranderde. In deze grammatica betekent Navigate versheid. Het is geen synoniem voor het kiezen van de volgende lookup.

De andere letters dragen hun deel. Gather legt bronidentiteit, rechten en update-eigenaarschap vast in het corpus-contract. Rank kiest tussen oude en nieuwe versies als beide in de index zijn geglipt. Assemble neemt de bronversie en het indexeertijdstip mee de context in. Inspect maakt de misser zichtbaar in een trace. Navigate sluit de cyclus door de actuele brontoestand in productie te brengen.

## Diagnose van het verouderde antwoord

Neem één fout antwoord en vergelijk vier toestanden:

1. Wat zei de geldende bron op het moment van de query?
2. Welke bronversie heeft de ingest als laatste gezien?
3. Welke versie stond in de productie-index en was ophaalbaar?
4. Welke versie en passage kwamen in de context voor het genereren?

De eerste afwijking wijst de reparatie aan. Bereikte toestand 1 nooit toestand 2, repareer dan de wijzigingsdetectie. Bereikte toestand 2 wel de opslag maar niet toestand 3, repareer dan de indexering of de omschakeling. Stond de huidige versie in toestand 3 maar verloor ze van een ouder duplicaat, repareer dan de ranking en de versiefilters. Bereikte ze toestand 4 en sprak het antwoord haar toch tegen, dan is de fout [grounding](https://lenvanderhof.com/nl/blog/wat-is-llm-grounding/), geen actualiteit.

Dat onderscheid voorkomt dure schijnreparaties. Opnieuw embedden herstelt geen ontbrekend verwijderingsevent. Een groter contextvenster ontdekt geen wijziging die nooit is ingelezen. Een modelupgrade maakt een verlopen index niet actueel.

Actualiteit is pas op orde als het systeem de bronversie achter een antwoord kan noemen, kan tonen wanneer die in productie kwam, en bewust reageert zodra de toegestane leeftijd verstrijkt. Tot die tijd is “actuele index” een wens met een tijdstempel.

Citeer deze pagina:RAG-actualiteit: de pdf van vorige maand is geen zoekprobleem.Len P. van der Hof. [https://lenvanderhof.com/nl/blog/rag-actualiteit/](https://lenvanderhof.com/nl/blog/rag-actualiteit/) · Gepubliceerd 22 september 2026.

## Begrippen

- [GRAIN](https://lenvanderhof.com/nl/begrippen/grain/)
- [RAG](https://lenvanderhof.com/nl/begrippen/rag/)

## Bronnen

1. [Wat is RAG?](https://lenvanderhof.com/nl/blog/wat-is-rag/)
2. [Wat is LLM-grounding?](https://lenvanderhof.com/nl/blog/wat-is-llm-grounding/)
3. [De RAG-engineer](https://lenvanderhof.com/boeken/the-rag-engineer/)

## Verder lezen

- [Wat is RAG?](https://lenvanderhof.com/nl/blog/wat-is-rag/)
- [Wat is LLM-grounding?](https://lenvanderhof.com/nl/blog/wat-is-llm-grounding/)
- [De RAG-engineer](https://lenvanderhof.com/boeken/the-rag-engineer/)

Over de auteur

## [Len P. van der Hof](https://lenvanderhof.com/nl/auteurs/len-p-van-der-hof/)

Ondernemer, AI-innovator en venture builder

Len P. van der Hof bouwt praktische AI-systemen, digitale ventures en evidence-informed hulpmiddelen voor founders.

```json
{
	"@context": "https://schema.org",
	"@graph": [
		{
			"@type": "Person",
			"@id": "https://lenvanderhof.com/#person",
			"name": "Len P. van der Hof",
			"alternateName": [
				"Len van der Hof",
				"L.P. van der Hof",
				"Leendert Pieter van der Hof"
			],
			"honorificSuffix": "MSc",
			"url": "https://lenvanderhof.com/",
			"image": [
				"https://lenvanderhof.com/photos/len-portrait-1.jpg",
				"https://lenvanderhof.com/photos/len-portrait-2.jpg",
				"https://lenvanderhof.com/photos/len-portrait-3.jpg",
				"https://lenvanderhof.com/photos/len-portrait-4.jpg",
				"https://lenvanderhof.com/photos/len-speaking.jpg",
				"https://lenvanderhof.com/photos/len-hero.jpg"
			],
			"jobTitle": "Ondernemer, AI-innovator en venture builder",
			"description": "Len P. van der Hof, MSc, is een Nederlandse ondernemer en AI-innovator in Zwijndrecht. Hij bouwt ReasonKit, MindSesh, Undominated.ai, boeken onder zijn eigen naam, het fictie-imprint LPH98.lifestyle en technologieventures via LPH98.ventures. Elf titels in Systems for the Strategic Self zijn nu verkrijgbaar, in het Engels en het Nederlands.",
			"address": {
				"@type": "PostalAddress",
				"addressLocality": "Zwijndrecht",
				"addressCountry": "NL"
			},
			"alumniOf": {
				"@type": "CollegeOrUniversity",
				"name": "Rotterdam School of Management, Erasmus University"
			},
			"knowsAbout": [
				"Artificial intelligence",
				"AI agents",
				"Agentic AI systems",
				"LLM routing",
				"SEO",
				"Generative engine optimization",
				"Answer engine optimization",
				"Venture building",
				"Founder performance",
				"Founder psychology",
				"Evidence-based decision-making"
			],
			"sameAs": [
				"https://www.linkedin.com/in/lenvanderhof/",
				"https://x.com/LenvanderHof",
				"https://www.youtube.com/channel/UCTG20buKqYYbitqqf7l3zJA",
				"https://www.instagram.com/Lenvanderhof/",
				"https://www.threads.com/@lenvanderhof",
				"https://github.com/Lenvanderhof",
				"https://huggingface.co/LPH98",
				"https://www.npmjs.com/~lenvanderhof",
				"https://www.goodreads.com/author/show/70983905.Len_P_van_der_Hof",
				"https://www.amazon.com/author/lenvanderhof",
				"https://www.bol.com/nl/nl/b/len-p-van-der-hof-msc/609879394/",
				"https://bsky.app/profile/lenvanderhof.com",
				"https://mastodon.social/@Lenvanderhof",
				"https://crates.io/users/Lenvanderhof",
				"https://cursor.com/@Lenvanderhof",
				"https://medium.com/@Lenvanderhof",
				"https://gitlab.com/Lenvanderhof",
				"https://hub.docker.com/u/lenvanderhof/",
				"https://dev.to/lenvanderhof",
				"https://www.facebook.com/Lenvanderhof",
				"https://soundcloud.com/Lenvanderhof"
			],
			"affiliation": [
				{
					"@id": "https://lenvanderhof.com/#publisher"
				},
				{
					"@id": "https://lenvanderhof.com/#mindsesh"
				},
				{
					"@id": "https://lenvanderhof.com/#lifestyle"
				}
			]
		},
		{
			"@type": "WebSite",
			"@id": "https://lenvanderhof.com/#website",
			"url": "https://lenvanderhof.com/",
			"name": "Len P. van der Hof",
			"description": "Len P. van der Hof, MSc, is een Nederlandse ondernemer en AI-innovator in Zwijndrecht. Hij bouwt ReasonKit, MindSesh, Undominated.ai, boeken onder zijn eigen naam, het fictie-imprint LPH98.lifestyle en technologieventures via LPH98.ventures. Elf titels in Systems for the Strategic Self zijn nu verkrijgbaar, in het Engels en het Nederlands.",
			"inLanguage": [
				"en",
				"nl"
			],
			"publisher": {
				"@id": "https://lenvanderhof.com/#person"
			}
		},
		{
			"@type": "Organization",
			"@id": "https://lenvanderhof.com/#publisher",
			"name": "LPH98.ventures",
			"url": "https://lph98.ventures",
			"founder": {
				"@id": "https://lenvanderhof.com/#person"
			}
		},
		{
			"@type": "Organization",
			"@id": "https://lenvanderhof.com/#mindsesh",
			"name": "MindSesh",
			"url": "https://mindsesh.net",
			"founder": {
				"@id": "https://lenvanderhof.com/#person"
			}
		},
		{
			"@type": "SoftwareApplication",
			"@id": "https://lenvanderhof.com/#reasonkit",
			"name": "ReasonKit",
			"url": "https://reasonkit.sh",
			"creator": {
				"@id": "https://lenvanderhof.com/#person"
			}
		},
		{
			"@type": "SoftwareApplication",
			"@id": "https://lenvanderhof.com/#undominated",
			"name": "Undominated.ai",
			"url": "https://undominated.ai",
			"creator": {
				"@id": "https://lenvanderhof.com/#person"
			}
		},
		{
			"@type": "Organization",
			"@id": "https://lenvanderhof.com/#lifestyle",
			"name": "LPH98.lifestyle",
			"url": "https://lph98.lifestyle",
			"founder": {
				"@id": "https://lenvanderhof.com/#person"
			}
		},
		{
			"@type": "ImageObject",
			"@id": "https://lenvanderhof.com/nl/blog/rag-actualiteit/#primaryimage",
			"url": "https://lenvanderhof.com/media/generated/blog-hero-rag-freshness-v1.479065931831.wide.webp",
			"contentUrl": "https://lenvanderhof.com/media/generated/blog-hero-rag-freshness-v1.479065931831.wide.webp",
			"representativeOfPage": true
		},
		{
			"@type": "BreadcrumbList",
			"@id": "https://lenvanderhof.com/nl/blog/rag-actualiteit/#breadcrumb",
			"itemListElement": [
				{
					"@type": "ListItem",
					"position": 1,
					"name": "Home",
					"item": "https://lenvanderhof.com/nl/"
				},
				{
					"@type": "ListItem",
					"position": 2,
					"name": "Blog",
					"item": "https://lenvanderhof.com/nl/blog/"
				},
				{
					"@type": "ListItem",
					"position": 3,
					"name": "AI-systemen",
					"item": "https://lenvanderhof.com/nl/blog/categorie/ai-systemen/"
				},
				{
					"@type": "ListItem",
					"position": 4,
					"name": "RAG-actualiteit: de pdf van vorige maand is geen zoekprobleem",
					"item": "https://lenvanderhof.com/nl/blog/rag-actualiteit/"
				}
			]
		},
		{
			"@type": "WebPage",
			"@id": "https://lenvanderhof.com/nl/blog/rag-actualiteit/#webpage",
			"url": "https://lenvanderhof.com/nl/blog/rag-actualiteit/",
			"name": "RAG-actualiteit: de pdf van vorige maand is geen zoekprobleem",
			"description": "RAG-actualiteit meet of de index de geldende bron nog vertegenwoordigt binnen de afgesproken maximale leeftijd. Verouderde embeddings zijn oude representaties van gewijzigde content of van een gewijzigd embeddingmodel, geen vectoren die door tijdsverloop bederven.",
			"isPartOf": {
				"@id": "https://lenvanderhof.com/#website"
			},
			"primaryImageOfPage": {
				"@id": "https://lenvanderhof.com/nl/blog/rag-actualiteit/#primaryimage"
			},
			"breadcrumb": {
				"@id": "https://lenvanderhof.com/nl/blog/rag-actualiteit/#breadcrumb"
			},
			"inLanguage": "nl-NL"
		},
		{
			"@type": "BlogPosting",
			"@id": "https://lenvanderhof.com/nl/blog/rag-actualiteit/#article",
			"mainEntityOfPage": {
				"@id": "https://lenvanderhof.com/nl/blog/rag-actualiteit/#webpage"
			},
			"headline": "RAG-actualiteit: de pdf van vorige maand is geen zoekprobleem",
			"description": "RAG-actualiteit meet of de index de geldende bron nog vertegenwoordigt binnen de afgesproken maximale leeftijd. Verouderde embeddings zijn oude representaties van gewijzigde content of van een gewijzigd embeddingmodel, geen vectoren die door tijdsverloop bederven.",
			"datePublished": "2026-09-22T19:05:00.000Z",
			"dateModified": "2026-09-25T01:12:00.000Z",
			"author": {
				"@id": "https://lenvanderhof.com/#person"
			},
			"publisher": {
				"@id": "https://lenvanderhof.com/#person"
			},
			"image": [
				"https://lenvanderhof.com/media/generated/blog-hero-rag-freshness-v1.479065931831.square.webp",
				"https://lenvanderhof.com/media/generated/blog-hero-rag-freshness-v1.479065931831.landscape.webp",
				"https://lenvanderhof.com/media/generated/blog-hero-rag-freshness-v1.479065931831.wide.webp"
			],
			"articleSection": "AI-systemen",
			"inLanguage": "nl-NL"
		}
	]
}
```
