Prompt Writing | Voor efficiënt programmeren

Axel Damen

Heb je ooit gewild dat je kon communiceren met je computer en dat het vervolgens de juiste programmeercode voor je zou schrijven? Dat kan met ‘prompt writing’. Met prompt writing of prompt engineering geef je de juiste instructies aan AI-modellen om de gewenste uitkomst te krijgen. Denk hierbij aan het gebruik van de chatbots ChatGPT van Open AI of Copilot van Microsoft. Prompt writing helpt je datagedreven te werken door efficiënt te programmeren, formules te schrijven en data-analyses uit te voeren. Dit artikel verkent hoe prompt writing kan worden toegepast in programmeertalen zoals Python en DAX voor tools zoals Power BI om de productiviteit te verhogen, fouten te verminderen en creativiteit te stimuleren. Dit draagt bij aan meer nauwkeurige voorspellingen en analyses in bijvoorbeeld het sociaal domein.

 

Achtergrond

Normaal gesproken vereist het schrijven van code een uitgebreide kennis van de programmeertaal en logica. Dit kan voor beginners een uitdaging zijn en zelfs ervaren ontwikkelaars kunnen vastlopen bij het programmeren van efficiënte algoritmen of bij het oplossen van fouten. Prompt writing stelt ontwikkelaars in staat om spreektaal te gebruiken om hun doel uit te typen, waar vervolgens AI-modellen de vertaalslag maken naar de bijbehorende code. Dit biedt een gebruiksvriendelijke manier om te programmeren, waarbij de focus verschuift van het onthouden van syntaxis naar het overbrengen van ideeën en ontwerpen.

 

Toepassingen van prompt writing

  • Code produceren

Met de opkomst van geavanceerde modellen wordt het gebruik van prompt writing steeds relevanter. Voor projecten waarbij bijvoorbeeld Machine Learning wordt toegepast, kan prompt writing helpen bij het genereren van code voor modelontwikkeling, training, evaluatie en optimalisatie.  Dit betekent het opstellen van trainings- en testsets, het selecteren van de juiste algoritmen en het aftsellen van parameters. Prompt writing kan ook bijdragen aan het genereren van code voor geavanceerde data-analyse en visualisatie, waaronder statistische berekeningen, grafiekconfiguraties en interactieve dashboards.

 

  • Code- en data cleaning

Bij het werken met grote datasets is het vaak nodig om gegevens op te schonen en voor te bereiden voordat analyses kunnen worden uitgevoerd. Prompt writing kan worden gebruikt om transformaties en het opschonen van data te automatiseren, zoals het identificeren en vervangen van ontbrekende waarden, het omzetten van datatypes en het normaliseren van gegevens. Het kan ook gebruikt worden om verschillende soorten fouten op te sporen in al bestaande code.

 

  • Automatisering

In projecten waarbij gegevens van verschillende bronnen worden ontsloten of waarbij wordt gecommuniceerd met externe API’s, kan prompt writing worden gebruikt om code te schrijven voor het extraheren, transformeren en laden van gegevens. Prompt writing kan ook worden gebruikt voor het automatiseren van workflow-taken, waaronder het schrijven van scripts voor het plannen en uitvoeren van geautomatiseerde taken zoals het vernieuwen van databronnen en het publiceren van rapporten.

 

Voorbeeldprompt voor een voorspelmodel

Prompt writing kan een handige tool zijn binnen het sociaal domein, waardoor ontwikkelaars efficiënter en meer datagedreven kunnen werken aan verschillende taken. Hieronder volgt een uitgebreid voorbeeld van hoe prompt writing kan worden toegepast in combinatie met AI-modellen en de resulterende Python-code voor deze toepassingen:

 

