Betere prompts met ChatGPT

Effectiever vragen stellen aan ChatGPT.

Een computeralgoritme heeft het voordeel dat het snel dingen kan doen, maar heeft vaak het nadeel dat je duidelijk moet zijn in wat je vraagt. Degenen die hebben geprogrammeerd kennen dat maar al te goed, een spelfout is snel gemaakt en dan werkt het resultaat vaak niet. Op een soortgelijke manier gaat het ook met het stellen van vragen aan modellen als ChatGPT. Wanneer je niet duidelijk bent in je vraag kan er een goed antwoord uitkomen, maar anders zul je de vraag toch beter moeten stellen. In dit artikel volgen een aantal tips.

Veel gebruikers van ChatGPT en andere modellen hebben al ervaren dat er geen goed antwoord op de vraag komt. Dat kun je het model niet verwijten, die doet wat je vraagt en niet meer. Je kunt niet verwachten dat het model je context kent of dat het eerst doorvraagt op je vraag. Ik kan me wel voorstellen dat een dergelijke functionaliteit binnenkort wel beschikbaar komt bij het door ontwikkelen van deze modellen. De bal ligt bij degene die de vraag stelt, dus bij degene die de prompt schrijft. Hierna volgen enkele mogelijkheden om te prompt te verbeteren. Er zijn vier primaire strategieën, elk geschikt voor verschillende scenario’s: Uitbreiding, Decompositie, Vermijden van ondubbelzinnigheid en Abstractie.

Uitbreiding

Een van de basistechnieken bij promptoptimalisatie is uitbreiding, waarbij de oorspronkelijke zoekopdracht wordt verrijkt met aanvullende relevante informatie. Uitbreiding is met name handig voor het aanpakken van hiaten in de context, het blootleggen van verborgen verbanden of het oplossen van onduidelijkheden in de eerste prompt.Door de oorspronkelijke prompt nog een kritisch door te lopen en vervolgens contextuele aanwijzingen, synoniemen of bijbehorende ideeën toe te voegen, kan het model de prompt beter verwerken en daardoor ook een beter antwoord genereren.  

Bijvoorbeeld:
Een eerste prompt kan bijvoorbeeld zijn “Wat zijn de gevolgen van klimaatverandering?”. Dat is een behoorlijk algemene vraag, waarmee het model alle kanten op kan. Het kan je helpen om in het algemeen een aantal gevolgen in kaart te brengen, maar het geeft wellicht niet de informatie waar je naar op zoek bent. Daarvoor zou je de vraag kunnen uitbreiden met de tekst “effecten op ecosystemen, wereldwijde temperatuurstijging en economische gevolgen”. Dan kan het model juist die gevolgen voor je weergeven en andere mogelijke gevolgen negeren.

Decompositie

Een andere techniek is decompositie. Decompositie vereenvoudigt de structuur van de vraag, door de vraag te splitsen. Hierdoor wordt belasting van het model verminderd en is de kans op een nauwkeurige antwoord groter. Wanneer een zoekopdracht meerdere redeneerlagen omvat of de integratie van verschillende stukjes informatie vereist, kan een enkele prompt het model overweldigen, wat leidt tot vage of onvolledige antwoorden.

Bijvoorbeeld:
Wanneer je de vraag “In welke sport won Nederland tijdens de Olympische Spelen van 2024 meer medailles: hardlopen of wielrennen?” stelt moet het model een aantal handelingen uitvoeren. Allereerst moet duidelijk zijn hoeveel medailles Nederland bij beide groepen won en daarna moet het uitrekenen voor welke sport er het meeste waren. Rekenen is niet de beste eigenschap van taalmodellen als ChatGPT. Daarom kun je de vraag beter in twee delen stellen en zelf uitrekenen voor welke sport de meeste medailles aan Nederland werden uitgereikt. De afzonderlijke vragen worden dan: “Hoeveel medailles won Nederland tijdens de Olympische Spelen van 2024 bij hardlopen” en “Hoeveel medailles won Nederland tijdens de Olympische Spelen van 2024 bij wielrennen”

Vermijden van ondubbelzinnigheid

Taal kent veel nuances en daardoor kan zelfs een kleine dubbelzinnigheid bij een zoekopdracht kan in het model tot verschillende interpretaties leiden. Bijvoorbeeld kan de zoekopdracht “Wie werd in 2024 Olympisch kampioen wielrennen?” verwijzen naar de categorie mannen of vrouwen, maar ook naar de verschillende disciplines binnen het wielrennen. Daarom moet een dergelijke vraag worden verfijnd om deze ondubbelzinnigheid en de daardoor veroorzaakte onzekerheid weg te nemen. Het elimineren van deze onduidelijkheid kan door de query op te splitsen of opnieuw te formuleren.

Bijvoorbeeld:
Uitgaande van de zoekopdracht “Wie werd in 2024 Olympisch kampioen wielrennen?”, kan die als volgt worden geformuleerd: “Wie werd in 2024 Olympisch kampioen Keirin bij de heren?”. Wanneer je alle winnaars bij zowel de mannen en de vrouwen wilt weten bij alle disciplines, dan kan het nodig zijn dat je eerst nog een aanvullende vraag stelt: “Bij welke disciplines werden tijdens de Olympisch Spelen van 2024 medailles uitgereikt bij de heren?”. En uiteraard een soortgelijke vraag bij de dames. Daarna kun je voor elke combinatie dan een afzonderlijke vraag stellen. Wel wat meer werk, maar met een aanzienlijk beter resultaat.

Abstractie

Met abstractie verleg je de focus van gedetailleerde informatie naar een hoger abstractieniveau, waardoor het model andere informatie verstrekt en minder hallucineert als het de details niet kent. Vaak betekent het dat het toepassingsgebied wordt aangepast of dat specifieke informatie wordt weggelaten.

Bijvoorbeeld:
De vraag “Hoe vaak heeft Nederland de Olympische Spelen georganiseerd” kan worden geabstraheerd door de vraag als volgt te formuleren: “Wat is de geschiedenis van de Olympische Spelen van Nederland”.
De vraag “Wat zijn de belangrijkste economische gevolgen van ontbossing in Nederland in het afgelopen decennium?” kan worden geabstraheerd door “Wat zijn de economische gevolgen van ontbossing?”.

De strategieën zijn uiteraard ook te combineren

De ene strategie hoeft niet beter te zijn dan de andere, dat hangt van de situatie af. In een aantal gevallen kunnen de strategieën ook worden gecombineerd, voor een nog beter resultaat.

Welkom » Welkom bij Preminent » Informatietechnologie » Voor gebruikers » Artificial Intelligence (AI) » Betere prompts met ChatGPT