Is de IT’er van de toekomst een prompt engineer?

Door Joop Snijder

Wie achter het stuur zit, kan nogal eens last hebben van een blinde hoek. Vraag maar aan een vrachtwagenchauffeur.

Maar wat de vrachtwagen is voor de chauffeur, dat is AI voor de meeste IT’ers. We praten er vol trots over. We zitten bovendien graag in de drivers seat. Maar, we hebben óók een blinde vlek: wat gaat AI eigenlijk betekenen voor het vakgebied IT zelf?

Laten we het hier nu niet hebben over het al dan niet verdwijnen van banen. De geschiedenis van ons vakgebied leert namelijk dat IT-specialismes veel minder snel verdwijnen dan je zou verwachten.

Terugkijkend: assembly, mainframes en COBOL

Ruim dertig jaar geleden zat ik voor het eerst in de collegebanken. Als het gaat over de geschiedenis van IT, dan was begin jaren negentig de prehistorie. De eerste les ging over assembly, de laagst mogelijk programmeertaal waarmee je een computer kunt besturen. Volgens mijn opleiding was het belangrijk om te weten hoe een processor werkt, voordat je in een hogere programmeertaal kon gaan werken.

Het voorgevoel wat ik toen had, dat ik assembly nooit meer nodig zou hebben na mijn opleiding, bleek te kloppen.

Maar de toekomst liet zich, ook toen al, moeilijk voorspellen. Halverwege de nineties kreeg ik mijn eerste baan in de IT. Menig bedrijf draaide nog op mainframes en er liepen veel COBOL-programmeurs rond. ‘Die zijn er over vijf jaar niet meer’, hoorde ik om me heen.

Fast forward naar 2023; er zijn nog steeds mainframes in omloop en COBOL is echt nog niet uitgestorven. Alleen kun je wel zeggen dat je niet meer naar COBOL en mainframes hoeft te kijken voor de laatste ontwikkelingen in IT. De echte veranderingen vinden plaats aan de voorkant.

Vooruitkijken: van programmeren naar prompt engineering

Die voorkant heet op dit moment natuurlijk ‘AI’. Een van de meest spannende en meest veelbelovende ontwikkelingen op dit moment is de opkomst van transformers en large language models, die op een hele slimme manier teksten kunnen vertalen. Zelflerende vertaalmachines als Google Translate en Deepl hebben binnen hele korte tijd reuzensprongen gemaakt in de kwaliteit van hun vertalingen.

Iets soortgelijks zie je op dit moment gebeuren bij AI-systemen die beelden kunnen genereren, zoals DALL-E, Midjourney en Stable Diffusion. Deze tools maken gebruik van miljoenen beelden die online staan, ze leren begrijpen wat daarop staat en zijn zelf in staat om daarvan combinaties te maken. Als je wil, ook nog in een bepaalde stijl.

Kijk maar eens wat DALL-E voor resultaat geeft als je vraagt hoe de ‘last selfie on earth’ eruitziet:

Of hoe je AI kunt vragen om visuals te maken voor Starbucks in de stijl van schilders als Breughel, Rembrandt, Van Gogh, Vermeer, Banksy, Warhol, Picasso, Dali en Mondriaan:

Onlangs verraste OpenAI de wereld met ChatGPT, een tool waarmee je code kunt generen, of zelfs complete teksten; deze blog zou bij wijze van spreken uit de koker van ChatGPT kunnen komen. En dat allemaal op basis van informatie die ergens online vindbaar is.

Binnen een paar dagen na de introductie van ChatGPT deelden gebruikers behoorlijk verbluffende resultaten. AI-tools zijn inmiddels angstaanjagend goed. Tenminste, als je ze de juiste prompts geeft. En daar zit wel de crux.

