Cursussen AI in je bedrijf Week 2 Les 7 / 33

Few-shot voorbeelden

Waarom twee goede voorbeelden beter werken dan vijf regels instructies

Probeer dit eens. Vraag een taalmodel "schrijf een productbeschrijving in onze huisstijl" en voeg toe: "de toon moet vriendelijk maar niet overdreven, kort maar niet telegramstijl, informatief maar niet saai". Kijk wat je krijgt. Waarschijnlijk iets wat ongeveer raakt wat je bedoelt, maar net niet. Doe nu hetzelfde, maar in plaats van die abstracte regels plak je twee voorbeelden van productbeschrijvingen die al in je gewenste stijl staan. Vraag dan: "schrijf een derde in dezelfde stijl". Het verschil is vaak verbluffend. Welkom bij few-shot prompting — de kortste weg van vaag naar scherp.

Wat is in-context learning?

Het verschijnsel heet officieel in-context learning: als je een taalmodel een paar voorbeelden geeft van "input → output", dan pikt hij het patroon op en past hem toe op een nieuwe input. Zonder extra training, zonder fine-tuning, zonder ook maar iets aan het model te veranderen. Puur op basis van wat er in de prompt staat.

Dit is een van de meest verrassende eigenschappen van moderne LLMs. Vraag aan een klein kind "noem deze drie voorbeelden een naam, en noem dan ook het vierde" — dat gaat moeizaam. Een taalmodel doet het moeiteloos, en vaak op een niveau dat zelfs ervaren mensen verrast.

Terminologie om te kennen: zero-shot betekent geen voorbeelden geven, alleen instructies. One-shot is één voorbeeld. Few-shot is meestal 2 tot 5. Meer dan 5 werkt zelden beter en vaak slechter — daar komen we zo op.

Waarom voorbeelden sterker zijn dan regels

Taal is rommelig. Als je een stijl probeert te beschrijven met regels — "informeel maar niet te losjes, warm maar niet kruiperig, concreet maar niet abrupt" — dan geef je ruimte voor interpretatie. Het model moet raden waar jouw middenweg ligt. En het gokt richting het midden van alles wat het ooit heeft gezien, wat meestal niet jouw middenweg is.

Een voorbeeld is concreet. Het zit niet in een beschrijvingsruimte, het is een punt. Twee punten tekenen een lijn. Drie punten een kromme. Het model ziet wat je concreet hebt gekozen en extrapoleert van daaruit. Het resultaat voelt veel dichter bij wat je bedoelt, omdat je niet hebt gepraat over de stijl maar hem hebt getoond.

✦ Twee voorbeelden verslaan twintig adjectieven

In de praktijk zie je keer op keer dat twee goed gekozen voorbeelden meer invloed hebben op de output dan een half uur sleutelen aan beschrijvende instructies. Als je merkt dat je prompt maar blijft groeien met "niet te dit, niet te dat", stop met regels toevoegen en voeg een voorbeeld toe.

De structuur van een few-shot prompt

Er zijn meerdere manieren om voorbeelden te structureren. Hier is een die vrijwel altijd werkt:

Je bent [rol].

Hier zijn voorbeelden van hoe je een [taak] uitvoert:

Voorbeeld 1:
Input: [concrete input]
Output: [concrete gewenste output]

Voorbeeld 2:
Input: [concrete input]
Output: [concrete gewenste output]

Nu jij. Voer dezelfde taak uit op:
Input: [echte input]
Output:

Let op de herhalende structuur. Het model leert niet alleen wat de output is, maar ook hoe input en output met elkaar in verhouding staan. De consistentie in je voorbeelden is daarom belangrijker dan hun perfectie. Twee middelmatige maar identiek gestructureerde voorbeelden werken vaak beter dan twee briljante maar verschillend opgebouwde.

Use case: klantenservice-classificatie

Stel je wilt inkomende klantmails automatisch classificeren in categorieën: retour, factuurvraag, verzending, productvraag, klacht. Je kunt dat proberen met regels ("als de mail over een refund gaat, noem hem retour"), maar veel sneller werkt dit:

"Classificeer klantmails in één van deze categorieën: retour, factuurvraag, verzending, productvraag, klacht.

Voorbeeld 1:
Mail: 'Mijn pakket is nog niet binnen, volgens track & trace was het er gister al.'
Categorie: verzending

Voorbeeld 2:
Mail: 'Ik heb vorige week een schoen besteld maar hij knelt. Kan ik hem omruilen voor een grotere maat?'
Categorie: retour

Voorbeeld 3:
Mail: 'Op de factuur staat geen btw-nummer, kan ik er een aangepaste versie krijgen?'
Categorie: factuurvraag