Schrijf een Python-script dat een Machine Learning-model traint om de behoefte aan sociale zorgdiensten voor een gemeente te voorspellen op basis van demografische gegevens en leefomstandigheden van kwetsbare groepen. Hierbij is een gestructureerd en gedocumenteerd script belangrijk, met duidelijke variabelennamen, functiedefinities en commentaar om het begrip te vergroten. Het script moet uit de volgende stappen te bestaan:

  • Toon: Schrijf een Python-script dat rekening houdt met de leesbaarheid van de code en houd het zo eenvoudig mogelijk voor iemand met een basisniveau van programmeren.
  • Data Cleaning: Lees de dataset ‘sociale_zorg_data.csv’ in, waarin demografische gegevens (zoals leeftijd, geslacht, inkomen) en leefomstandigheden van kwetsbare groepen staan. Voer data cleaning uit om ontbrekende waarden te behandelen.
  • Bereik van data: Analyseer het bereik van de demografische gegevens en leefomstandigheden, inclusief het identificeren van minimale en maximale waarden voor elke variabele. Let op eventuele beperkingen, zoals het aantal beschikbare datapunten voor demografische kolommen.
  • Datasplitsing: Split de dataset in trainings- en testsets, waarbij 80% van de data wordt gereserveerd voor training en 20% voor testdoeleinden. De splitsing moet willekeurig en evenredig gebeuren, zodat beide sets representatief zijn voor de volledige dataset.
  • Modeltraining: Train een RandomForestClassifier-model met de trainingsdata. Experimenteer met verschillende hyperparameters, zoals de complexiteit van het model en de maximale diepte van elke component. Let op de beperkingen van het trainen van het model, zoals de rekenkracht van het systeem en de beschikbare geheugenruimte.
  • Modelevaluatie*: Evalueer de prestaties van het getrainde model met behulp van de testdata. En gebruik nauwkeurigheid als evaluatiemetric. Let op beperkingen bij de evaluatie, zoals ongelijke verdeling van data in de dataset of het risico op overfitting.
  • Presentatie van resultaten: Presenteer de resultaten van het model, inclusief de nauwkeurigheid en andere relevante evaluatiemetrics. De presentatie moet begrijpelijk zijn, met behulp van grafieken, tabellen en samenvattende statistieken. “

 

Resultaat voorbeeld prompt

Bovenstaand Python-script geeft een opzet voor een simpele implementatie van een Machine Learning-model. Er is een duidelijke en leesbare codeopbouw, wat de bruikbaarheid en begrijpelijkheid bevordert. Door middel van datasplitsing en modeltraining zou het script een volledige end-to-end-oplossing moeten bieden voor het voorspellen van de behoefte aan sociale zorgdiensten op basis van demografische data. Echter, ontbreekt de stap van de Data Cleaning in de code. Verder is de presentatie van resultaten niet uitgewerkt en er kan gebruikgemaakt worden van grafieken en extra ‘opmerkingen om de resultaten toe te lichten’. Om de code uit te bereiden kan er gereageerd worden op de huidige uitkomst: behandel bij stap 1 de Data Cleaning en werk bij stap 5 de resultaten overzichtelijk uit, met gebruik van statistieken en grafrieken. Daarnaast kan er worden toegevoegd om bij elke stap extra duiding aan te brengen, waardoor de nieuwe code beter aansluit op de behoeften. In vergelijking met handmatig programmeren automatiseert het script deze processen en geeft het een gestandaardiseerde aanpak voor toekomstig gebruik.

 

Tips – Integreren van domeinkennis

Om prompt writing effectief te gebruiken, is het goed om het als een aanvulling te zien op je bestaande programmeerkennis. Hoewel het een krachtige tool is, werkt prompt writing het beste wanneer het rekening houdt met jouw niveau en begrip van de code, het model en de specifieke vereisten van het project. Data zijn de brandstof voor AI-modellen: geef voldoende context mee in je prompts, inclusief variabelen, functienamen, eventuele beperkingen en de toon van de respons. Op deze manier kan de gecreëerde code nauwkeurig aansluiten op je wensen en je eigen stijl van programmeren. Experimenteer met verschillende prompts en benaderingen om te achterhalen wat het beste werkt voor jouw situatie. Werk je prompts uit op basis van de gecreëerde code en pas deze aan om betere resultaten te krijgen. Voordat je de code direct kopieert, is het handig om deze zelf eerst te controleren en fouten te corrigeren. Op deze manier kun je de efficiëntie van prompt writing maximaliseren en waardevolle tijd besparen. Het terugkoppelen van eventuele fouten naar je Chabot is daarbij raadzaam. Hierdoor wordt niet alleen de code herschreven, maar leert het model ook het verfijnen van jouw stijl en voorkeuren.

 

Verbeterde codekwaliteit

Het gebruik van prompt writing biedt voordelen voor (BI-)ontwikkelaars. Zo zorgt prompt writing ten eerste voor een verhoogde productiviteit doordat het ontwikkelproces wordt gestroomlijnd en collega’s zich minder hoeven te concentreren op het onthouden of opzoeken van specifieke syntaxis. Daarnaast helpt prompt writing bij het verminderen van fouten, wat resulteert in een verbeterde codekwaliteit en minder bestede tijd aan debuggen. Een ander voordeel is dat gebruik van prompt writing de toegankelijkheid van programmeren binnen het team vergroot, waardoor zowel ervaren collega’s als beginners gemakkelijker kunnen samenwerken en bijdragen aan projecten.

 

Uitdagingen en nauwkeurigheid

