Prompt engineering: zorgvuldig samengestelde recepten voor AI-modellen
Taalmodellen worden steeds meer geïntegreerd in maatwerksoftware om complete bedrijfsprocessen te ondersteunen. Dat is niet geheel zonder risico’s: in tegenstelling tot traditionele software is de output van taalmodellen onvoorspelbaar. Joop Snijder, Head of Research Center AI bij Info Support. “Als je ChatGPT twee keer dezelfde vraag stelt, dan krijg je twee verschillende antwoorden. Daar komt nog bij dat nieuwe versies van taalmodellen elkaar snel opvolgen. Als OpenAI een nieuw model introduceert, is dat niet een verbeterde versie van het oude, maar een compleet nieuw model, dat vanaf nul getraind is. Voor organisaties die zwaar leunen op AI-modellen brengt dat ook risico’s met zich mee: wat als klanten ineens compleet andere antwoorden krijgen op hun vragen van een chatbot? Of als een data-analyse in een nieuw model plotseling onverklaarbare resultaten oplevert?”
Prompt engineering is het proces van het verbeteren van prompts, om specifieker en duidelijker te zijn naar het taalmodel. Het doel: voorspelbare output. “Je kunt het zien als zorgvuldig samengestelde recepten voor AI-modellen, met gedetailleerde instructies voor taalmodellen”, aldus Joop. “Zo help je gebruikers om hele specifieke en duidelijke instructies te geven aan een taalmodel, want daar ontbreekt het nogal eens aan.”
Opdelen van complexe prompts in behapbare stukjes
Een techniek binnen prompt engineering is het opdelen van complexere opdrachten in kleinere, beheersbare stappen – ook wel prompt chaining genoemd. De output van een prompt dient als input voor de volgende. Joop: “Door complexe taken op te delen in kleinere stapjes, kun je een AI-model beter uitleggen wat je verwacht. Soms stellen we simpelweg te hoge eisen aan een model. Zo kun je aan ChatGPT vragen om een testplan te schrijven. Dat is best een veelomvattende opdracht: je moet weten wie de doelgroep is, wat je er precies mee wilt bereiken, hoe de outline van het plan moet zijn, welke schrijfstijl je wilt hanteren en ga zo maar door. Dat soort dingen zou je ook allemaal op een rijtje zetten als je die opdracht aan een collega zou geven. AI-modellen hebben die verfijning ook nodig.”
Geautomatiseerd testen met engineered prompts
Om de output van prompts te testen, heeft Info Support engineered prompts ontwikkeld: “We integreren met zijn allen steeds meer prompts in maatwerksoftware”, aldus Joop. “Die wil je niet steeds met de hand moeten testen. En als je taalmodel overgaat op een nieuwe versie, dan is geautomatiseerd testen ook een heel groot voordeel.”
Het geheim van engineered prompts: aan elke prompt worden gegevens toegevoegd die vastleggen wat de uitkomst zou moeten zijn. Deze gegevens worden niet meegegeven aan het taalmodel, maar alleen gebruikt om de output achteraf te testen. “We verrijken de prompt dus met extra gegevens en daardoor maken we deze herhaalbaar en testbaar. Je kunt allerlei gegevens in zo’n engineered prompt meegeven, zoals de instellingen van een API, omdat deze ook invloed heeft op de uitkomst.”
Voorbeeld: omzetten van een podcasttranscriptie naar een leesbaar artikel
Voor de podcast AIToday Live zet Joop en het team engineered prompts in om teksten te schrijven om afleveringen te promoten: van shownotes tot een artikel op de website van Info Support en posts voor social media.
In de prompt worden belangrijke technische details worden vastgelegd, zoals temperatuur, het gebruikte taalmodel en het maximumaantal tokens. Deze instellingen beïnvloeden de output en worden daarom inzichtelijk gemaakt en gedocumenteerd. Ook bevat de prompt een specifieke instructieset en een aantal tests om er zeker van te zijn dat de output bruikbaar is.
provider: anthropic
- model: claude-3-5-sonnet
- prompt_version: 1.2.2
- temperature: 0.8
- top_p: 0.8
- max_tokens: 8192
- system_role: system_role.txt
- input: ALL
- output: article.txt
- test_path: tests/test_data/test_inputs/01 – articles
- tests:
- test_01:
- type: question
- prompt: Zijn termen voldoende uitgelegd?
- test_02:
- type: question
- prompt: Is het artikel in de onvoltooid tegenwoordige tijd geschreven?
- test_03:
- type: question
- prompt: Bevat het artikel geen clichés?
- # Instructies
- Je bent een ervaren copywriter die gespecialiseerd is in het omzetten van podcasttranscripties naar leesbare artikelen. Je taak is om de gegeven transcriptie om te vormen tot een boeiend artikel van ongeveer 1500 woorden.
- Volg deze richtlijnen:
- Geef alleen het artikel, no yapping.
- Schrijf in het Nederlands en gebruik een informele, toegankelijke toon.
De lijst met instructies is in werkelijkheid langer, maar is hier voor overzichtelijkheid ingekort.
Eenvoudiger onderhoud, meer grip op kosten
Niet alleen wordt de output van AI-modellen consistenter dankzij engineered prompts; deze manier van werken maakt het ook eenvoudiger om modellen te onderhouden. Joop: “Als een bedrijfsproces bestaat uit honderd stappen en de output is ineens niet meer goed, dan is het wel handig om inzicht te hebben in de input en output van elke stap, zodat je de fout bij de bron kunt aanpakken. Met engineered prompts heb je alles vastgelegd, dus kun je zien waar het mis gaat en daarop acteren.”
Een ander bijkomend voordeel van engineered prompts is dat je als organisatie meer grip houdt op de kosten van AI. “Naarmate je meer gaat automatiseren, kunnen uitgaven snel stijgen. Als je bijvoorbeeld gebruik maakt van API’s om processen programmatisch aan te sturen, dan is het belangrijk om kosten goed te monitoren. Engineered prompts helpt om niet alleen in beeld te brengen wat de verwachte kosten zijn, maar ook om die uitgaven flink naar beneden te brengen en toch dezelfde output te krijgen.”