Een van de meest voorkomende taken die we aan Large Language Models (LLM's) toevertrouwen, is het samenvatten van tekst. Of het nu gaat om het destilleren van actiepunten uit een transcript van een vergadering, of het doorgronden van een honderd pagina's tellend juridisch document; de belofte is efficiëntiewinst. Toch stuiten veel ontwikkelaars en prompt engineers al snel op frustraties: het model hallucineert informatie erbij, negeert de gevraagde lengte, of verliest de kern uit het oog. Een simpele prompt zoals "Vat deze tekst samen" is zelden voldoende voor productieklare applicaties.
In dit artikel duiken we in de anatomie van de perfecte samenvattingsprompt. We bespreken hoe je absolute brontrouw afdwingt, hoe je de output (lengte en vorm) voorspelbaar maakt, en hoe je lange documenten verwerkt zonder de contextlimiet te overschrijden. Hiermee verhoog je niet alleen de kwaliteit van de output, maar voorkom je ook de klassieke valkuilen die we eerder beschreven in ons artikel over veelgemaakte prompt-fouten.
De absolute basis: Brontrouw afdwingen (Grounding)
Het grootste risico bij samenvattingen is dat het LLM zijn parametrische kennis (de data waarop het getraind is) vermengt met de contextuele kennis (de tekst die jij aanlevert). Zodra een model een term herkent, heeft het de neiging om "gaten in te vullen" met algemene kennis. Dit fenomeen leidt tot hallucinaties waarbij informatie in de samenvatting staat die niet in de originele tekst te vinden is. Om dit te voorkomen, moeten we het model expliciet instrueren (en beperken).
Een effectieve manier om brontrouw af te dwingen is het gebruik van negatieve constraints en strenge systeeminstructies. Je stelt niet alleen wat het model wél moet doen, maar verbiedt expliciet wat het niet mag doen. Dit verkleint de waarschijnlijkheid dat het model tokens genereert buiten de semantische reikwijdte van jouw brondocument.
Door het model een specifieke rol te geven, zoals "strikte, objectieve redacteur", pas je effectief rolprompting toe. Dit conditioneert de weights van het model om een meer formele en restrictieve voorspelling van het volgende token te doen.
Vorm en lengte sturen: Verder dan "maximaal 100 woorden"
Een beruchte tekortkoming van LLM's is hun onvermogen om woorden of tekens nauwkeurig te tellen. Modellen "denken" in tokens (brokjes tekst), niet in losse woorden. Een prompt die vraagt om "een samenvatting van precies 150 woorden" resulteert steevast in teleurstelling. In plaats van harde woordlimieten te stellen, is het veel effectiever om de structuur, het format of het aantal zinnen te sturen.
Wil je toch sturen op lengte? Vraag dan om specifieke formaten, zoals bulletpoints of paragrafen. Het afdwingen van een specifieke syntactische structuur geeft het model een wiskundig veel beter te volgen pad.
Structurele Prompt Voorbeelden
Hier is een opbouw die de vorm streng dicteert, waardoor de lengte organisch binnen de perken blijft:
De Doelgroep specificeren
Een samenvatting van een wetenschappelijk paper over quantum computing ziet er compleet anders uit voor een CTO, dan voor een stagiair marketing. De complexiteit van het taalgebruik, de geselecteerde jargon en de focus van de samenvatting moeten worden afgestemd op de ontvanger. Door een doelgroep (target audience) mee te geven, stuur je het LLM naar de juiste "toon" en diepgang.
Dit is waar context belangrijk wordt. Je specificeert niet alleen de input, maar geeft ook uitgebreide regels over de gewenste output met betrekking tot de leesbaarheid.
Omgaan met zeer lange documenten: Chunking en Map-Reduce
Het samenvatten van een boek, een jaarverslag of een urenlang transcript vormt een grote uitdaging, ondanks de steeds groter wordende context windows (zoals de 128k of zelfs 1M+ tokens van recente modellen). Hoe groter de prompt, hoe groter de kans op het 'Lost in the Middle'-probleem: het model herinnert zich het begin en het eind van het document uitstekend, maar negeert de informatie in het midden volkomen. Meer hierover lees je in onze gids over context management.
Om gegarandeerd alle details te vangen en betrouwbare samenvattingen van gigantische datasets te genereren, maken we gebruik van de Map-Reduce strategie. Dit proces is vaak onderdeel van een bredere architectuur zoals Retrieval-Augmented Generation (zie de uitgebreide theorie in RAG voor beginners), maar is ook zelfstandig toe te passen met LLM's.
Stap 1: Map (Opdelen en individueel samenvatten)
Deel het grote document op in logische brokken (chunks), bijvoorbeeld per hoofdstuk of per 2000 woorden. Zorg voor enige overlap (chunking overlap) zodat zinnen niet doormidden worden gehakt. Stuur elke chunk naar het LLM met de volgende 'Map' prompt:
Stap 2: Reduce (Samenvoegen tot het eindresultaat)
Vervolgens verzamel je alle deelsamenvattingen die uit stap 1 zijn gekomen. Omdat deze deelsamenvattingen gezamenlijk veel kleiner zijn dan het originele document, passen ze moeiteloos in het context window. Nu gebruik je prompt-chaining door de resultaten samen te voegen en de 'Reduce' prompt uit te voeren:
Controlevragen en Verificatie: Laat het model zelf reflecteren
Zelfs met de beste prompts kan een LLM belangrijke nuances missen of subtiel afwijken van de feiten. Een krachtige geavanceerde techniek om de nauwkeurigheid te verhogen is het toevoegen van Self-Reflection (zelfreflectie) in de prompt. Je dwingt het model om zijn eigen gegenereerde antwoord te controleren vóórdat het de definitieve tekst aan de gebruiker toont.
Dit doe je door het model in stappen te laten "denken" (Chain-of-Thought). In de context van samenvatten werkt dit verbluffend goed. Het dwingt het model om impliciete logica expliciet uit te schrijven in zijn scratchpad, waardoor het model zichzelf kan corrigeren tijdens het generatieproces.
Wanneer je bovenstaande prompt uitvoert, zul je in de output zien dat het model daadwerkelijk ontdekt dat het een naam is vergeten of een cijfer heeft afgerond, en dit in de definitieve versie netjes herstelt. In productieomgevingen kun je de output eenvoudig parseren en alles vóór de kop "EINDRESULTAAT" afknippen, zodat de eindgebruiker alleen de perfecte samenvatting ziet.
Conclusie
Het bouwen van betrouwbare samenvattingsprompts vereist een verplaatsing van de denkwijze: van een simpele vraag ("vat dit samen") naar een robuuste, gestructureerde systeeminstructie. Door expliciete regels op te stellen rondom brontrouw, de vorm strikt te dicteren (in plaats van te leunen op onbetrouwbare woordlimieten) en de juiste doelgroep te definiëren, verminder je hallucinaties drastisch.
Wanneer documenten te groot of complex worden, is het onvermijdelijk om terug te vallen op chunking en Map-Reduce architecturen. Combineer dit met Chain-of-Thought verificatiestappen voor kritieke workloads, en je beschikt over een samenvattings-pipeline die op professioneel niveau presteert, ongeacht het onderliggende LLM dat je inzet.
