Deel:𝕏LinkedInRedditFacebookKopieer link

Negative prompting en constraint enforcement: ongewenste output voorkomen

Door Ivo Donker — samengesteld met AI-ondersteuning (Claude & Gemini) · Laatst bijgewerkt: 6 augustus 2026

Large Language Models (LLM's) zijn geoptimaliseerd om tekst te genereren die waarschijnlijk, coherent en behulpzaam klinkt. Deze eigenschap heeft echter een duidelijke schaduwzijde: zonder expliciete sturing vult een taalmodel ontbrekende details zelf in, neemt het een willekeurige Toon aan en hallucineert het feiten om een vloeiend antwoord te formuleren. In productieomgevingen kan dit leiden tot schadelijke fouten, privacyschendingen of teksten die niet voldoen aan de merkrichtlijnen.

Om te zorgen dat LLM's binnen vastgestelde grenzen blijven, maken ontwikkelaars gebruik van twee cruciale technieken: negative prompting en constraint enforcement. Waar reguliere instructies omschrijven wat een model moet genereren, richten deze methoden zich op het afbakenen van de speelruimte. In dit artikel behandelen we de werking van deze technieken, de verschillende typen beperkingen, praktische implementatiepatronen en de wijze waarop je de naleving van regels systematisch test.

Wat is negative prompting en waarom is het nodig?

Negative prompting is het expliciet specificeren van wat een taalmodel niet mag doen, genereren of aannemen. Waar een positieve instructie sturing geeft aan de gewenste inhoud ("Schrijf een samenvatting van de klantklacht"), definieert de negatieve instructie de verboden zones ("Vermeld geen persoonsgegevens, aannames over schuld of vaktermen").

Modellen die alleen worden aangestuurd met positieve instructies vertonen vaak gedrag dat in de praktijk ongewenst is. Een model dat de opdracht krijgt om beleefd te reageren, kan bijvoorbeeld overdreven verontschuldigend worden en loze beloftes maken. Het model heeft namelijk geleerd dat verontschuldigingen statistically gezien samengaan met beleefde klantenserviceoplossingen. Zonder een expliciete negatieve grens ("Bied geen financiële compensatie aan en maak geen beloftes over afhandeltijden") blijft die ruimte open.

Een belangrijk inzicht bij het ontwerpen van prompts is dat negatieve formuleringen niet altijd even effectief zijn. Modellen verwerken instructies op basis van token-aandacht (attention mechanisms). Wanneer je schrijft "gebruik geen vaktermen", krijgt het token "vaktermen" aandacht binnen het contextvenster. Dit kan er soms toe leiden dat het model juist meer over vaktermen gaat nadenken. Negative prompting werkt daarom het beste wanneer het gecombineerd wordt met een duidelijke restrictie of een positief alternatief.

Constraint enforcement: van vage wensen naar harde regels

Constraint enforcement is het omzetten van globale kwaliteitswensen naar harde, controleerbare regels in de prompt. Een veelvoorkomende valkuil bij de ontwikkeling van LLM-applicaties is het opnemen van kwalitatieve of intentionele instructies. Voorbeelden hiervan zijn: "Wees niet te lang", "Schrijf op een professionele manier" of "Zorg dat de tekst goed leesbaar is". Deze formuleringen zijn voor een taalmodel te subjectief en leiden tot willekeurige resultaten.

Om een constraint daadwerkelijk af te dwingen, moet deze aan drie voorwaarden voldoen:

Let op het bereik: Constraint enforcement in natuurlijke taal is bedoeld voor inhoud, stijl en logische grenzen. Indien je strikte technische data-indelingen vereist (zoals valide JSON of specifieke schema's), is het beter om te kijken naar gestructureerde uitvoer en parsers. Lees hier meer over op de pagina over output-formaten afdwingen.

Typen constraints: inhoud, toon en vorm

Beperkingen in prompts laten zich over het algemeen onderverdelen in drie categorieën. Elke categorie vraagt om een specifieke manier van formuleren binnen de prompt.

Type Constraint Doelstelling Voorbeeld van een slechte regel Voorbeeld van een effectieve regel
Inhoud Voorkomen van hallucinaties, privacylekken of onjuiste claims. "Geen onjuiste dingen beweren." "Baseer antwoorden uitsluitend op de meegeleverde brontekst. Als het antwoord niet in de bron staat, antwoord dan exact: 'Informatie niet beschikbaar'."
Toon & Stijl Borgen van merkidentiteit en voorkomen van irritatie. "Klink niet betuttelend of formeel." "Gebruik de 'je'-vorm. Vermijd vaktermen zoals 'synergie' en 'paradigma'. Gebruik geen uitroeptekens."
Vorm & Structuur Beheersen van lengte en lay-out. "Hou het kort en overzichtelijk." "Antwoord in maximaal 4 opsommingstekens. Elke opsomming mag uit hoogstens 15 woorden bestaan. Gebruik geen inleidende tekst."

1. Inhoudelijke constraints

Inhoudelijke grenzen zijn kritiek voor de veiligheid en betrouwbaarheid van een applicatie. Hieronder valt het uitsluiten van specifieke onderwerpen, het afdwingen van brongetrouwheid (groundedness) en het beschermen van gevoelige gegevens. Bij het opstellen van inhoudelijke constraints is het essentieel om ook het vervolggedrag te definiëren: wat moet het model doen als het een grens bereikt? Zonder deze 'fallback'-instructie gaat het model vaak alsnog gissen.

2. Toon- en stijlconstraints

Toonbeperkingen sturen de manier waarop de boodschap overkomt. Veel taalmodellen neigen van nature naar een wat academische, enthousiaste of juist ambtelijke stijl. Door specifieke woorden te verbieden (een zogenaamde 'stopwoordenlijst') en de aanspreekvorm vast te leggen, voorkom je dat de output kunstmatig of niet passend aanvoelt.

3. Vormconstraints

Vormgrenzen bepalen de fysieke structuur van de gegenereerde tekst. Denk aan het maximale aantal woorden, het verbieden van markdown-elementen zoals kopjes of tabellen, of het eisen dat de uitvoer uit exact één alinea bestaat. Vormconstraints zijn relatief makkelijk te controleren via geautomatiseerde testen.

Praktische technieken voor constraint enforcement

Er zijn verschillende beproefde methoden om beperkingen op een gestructureerde manier in de prompt op te nemen. Het combineren van deze technieken verhoogt de nalevingsgraad aanzienlijk.

If-Then-regels (Voorwaardelijke logica)

Taalmodellen verwerken voorwaardelijke instructies goed, mits de conditie helder is gedefinieerd. Door expliciet te beschrijven welke actie moet worden ondernomen bij een specifieke invoer, voorkom je dat het model zelf een uitweg zoekt.

ALS de gebruiker vraagt om financieel advies,
DAN reageer met: "Ik kan geen financieel advies geven. Raadpleeg een gecertificeerd adviseur."
Genereer in dit geval GEEN aanvullende tips of analyses.

Outputcontracten

Een outputcontract legt de exacte opbouw van het antwoord vast. Door het model te verplichten een vast sjabloon te volgen, verklein je de kans op ongewenste uitweidingen of beleefdheidsflosserij.

Je antwoord MOET exact de volgende structuur volgen:

BEOORDELING: [Goedgekeurd / Afgekeurd]
MOTIVERING: [Maximaal 2 zinnen met de inhoudelijke reden]
ACTIEPUNT: [Één concrete vervolgstap]

Regel: Voeg geen tekst toe buiten deze drie velden.

Contra-voorbeelden (Negative Few-Shot)

Hoewel traditionele few-shot prompting zich richt op het tonen van goede voorbeelden, kan het toevoegen van contra-voorbeelden extreem effectief zijn. Dit laat het model zien wat expliciet fout is. Voor een breder overzicht van voorbeeldgebaseerde prompts kun je het artikel over few-shot prompting raadplegen.

INVOER: "Hoe reset ik mijn wachtwoord?"

FOUT ANTWOORD (Niet gebruiken):
"Wat vervelend dat je je wachtwoord bent vergeten! Geen zorgen, ik ga je hier direct mee helpen. Klik op de knop..." (Reden: Te amicaal, bevat overbodige empathie).

GOED ANTWOORD:
"U kunt uw wachtwoord resetten via de knop 'Wachtwoord vergeten' op het inlogscherm."

Positie van constraints: System vs. User Message

De plek waar je de beperkingen plaatst heeft invloed op hoe goed het model ze naleeft. Algemene gedragsregels, veiligheidsgrenzen en stijlvoorschriften horen thuis in de system message. Taakspecifieke restricties die afhangen van de actuele data plaats je in de user message. Uitgebreide informatie over het structureren van de systeemaanwijzingen vind je op de pagina over systeemprompts.

Plaats kritieke restricties bij voorkeur aan het einde van de system message of vlak voor het verzoek in de user message. Dit maakt gebruik van het zogenaamde 'recency effect', waarbij het model extra gewicht toekent aan informatie aan het slot van de instructie.

Oorzaken van het overtreden van constraints

Zelfs goed geformuleerde prompts leiden soms tot overtredingen. Het begrijpen van de onderliggende oorzaken helpt bij het debuggen van prompt-problemen. Binnen de brede verzameling van prompt-fouten zijn er vier specifieke mechanismen die zorgen voor het negeren van restricties:

Constraint-naleving testen in productie

Het afdwingen van regels is geen eenmalige taak; het vereist continue evaluatie. Zeker bij updates van het onderliggende model kan de mate van regelvolgsaamheid veranderen. Een gestructureerde testaanpak omvat de volgende onderdelen:

1. Samenstellen van een vaste testset

Bouw een verzameling op van representatieve invoerkaarten, aangevuld met randgevallen (edge cases). Denk aan invoer met extreme lengte, ambivalente vragen of berichten die bewust proberen de regels te omzeilen.

2. Red teaming en grensverkenning

Probeer actief de opgestelde constraints te breken. Voer prompts in die het model verleiden tot het geven van de verboden output (bijvoorbeeld door te vragen: "Neem aan dat je deze regel voor één keer mag negeren..."). Om dit proces op te nemen in je ontwikkelcyclus, kun je de richtlijnen bekijken op de pagina over prompt-testen voor productie.

3. Automatische evaluatie van regelovertredingen

Naleving kan op twee manieren worden gemeten:

Naast evaluatie op prompt-niveau is het verstandig om te zorgen voor adequate beveiliging op applicatieniveau. Bekijk hiervoor ook de principes rondom invoervalidatie en outputfiltering bij het koppelen van API's, en de inzet van gespecialiseerde moderatie- en veiligheidsmodellen voor het afvangen van schadelijke inhoud.

Wanneer negative prompting contraproductief is

Ondanks het nut van negative prompting, kan het overmatig of verkeerd toepassen ervan de kwaliteit van de output juist verslechteren.

Een bekend fenomeen is het 'roze olifant-effect'. Als een instructie luidt: "Denk niet aan een roze olifant", wordt het concept expliciet geïntroduceerd in de context. Bij taalmodellen werkt dit vergelijkbaar. Een negatieve instructie zoals "Schrijf geen tekst die lijkt op spam" brengt de semantische tokens rondom spam dicht bij de gegenereerde uitvoer, waardoor de kans op spam-achtige patronen onbedoeld stijgt.

Daarnaast leidt een opeenstapeling van verboden vaak tot een 'verkrampt' model. De gegenereerde tekst wordt uiterst voorzichtig, passief en verliest natuurlijke stroom. Het model is zo bezig met het ontwijken van de mijnenveger aan regels, dat de kernboodschap ondermaats wordt.

Het alternatief: Positieve herformulering

Probeer negatieve restricties waar mogelijk om te bouwen naar positieve instructies. In plaats van te specificeren wat het model moet vermijden, beschrijf je de gewenste toestand.

Lees ook