Wat is prompt engineering?
Prompt engineering is de vaardigheid om effectieve instructies (prompts) te schrijven voor AI-modellen, met name Large Language Models (LLM’s). Het is de interface tussen menselijke intentie en AI-output.
Een prompt kan variëren van een simpele vraag (“Wat is de hoofdstad van Nederland?”) tot complexe instructies met context, voorbeelden, en output-specificaties.
Waarom is het belangrijk?
Dezelfde LLM kan radicaal verschillende resultaten geven afhankelijk van hoe je vraagt. Een goed ontworpen prompt kan:
- De nauwkeurigheid bij een taak sterk verhogen
- Hallucinaties drastisch verminderen
- Output formatteren zoals gewenst
- Complexe taken mogelijk maken
Voorbeeld: dezelfde vraag, ander resultaat
Nadeel: Zwakke prompt
“Schrijf iets over klimaat”
→ Vaag, ongestructureerd antwoord
Voordeel: Sterke prompt
“Je bent een klimaatwetenschapper. Schrijf een samenvatting van 150 woorden over de 3 grootste oorzaken van klimaatverandering, met bronvermelding. Schrijf in zakelijke toon voor een bedrijfsrapport.”
→ Gefocust, geformatteerd, bruikbaar
Anatomie van een goede prompt
Een effectieve prompt bevat doorgaans deze componenten:
- Rol / persona: geef het model een identiteit of expertise.
"Je bent een ervaren data scientist..." - Context: achtergrondinformatie die nodig is.
"Gegeven deze dataset: [data]..." - Instructie / taak: de specifieke taak of vraag.
"Analyseer de trends en geef 3 aanbevelingen..." - Uitvoerformaat: hoe het antwoord eruit moet zien.
"Geef het antwoord als JSON met de velden title, summary, score" - Randvoorwaarden: beperkingen waar het antwoord aan moet voldoen.
"Maximaal 200 woorden. Geen technisch jargon."
Prompttechnieken
Zero-shot
Simpelste vorm. Direct een vraag stellen zonder voorbeelden. Werkt voor eenvoudige taken.
Prompt:
Classificeer deze review als positief of negatief:
'Geweldig product, snelle levering!'
Few-shot
Leren van voorbeelden. Geef enkele voorbeelden van input-outputparen. Het model leert het patroon.
Prompt:
Classificeer reviews:
'Super blij mee!' → positief
'Kapot aangekomen' → negatief
'Precies wat ik zocht' → positief
'Prima kwaliteit voor de prijs' → ?
Chain-of-thought
Stap voor stap redeneren. Vraag het model om zijn denkproces te tonen. Verhoogt de nauwkeurigheid bij complexe problemen.
Prompt:
Een winkel heeft 50 appels. Ze verkopen 23 's ochtends
en krijgen 12 nieuwe binnen. Hoeveel hebben ze nu?
Denk stap voor stap.
System prompt
Persistente instructies. Definieer gedrag dat voor alle berichten geldt (bij API-gebruik).
System:
Je bent een Nederlandse klantenservice-agent voor een webshop.
Antwoord altijd beleefd, bondig, en in het Nederlands.
Als je iets niet weet, zeg dat eerlijk.
Best practices
- Wees specifiek: vage prompts geven vage antwoorden. Definieer exact wat je wilt.
- Geef context: hoe meer relevante context, hoe beter het model kan afstemmen op je behoefte.
- Specificeer het uitvoerformaat: JSON, Markdown, een opsomming. Zeg expliciet hoe je het wilt.
- Gebruik scheidingstekens: scheid secties met
"""of###om structuur aan te geven. - Itereer: prompt engineering is experimenteel. Test, evalueer, verbeter.
Veelgemaakte fouten
- Te lange prompts met irrelevante informatie
- Tegenstrijdige instructies geven
- Verwachten dat het model “weet” wat je bedoelt
- Geen voorbeelden bij ambigue taken
Praktijkvoorbeelden
Prompt voor een code review
Je bent een senior software engineer die code reviews doet.
Analyseer de volgende code op:
1. Bugs en potentiële fouten
2. Beveiligingsproblemen
3. Prestatieproblemen
4. Codestijl en best practices
Code:
"""
{code_here}
"""
Geef je feedback in dit formaat:
- Bugs: [lijst]
- Beveiliging: [lijst]
- Prestaties: [lijst]
- Stijl: [lijst]
- Positief: [wat is goed?]
Prompt voor gegevensextractie
Haal de volgende informatie uit de tekst en geef die als JSON:
- bedrijfsnaam
- contactpersoon
- e-mail
- telefoonnummer (null indien niet gevonden)
Tekst:
"""
{input_text}
"""
Geef alleen geldige JSON, geen uitleg.
Hulpmiddelen
Documentatie van de modelaanbieder
Promptbibliotheken
Versiebeheer voor prompts
Testomgeving en evaluatieset