Ondanks de vele voordelen zijn er ook enkele uitdagingen waar rekening mee gehouden moet worden bij prompt writing. Ten eerste is nauwkeurigheid belangrijk, aangezien de gegenereerde code soms niet volledig overeenkomt met jouw bedoelingen. Het is daarom praktisch dat collega’s de gegenereerde code controleren en waar nodig aanpassingen maken om langetermijnfouten te voorkomen. Een goed referentiekader is nodig om deze fouten op te sporen. Overigens is er ook een ethische overweging op het gebied van dataveiligheid. Het invoeren van gevoelige informatie in prompts kan leiden tot potentiële veiligheidsrisico’s en privacy kwesties, zoals het per ongeluk delen van vertrouwelijke gegevens van klanten. Dit is gevaarlijk omdat deze informatie wordt gebruikt om het AI-model verder te trainen en dus openbaar wordt. Dit kan de vertrouwelijkheid van data in gevaar brengen.

 

Conclusie

Prompt writing, gecombineerd met AI-modellen zoals ChatGPT en Copilot, bieden een veelbelovende benadering voor efficiënt programmeren en daarmee datagedreven werken. Binnen Van Dam Datapartners maken we daar graag gebruik van. Deze aanpak verhoogt onze productiviteit, verlaagt de drempel voor samenwerking en stimuleert innovatie. Het is belangrijk om prompt writing te zien als een aanvulling op je bestaande programmeerkennis. Zorg voor voldoende context in je prompts en experimenteer met verschillende benaderingen om de gegenereerde code nauwkeurig aan te laten sluiten op je behoeften en stijl van programmeren. Dankzij slimme inzet van prompt writing kunnen we efficiënte oplossingen blijven leveren voor de uitdagingen van onze klanten, bijvoorbeeld binnen het sociaal domein. Het is interessant om op te merken dat deze conclusie niet door een mens, maar door een AI-model is geschreven, wat aantoont hoe het ons óók kan helpen bij het formuleren van effectieve rapporten.

 

Ook benieuwd naar de mogelijkheden met prompt writing binnen uw organisatie? Van Dam Datapartners helpt graag om projecten efficiënt naar een nieuwe hoogte te brengen. Kies voor nieuwe inzichten, innovatie en samenwerking met Van Dam Datapartners. Neem contact met ons op via axel.damen@vandamdatapartners.nl

 

 

 

 

* Nauwkeurigheid meet hoe vaak het model correcte voorspellingen doet. Ongelijke verdeling in de dataset kan optreden wanneer er grote verschillen zijn in het aantal voorbeelden per klasse, wat de modelprestaties kan beïnvloeden. Overfitting treedt op wanneer het model te sterk is aangepast aan de trainingsgegevens en daardoor slecht presteert op nieuwe, onbekende data.

Deel via

Op de hoogte blijven van Van Dam Datapartners?

Schrijf je in voor onze nieuwsbrief!

Solliciteren

Vul hieronder jouw gegevens in om te solliciteren.

Inschrijven

Training Inleiding Power BI

10 november

Vul hieronder jouw gegevens in om je in te schrijven voor de training. Voor deze training geldt het speciale actietarief van € 280,- per persoon.

Inschrijven

Training Datagedreven Communicatie en Storytelling

3 november

Vul hieronder jouw gegevens in om je in te schrijven voor de training. Voor deze training geldt het speciale actietarief van € 280,- per persoon.

Inschrijven

Training Datagedreven Cultuur en Organisatie

16 oktober

Vul hieronder jouw gegevens in om je in te schrijven voor de training. Voor deze training geldt het speciale actietarief van € 280,- per persoon.

Inschrijven

Training Data Ethiek

26 oktober

Vul hieronder jouw gegevens in om je in te schrijven voor de training. Voor deze training geldt het speciale actietarief van € 280,- per persoon.

Inschrijven

Leerlijn Datagedreven Werken

Vul hieronder jouw gegevens in en vink de trainingen aan die je zou willen volgen om je in te schrijven voor de Leerlijn Datagedreven Werken. Onze Academy neemt vervolgens zo snel mogelijk contact met je op om je inschrijving te bespreken.

Offerte aanvragen

Vink hieronder de door jou gewenste configuratie aan en vul je contactgegevens in. Onze Business Consultants nemen dan zo snel mogelijk contact met je op.

Offerte aanvragen

Vink hieronder de door jou gewenste configuratie aan en vul je contactgegevens in. Onze Business Consultants nemen dan zo snel mogelijk contact met je op.

Offerte aanvragen

Vink hieronder de door jou gewenste configuratie aan en vul je contactgegevens in. Onze Business Consultants nemen dan zo snel mogelijk contact met je op.