Naar de inhoud

Wat is prompt engineering?

De kunst van effectieve communicatie met AI. Leer technieken om betere output te krijgen uit LLM's, van zero-shot tot chain-of-thought prompting.

4 minuten lezen

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:

  1. Rol / persona: geef het model een identiteit of expertise.
    "Je bent een ervaren data scientist..."
  2. Context: achtergrondinformatie die nodig is.
    "Gegeven deze dataset: [data]..."
  3. Instructie / taak: de specifieke taak of vraag.
    "Analyseer de trends en geef 3 aanbevelingen..."
  4. Uitvoerformaat: hoe het antwoord eruit moet zien.
    "Geef het antwoord als JSON met de velden title, summary, score"
  5. 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

Richtlijnen voor het model dat je gebruikt: welk promptformaat het verwacht en waar het gevoelig voor is.

Promptbibliotheken

Verzamelingen van geteste prompts voor veelvoorkomende taken, als vertrekpunt voor je eigen versie.

Versiebeheer voor prompts

Prompts zijn code: bewaar ze met hun geschiedenis, zodat je ziet welke wijziging welk effect had.

Testomgeving en evaluatieset

Een playground om snel te proberen, en een vaste set voorbeeldvragen om varianten eerlijk te vergelijken.

Een vraag over dit onderwerp?

Stuur een bericht via het formulier. Alles loopt via e-mail; u krijgt binnen twee werkdagen antwoord.