Ga naar de hoofdinhoud
BVDNET
Arnhem · websites & automatiseringBVDNET
Praktische Toepassingen

Few-shot prompting

Bij few-shot prompting geef je een AI-model in je opdracht een paar voorbeelden van wat je wilt, zodat het dat patroon volgt zonder extra training.

Ook bekend als: multishot prompting, few-shot learning, one-shot prompting

Bij few-shot prompting zet je een paar voorbeelden in je opdracht aan een AI-model, zodat het ziet wat je bedoelt. Wil je klantmails laten sorteren in klacht, vraag of bestelling, dan laat je drie mails zien met het juiste label en daarna de nieuwe mail; het model volgt het patroon. Er is geen training nodig: verander de voorbeelden en het gedrag verandert bij het volgende verzoek.

Waar komt de term vandaan?

De term komt uit machine learning, waar few-shot learning betekent dat een model een taak leert van maar een handvol gelabelde voorbeelden. Het GPT-3-paper van Brown e.a. (OpenAI, 2020) paste het toe op de prompt. Het vergeleek drie situaties: zero-shot (alleen een instructie), one-shot (één voorbeeld) en few-shot, waarbij het model tijdens het antwoorden meerdere voorbeelden krijgt en zijn gewichten niet veranderen. Few-shot betekende daar 10 tot 100 voorbeelden, zoveel als er in het contextvenster van het model van 2.048 tokens pasten. Op de quizvragen van TriviaQA scoorde GPT-3 64,3% zero-shot, 68,0% one-shot en 71,2% few-shot. Het vermogen erachter heet in-context learning.

Hoe pas je het toe?

  • Gebruik de vorm van de echte taak: elk voorbeeld een invoer gevolgd door de uitvoer die je wilt. De handleiding van OpenAI laat productrecensies zien, elk met het label Positive, Negative of Neutral.
  • Varieer de voorbeelden en neem randgevallen op, zodat het model geen toevallig patroon overneemt. In september 2026 raadt Anthropic drie tot vijf voorbeelden aan, gemarkeerd met <example>-tags zodat het model ze van de instructies kan onderscheiden.
  • Kies voorbeelden die op de vraag lijken. Liu e.a. (2021) lieten een zoekstap per vraag vergelijkbare voorbeelden kiezen, en dat werkte beter dan willekeurig gekozen voorbeelden.
  • Zet vaste voorbeelden vooraan in de prompt. OpenAI raadt aan inhoud die je steeds opnieuw gebruikt vooraan te zetten, zodat prompt caching die goedkoper maakt.

Waar gaat het mis?

  • Kleine keuzes hebben grote gevolgen. Zhao e.a. (2021) zagen dat de opmaak, de keuze van de voorbeelden en zelfs hun volgorde de nauwkeurigheid van GPT-3 konden laten schommelen tussen gokniveau en bijna het beste bekende resultaat; het model neigde naar antwoorden die vlak voor het einde van de prompt stonden. Een goede volgorde voor het ene model werkt niet vanzelf bij een ander (Lu e.a., 2021), en alleen al de opmaak scheelde bij LLaMA-2-13B tot 76 procentpunt in nauwkeurigheid (Sclar e.a., 2023).
  • Het model neemt vooral de vorm over, minder de antwoorden. Min e.a. (2022) vervingen bij classificatie- en meerkeuzetaken de juiste labels in de voorbeelden door willekeurige, en de prestaties daalden bij 12 modellen nauwelijks. Wat telde, was dat de voorbeelden de mogelijke labels, het soort invoer en de opmaak lieten zien.
  • Voorbeelden kosten geld. Ze gaan bij elk verzoek mee als invoertokens.
  • Het haalt niet altijd het niveau van een getraind model. In 2020 schreven de makers van GPT-3 dat few-shot nog veel slechter scoorde dan de beste gefinetunede modellen.

Voorbeeld

Stel: een webshop die tuingereedschap verkoopt, wil binnenkomende mail sorteren. De prompt bevat drie voorbeelden met een label en daarna de nieuwe mail:

Plain Text
1Geef elke klantmail het label klacht, vraag of bestelling.
2
3<example>
4Mail: Mijn pakket kwam aan met een gebroken handvat.
5Label: klacht
6</example>
7<example>
8Mail: Versturen jullie ook naar België?
9Label: vraag
10</example>
11<example>
12Mail: Ik wil graag nog twee van de blauwe gieters.
13Label: bestelling
14</example>
15
16Mail: Op de factuur staat het verkeerde adres, kunnen jullie dat aanpassen?
17Label:

Het model antwoordt met één woord, in de vorm van de voorbeelden. Labelt het één soort mail steeds verkeerd, zoals een vraag die eigenlijk een klacht is, voeg dan een voorbeeld van die soort toe.