ChatGPT: Creëer je eigen beste ervaringen middels prompt engineering
Met de komst van ChatGPT het afgelopen jaar, heeft de AI-markt een enorme boost gekregen. We zien momenteel dan ook veel AI-Assisted programma’s verschijnen. Om het maximale resultaat uit AI-oplossingen zoals ChatGPT te halen, moet je 'goede' vragen kunnen stellen. In dit blog ga ik dieper in op hoe je een 'goede' vraag stelt, oftewel 'prompt engineering'.
Een korte recap: wat is ChatGPT
ChatGPT is AI-platform ontworpen door OpenAI. Het platform is voorafgaand al getraind met grote hoeveelheden data, zodat de tool vrij gemakkelijk op de meeste vragen een (algemeen) antwoord kan geven. Verder is ChatGPT in 2022 gelanceerd met als doel om tekst(en) te kunnen generen en te assisteren bij bepaalde taken, zoals code snippets genereren of vragen beantwoorden.
Om een (zinnig) antwoord van ChatGPT terug te krijgen, moet je een gedetailleerde vraag (prompt) schrijven. Er zit echter ook een limitatie aan. ChatGPT bevat alleen data tot en met 2021, dus vragen over gebeurtenissen in 22/23 kan hij niet accuraat beantwoorden.
De basis van een goede prompt
Maar voor dat we hier dieper induiken, moeten we eerst de vraag beantwoorden: “Wat is een prompt”? Een prompt is een korte tekst die dient als startpunt voor het genereren van een langere tekst. De prompt kan variëren van een vraag tot een verzoek om informatie. Prompt engineering refereert dus naar de praktijk van optimaliseren van jouw prompts om het beste resultaat te genereren.
De meest eenvoudige manier om een 'startpunt' te creëren is door een vraag stellen op een manier, zoals je dat bij ieder ander persoon ook zou doen. Wanneer we echter een specifiek doel voor ogen hebben, dan is het juist van belang om meer informatie en duidelijke instructies te geven. Dit kan worden gerealiseerd door te zorgen dat een aantal onderdelen in je prompt zitten:
1). Context
2). Taakomschrijving
3). Instructie
4). Verduidelijking en verfijning
Bovenstaande is dan ook de volgorde waarin je een prompt opbouwt!
1). Context
Dit is het kloppende hart van iedere prompt die wordt gemaakt. Hier bepaal je namelijk de context voor ChatGPT om zo de basis te leggen voor de instructies die je gaat geven. Een duidelijke context creëer je door zoveel mogelijk relevante informatie te geven. Je kunt denken aan de achtergrond informatie, specifieke details of relevante gebeurtenissen/evenementen. Neem het voorbeeld hieronder:
Er wordt hierboven een duidelijke context gecreëerd door informatie te geven over het feit dat hij nu een persoon moet imiteren' die een softwareontwikkelaar is, medior niveau heeft, in Den Haag heeft gestudeerd en een duidelijke verwachting wordt meegegeven dat hij kan uitleggen wat zijn werk inhoud op simpele en eenvoudige wijze.
2). Taakomschrijving
ChatGPT kan een grote verscheidenheid aan tekst genereren aan de hand van verschillende contexten, maar heeft duidelijke instructie(s) nodig om een taak te kunnen uitvoeren. Dit is vergelijkbaar het proberen te maken van een nieuw gerecht, maar zonder dat je het recept (of duidelijke stappen) hebt. We krijgen ongetwijfeld een gerecht, maar is het ook wat we willen?
Bij ChatGPT werkt dit vergelijkbaar. Hij kan een tekst genereren die interessant is en lekker wegleest, maar het hoeft niet te zijn waar je naar op zoek bent. Door hem een taak te geven beperk je de scope van de informatie die wordt gegeven. Tevens is het ook belangrijk om de uitkomst/het doel van de taak te specificeren.
3). Instructie(s)
Eenmaal de taak opgesteld, is het van belang om duidelijke instructies op te stellen voor ChatGPT. Dit kan van alles zijn. Bijvoorbeeld: de ondertoon, lengte of doelgroep van de tekst. Hiermee maak je expliciet duidelijk welke verwachtingen je met hebt, zodat ChatGPT dan ook een reactie genereert die hieraan voldoet.
4). Verduidelijking en verfijning
In dit onderdeel vraag je aan ChatGPT of hij de context, instructies en taak begrijpt.
Wanneer je toch niet geheel de reactie waar je op hoopte, dan moet er nog wat aan de prompt gesleuteld worden. ChatGPT onthoudt gelukkig de voorgaande prompt die je hebt gemaakt, dus hoef je niet opnieuw te beginnen! In plaats daarvan kun je bestaande prompt verfijnen door aan hem te vragen dit doen. Bijvoorbeeld middels onderstaande zinnen:
→ Schrijf de tekst opnieuw, maar dan informeler.
→ Breidt onderdeel X uit met meer details.
Eenmaal tevreden is het altijd van belang om de gegenereerde tekst te reviewen op onwaarheden. Dit is het resultaat:
Nog een paar laatste tips voor prompt engineering!
→ In ChatGPT kan een conversatie worden gereset middels een zin als “Negeer alle voorgaande prompts”, zodat je geen nieuwe chat hoeft te starten.
→ Gebruik (…) of […] om de instructies te onderscheiden van de taak.
→ Vermijd open vragen. Hoe breder de vraag, hoe generieker het antwoord.
→ Ken je publiek. Wees je ervan bewust voor wie je schrijft en laat dit terugkomen in de prompt.
Conclusie
De mogelijkheden van ChatGPT lijken veelbelovend. In ons voorbeeld zagen we dat ChatGPT met een duidelijke context, specifieke taak en duidelijke instructies prima in staat blijkt om uit te leggen wat een softwareontwikkelaar doet.
Mocht je geïnteresseerd in de mogelijkheden van ChatGPT en hoe wij deze inzetten binnen onze organisatie, neem dan contact op om eens vrijblijvend van gedachten te wisselen over de mogelijkheden.
Gideon Kuijpers – Software Developer