Nu jij:
Mail: [de inkomende mail]
Categorie:"

Dit werkt op een goedkoop model, het geeft consistente output (alleen de categorienaam, geen uitleg), en het is makkelijk uit te breiden als je een nieuwe categorie wilt: voeg gewoon een voorbeeld toe.

Use case: e-mailtemplates in huisstijl

Je wilt dat AI e-mails in jouw stijl schrijft. De beste manier: verzamel twee of drie echte mails die je ooit zelf hebt geschreven en die precies goed voelen. Plak ze als voorbeelden. Het model pikt je ritme, je woordkeuze en je lengte op, vaak nauwkeuriger dan wanneer je het probeert te beschrijven.

Dit is hoe je in de praktijk een "AI-assistent die schrijft zoals jij" bouwt zonder fine-tuning. Een paar goede voorbeelden in de system prompt, caching aan — en je hebt een consistente schrijver die blijft werken op Haiku of vergelijkbaar goedkoop model.

✦ Versies bewaren

Zodra je voorbeelden hebt die goed werken, bewaar ze. Bijvoorbeeld in een templates-tabel in je database of in een config-bestand in je codebase. Behandel ze als productie-assets. Ga niet elke keer opnieuw voorbeelden schrijven — de goede zijn je goud waard.

De valkuilen

Valkuil 1: te smalle voorbeelden. Als je drie voorbeelden geeft die toevallig allemaal dezelfde lengte of structuur hebben, leert het model dat als patroon. Komt er een input binnen die niet in dat patroon past, dan worstelt het. Varieer je voorbeelden op relevante dimensies.

Valkuil 2: rare edge cases als voorbeeld. Kies voor je voorbeelden typische gevallen, geen uitzonderingen. Het model neemt ze als norm. Als twee van je drie voorbeelden rare edge-gevallen zijn, krijg je output die er ook raar uitziet.

Valkuil 3: inconsistente formatering. Als je in voorbeeld 1 "Categorie:" gebruikt en in voorbeeld 2 "Label:", raakt het model in de war. Wees robot-consistent in de vorm.

Valkuil 4: te veel voorbeelden. Meer dan 5-7 voorbeelden levert zelden extra winst op, maar kost wel fors meer tokens. Als je merkt dat het niet werkt met 3 voorbeelden, is de oplossing zelden "8 voorbeelden". De oplossing is meestal: betere 3 voorbeelden kiezen.

Valkuil 5: voorbeelden die tegenstrijdig zijn. Als voorbeeld 1 kort is en voorbeeld 2 lang, en er zit geen duidelijke reden voor het verschil, krijgt het model een mixed signal. Als ze echt moeten variëren in lengte, maak expliciet in een korte instructie waarom.

Waar few-shot NIET helpt

Niet alles wordt beter met voorbeelden. Creatieve tekst waar je variatie wilt, krijgt juist minder variatie met voorbeelden — het model gaat je voorbeelden imiteren. Voor originele brainstorms ben je beter af met een scherpe rol-beschrijving en hoge temperature.

Ook voor complexe redeneertaken — wiskunde, logica, multi-step planning — is er vaak een betere techniek dan few-shot: "chain-of-thought" en reasoning-modellen. Daar komen we in de volgende les op.

Praktische oefening

Pak een taak waar je nu AI voor gebruikt met een zero-shot prompt. Schrijf twee of drie voorbeelden van goede output. Voeg ze toe aan de prompt in het formaat hierboven. Draai tien testcases erdoor en vergelijk. Negen van de tien keer zul je merken dat de kwaliteit omhoog gaat, vaak dramatisch, en vaak op een goedkoper model dan je dacht nodig te hebben.

Drie dingen om mee te nemen

  1. Laat zien in plaats van uitleggen. Twee consistente voorbeelden verslaan twintig regels beschrijving. Zodra je merkt dat je prompt vol adjectieven loopt, is het tijd voor voorbeelden.
  2. Consistentie boven perfectie. Goed gestructureerde, consistente voorbeelden werken beter dan briljante maar variërende voorbeelden. Uniformiteit is het signaal waar het model op leert.
  3. Few-shot is gratis fine-tuning. Voor de meeste use cases heb je geen fine-tuning nodig — een paar voorbeelden in de prompt doen het werk, met minder gedoe en meer flexibiliteit.

In de volgende les gaan we naar het topje van de prompt-technieken: chain-of-thought en reasoning-modellen. Wanneer laat je een model hardop denken, en wanneer werkt dat juist averechts? Een les over het verschil tussen analytische en creatieve taken, en hoe je dat in je prompts vertaalt.

Tot dan. Toon het, vertel het niet.

Cursus
↑ Overzicht