Je kunt tien minuten besteden aan het beschrijven van de toon die je zoekt. Zakelijk maar niet afstandelijk. Persoonlijk maar niet informeel. Concreet maar niet droog. Na drie pogingen levert het model nog steeds iets op dat net niet klopt. Dan stuur je een voorbeeld mee van een tekst die wél de juiste toon heeft, en in één keer is het raak.
Dat is het principe achter one-shot en few-shot prompting: laten zien in plaats van vertellen. One-shot betekent dat je één voorbeeld meegeeft. Few-shot betekent dat je er een handvol meegeeft, doorgaans twee tot vijf. Het mechanisme is hetzelfde, het verschil zit in de hoeveelheid. Deze pagina behandelt beide, omdat ze op dezelfde werking berusten en dezelfde afwegingen vragen.
Roland Bieleveldt
Few-shot prompting is het meegeven van een of meer voorbeelden van de gewenste output in de prompt. Het model analyseert de voorbeelden, herkent het patroon (de stijl, het format, de structuur, het detailniveau) en past dat patroon toe op de nieuwe invoer.
“Shot” is de technische term voor een voorbeeld. One-shot betekent: één voorbeeld meegeven. Few-shot betekent: een handvol, doorgaans twee tot vijf. De techniek bestaat uit drie elementen: de voorbeelden, de eigenlijke opdracht, en de impliciete instructie die het model afleidt uit de voorbeelden.
Neem een praktisch geval. Je wilt dat een AI-model klantvragen classificeert in categorieën die je zelf hebt bedacht: “productprobleem”, “facturatievraag”, “serviceverzoek” en “overig.” Bij een zero-shot prompt (“classificeer deze klantvraag”) kiest het model categorieën die het zelf logisch acht. Die komen niet overeen met jouw categorieën. Bij een few-shot prompt geef je drie voorbeelden:
Klantvraag: “Mijn bestelling is beschadigd aangekomen.” Categorie: productprobleem
Klantvraag: “Ik zie een dubbele afschrijving op mijn rekening.” Categorie: facturatievraag
Klantvraag: “Kunnen jullie het product ook bij mij thuis installeren?” Categorie: serviceverzoek
Klantvraag: “De software crasht telkens als ik een bestand probeer te exporteren.” Categorie: ?
Het model herkent het patroon en classificeert correct: productprobleem. Niet omdat je het hebt uitgelegd, maar omdat je het hebt laten zien.
Wat er technisch gebeurt, heet in-context learning. Het model past zijn gedrag aan op basis van de voorbeelden in de prompt, zonder dat het opnieuw wordt getraind. De voorbeelden fungeren als tijdelijke instructie die alleen voor deze ene interactie geldt. Na de interactie vergeet het model de voorbeelden weer. Er verandert niets permanent aan het model.
Dat is een essentieel verschil met fine-tuning, waarbij het model wél permanent wordt aangepast. Few-shot prompting is tijdelijk en flexibel: je kunt de voorbeelden na elke interactie wijzigen. Fine-tuning is permanent en inflexibel: je moet het model opnieuw trainen om het gedrag te veranderen. Voor de meeste toepassingen is few-shot prompting voldoende en aanzienlijk sneller.
Eén goed voorbeeld maakt al een meetbaar verschil. Twee tot drie voorbeelden versterken de consistentie aanzienlijk. Bij vier tot vijf voorbeelden vlakt de verbetering af. Meer dan vijf voorbeelden levert zelden extra winst op, tenzij de taak heel gevarieerd is.
Dat patroon is consistent over verschillende modellen en taken. Onderzoek laat zien dat de grootste sprong in kwaliteit zit tussen nul en twee voorbeelden. Daarna worden de verbeteringen kleiner. De reden: het model heeft na twee tot drie voorbeelden het patroon herkend. Extra voorbeelden bevestigen het patroon, maar voegen weinig nieuws toe.
Hier zit een praktisch inzicht. De kwaliteit van de voorbeelden weegt zwaarder dan de hoeveelheid. Drie slordige voorbeelden presteren slechter dan één goed voorbeeld. Het model reproduceert het niveau dat je laat zien. Een voorbeeld met spelfouten, een slordig format of een inconsistente toon levert output op met dezelfde gebreken. Dat is geen fout van het model. Het is het model dat precies doet wat je hebt gedemonstreerd.
Een goed voorbeeld is representatief voor de taak en demonstreert de aspecten die je wilt overbrengen. Dat klinkt voor de hand liggend, maar er zijn twee valkuilen die in de praktijk vaak voorkomen.
De eerste is een voorbeeld dat te veel demonstreert. Als je een voorbeeld meegeeft vanwege de toon, maar het voorbeeld heeft ook een heel specifiek format, kan het model beide overnemen terwijl je alleen de toon wilde. De oplossing: benoem in de prompt welk aspect het model moet overnemen. “Gebruik de toon van het onderstaande voorbeeld, niet het format.”
De tweede is een voorbeeld dat niet representatief is voor de variatie in de taak. Als je een classificatietaak hebt met vier categorieën, maar je geeft alleen voorbeelden van twee categorieën, presteert het model zwak op de categorieën die het niet heeft gezien. Zorg dat elk relevant type of elke relevante categorie vertegenwoordigd is in de voorbeelden.
De bouwsteen Voorbeelden (De Gouden Standaard) uit cluster 4.2 beschrijft het principe: een voorbeeld meegeven als referentie voor stijl, format of kwaliteitsniveau. Few-shot prompting beschrijft het mechanisme: hoe het model de voorbeelden verwerkt en omzet in patroonherkenning die de output stuurt.
Het verschil is niet academisch. Als je weet dat het model voorbeelden gebruikt als patroon, begrijp je waarom de volgorde van voorbeelden ertoe doet (het model hecht meer gewicht aan het laatste voorbeeld), waarom de kwaliteit zwaarder weegt dan de hoeveelheid (het model reproduceert het niveau), en waarom een voorbeeld dat het verkeerde aspect demonstreert de output op een onverwachte manier kan sturen.
Few-shot prompting maakt het grootste verschil bij taken waar het model niet kan terugvallen op een bekend patroon uit de trainingsdata.
Het meest voor de hand liggende geval: je gebruikt een classificatiesysteem dat je zelf hebt bedacht. Het model kent jouw categorieën niet. Beschrijven helpt, maar laten zien helpt meer. Drie voorbeelden van correct geclassificeerde items zijn genoeg om het model jouw systeem te laten oppikken.
Een vergelijkbaar effect treedt op bij merkgebonden stijl. “Schrijf in een directe, eigenwijze toon” is een instructie die het model op tientallen manieren kan interpreteren. Een voorbeeld van een bestaande tekst in die toon laat precies één interpretatie toe. Dat is waarom copywriters en communicatieprofessionals al snel bij few-shot uitkomen: een voorbeeld communiceert in dertig woorden wat een beschrijving in driehonderd woorden niet lukt.
Bij taken die je tientallen of honderden keren uitvoert, is consistentie een reden op zichzelf. Zero-shot levert bij elke uitvoering een net iets ander format en een net iets andere diepgang op. Voorbeelden verankeren de output. Het model varieert minder en het resultaat wordt voorspelbaar. Dat is waarom few-shot prompting zo populair is in geautomatiseerde systemen: de consistentie is meetbaar hoger.
En dan zijn er de randgevallen. Taken met subtiele onderscheidingen die het model bij zero-shot niet herkent. “Is dit bericht sarcastisch of gemeend?” Het verschil is context-afhankelijk en subtiel. Een beschrijving van sarcasme helpt het model niet. Twee voorbeelden van sarcastische berichten naast twee gemeende berichten wel.
Een zorggroep wil alle binnenkomende patiëntberichten classificeren in vijf categorieën: acute klacht, niet-acute klacht, medicatieverzoek, administratief en overig. Ze proberen het eerst zonder voorbeelden, maar het model maakt een eigen indeling die niet overeenkomt met de werkwijze van de praktijk. Na het toevoegen van twee voorbeelden per categorie (tien voorbeelden totaal) classificeert het model consistent volgens de categorieën van de praktijk. De investering: twintig minuten om de voorbeelden samen te stellen. Het resultaat: een classificatie die honderd keer per dag correct werkt.
Een consultancybureau produceert maandelijks analyses voor twaalf klanten. Elke analyse volgt hetzelfde format: een samenvatting van de marktbewegingen, een beoordeling van de impact op de klant, en drie aanbevelingen. De analist geeft het model een voorbeeld van een goede analyse voor klant A en vraagt dezelfde structuur voor klant B. Het model neemt het format, de diepgang en de toon over. Waar het model eerder telkens een iets ander format hanteerde, is de output nu consistent genoeg om direct als concept naar de klant te sturen.
Een freelance copywriter heeft een vaste klant met een heel specifieke merkstem: kort, direct, een tikje eigenwijs. “Schrijf in een directe, eigenwijze toon” levert tien verschillende interpretaties op. Maar een voorbeeld van een bestaande tekst van die klant, met de instructie “schrijf in dezelfde stijl”, levert consistent output op die de klant herkent als zijn eigen stem. De copywriter hoeft nauwelijks te redigeren.
Wie wil begrijpen hoe je het model kunt aansturen om in tussenstappen te redeneren, en waarom dat bij complexe taken het verschil maakt, leest verder bij Chain-of-thought prompting (cluster 4.3c).
Wie terug wil naar het principe van voorbeelden als bouwsteen en wanneer een voorbeeld de moeite waard is, vindt dat bij Voorbeelden (De Gouden Standaard) (cluster 4.2g).
Wie wil begrijpen waar zero-shot prompting voor staat en wanneer voorbeelden overbodig zijn, leest Zero-shot prompting (cluster 4.3a).