Als gebruikers kunnen we ons niet meer voorstellen wat deze AI-tools onder de motorkap snappen en kunnen. We weten heel goed wat we van ze willen en of het resultaat ons aanstaat. Het continu tweaken van een zoekopdracht totdat de resultaten ons bevallen, dat is een vaardigheid die we de afgelopen decennia tot in de puntjes hebben verfijnd – dankzij de vele uren die we hebben gespendeerd aan zoekopdrachten in Google.

Waar vertaalmachines Nederlands kunnen omzetten in Engels, en DALL-E woorden kan omzetten in beeldtaal, zo kunnen nieuwe programmeermodellen als OpenAI Codex steeds beter mensentaal omzetten in code. Je maakt daarbij gebruik van ‘pseudocode’ zoals:

  1. Download the mnist-784 dataset
  2. Implement a feed forward neural network classifier using PyTorch
  3. Train the classifier on the MNIST data to predict digit classes
  4. Test the accuracy of the classifier with a confusion matrix

Met deze vier regels prompt kun je binnen vijf minuten een werkend machine learning-model genereren. Wat OpenAI Codex kan, geloof je pas als je ermee gaat werken; terwijl je code aan het typen bent, vult het al regels voor je aan. Dit model schetst de toekomst van ons vakgebied. Veel standaard handelingen, zoals het aanroepen van specifieke API’s van dienstverleners, kun je aan AI overlaten.

Van programmeertaal naar prompttaal

Eigenlijk gebeurt hier hetzelfde als tijdens de overgang van assembly naar hogere programmeertalen; we staan nu aan de vooravond van de overgang van programmeertalen naar natural language. Als IT’er zul je steeds vaker een machine vragen om een probleem voor je op te lossen. Wat je dan vooral moet kunnen, is het probleem zo goed mogelijk onder woorden brengen. Hoe beter de prompt, des te beter de uitkomst.

Deze natuurlijke manier van communiceren zien we eigenlijk al terug in IT-infrastructuur. Wie bijvoorbeeld een cluster in wil richten, hoeft daarvoor al geen gebruik meer te maken van code, maar van een prompt. Bijvoorbeeld: ‘bouw een cluster met X machines en X CPU’s die draaien op Linux’. Je hoeft als gebruiker niet te weten hoe dit gebeurt, het belangrijkste is dat het gebeurt.

Dezelfde manier van prompts geven gaan we ook steeds meer terugzien in programmatuur.

Er zullen steeds meer programmeer-frameworks komen, die je aanstuurt met gewone taal. Het merendeel van de IT’ers van de toekomst hoeft eigenlijk helemaal niet meer zo veel verstand te hebben van programmeren; van het ingeven van de juist prompts des te meer. Je hoeft geen code meer te kunnen lezen, als je maar snapt wat een machine voor je maakt en de opdracht zodanig kunt aanpassen om de uitkomst nog meer naar je wens te maken.

De IT’er als taalmens

Dat voelt ergens misschien contra-intuïtief, de IT’er als taalmens. Velen van ons voelen zich misschien wel comfortabeler met programmeertaal dan met natural language. Maar voor developers en architecten zullen taalvaardigheden de komende jaren een steeds belangrijker onderdeel worden van het curriculum.

En wie zich toch het liefst bezig wil blijven houden met code? Daarvoor is zeker nog altijd plek, net als dat we nu ook nog mainframe- en COBOL-specialisten rond hebben lopen.

En mocht je denken ‘maar de toekomst van IT is toch moeilijk te voorspellen?’; klopt. Je kunt niet heel nauwkeurig voorspellen waar AI over meer dan vijf jaar ineens reuzensprongen in maakt. Maar wat wel duidelijk zichtbaar is, dat is een algehele trendlijn die van programmeren een steeds intuïtievere taak maakt. Van assembly via C#/Java naar natural language processing; om goed te kunnen programmeren hoef je steeds minder goed te weten wat er nu eigenlijk onder de motorkap gebeurt.

Als je maar weet wat je voor resultaat wilt hebben, en hoe je dat duidelijk kunt maken via een prompt.