Coderen met één prompt? ‘Vibe coding’ is geen wondermiddel 

“De laatste twintig procent kost tachtig procent van je tijd”

vibe coding

Vibe coding is de hype van het moment in softwareontwikkeling. Kan iedereen vandaag coderen met de hulp van AI? Zo eenvoudig is het niet.  

Vibe coding lijkt goed op weg om het IT-woord van het jaar te worden. De AI-gekte vindt ook vlot zijn weg naar de wereld van softwareontwikkeling. Het ruime aanbod aan kunstmatige hulpmiddelen doet coderen kinderspel lijken: je beschrijft wat je wil en enkele ogenblikken later heb je een kant-en-klare software.  

Dit klinkt als de droom van iedere ontwikkelaar. Je bespaart jezelf uren door niet meer handmatig code te moeten schrijven. Vibe coding maakt coderen zo ook toegankelijk voor niet-technische profielen. Kan iedere professionele ontwikkelaar op vervroegd pensioen?   

Van prompt naar code  

De term vibe coding is nog maar recent ontstaan. Andrej Karpathy, één van de medeoprichters van OpenAI, mag zich de bedenker van het woord noemen. Karpathy omschrijft vibe coding als volgt: “Ik zie gewoon dingen, zeg dingen, doe dingen en kopieer en plak dingen, en meestal werkt het”. 

Coderen met hulp van AI is niet nieuw: Github Copilot bestaat sinds 2021, wat in de AI-wereld al een eeuwigheid geleden is. Het idee is dat je als ontwikkelaar geen code meer schrijft, maar beschrijft. De AI-codeerassistent creëert de code op basis van een tekstuele beschrijving.  

Zo hoef je als programmeur niet meer gespecialiseerd te zijn in een specifieke programmeertaal om er code in te kunnen schrijven. “Maar vibe coding is niet per definitie voor niet-ontwikkelaars. Er zijn ook tools op maat van professionals”, zegt Menno Odijk, Field CTO bij Siemens-dochter Mendix. 

Ik zie gewoon dingen, zeg dingen, doe dingen en kopieer en plak dingen, en meestal werkt het.  

Andrej Karapthy, mede-oprichter OpenAI over vibe coding

Twintig procent 

Odijk is geen tegenstander van dergelijke tools, maar ziet beperkingen om ze toe te passen in een professionele ontwikkelingsomgeving. “Met vibe coding kan je snel een prototype maken dat lijkt op wat je zoekt. Er gebeuren veel experimenten, maar die botsen op beperkingen. De laatste twintig procent kost vaak tachtig procent van je tijd”. 

Hij verduidelijkt: “Ontwikkeling van bedrijfssoftware verloopt volgens een gestandaardiseerd bouwproces met blokken, frameworks en standaarden over hoe de software gebouwd moet worden. Daar loop je met vibe coding in geen tijd op vast. De tijd die je dan wint, verlies je meteen weer bij het ‘productieklaar’ krijgen van de code. Dat is die laatste twintig procent waar ik het over heb”. 

Dit wordt beaamd door Luigi van den Borne, webdeveloper en co-oprichter van het Kempense bedrijf We Are Knights. “Uit ervaring vind ik AI nuttig voor kleine, afgebakende vragen. Voor grote projecten, zoals het (her)schrijven van code of codereviews, is het minder betrouwbaar. De grootste beperking van vibe coding vind ik dat er vaak geen duidelijke lijn in de antwoorden zit: het voelt soms als een samenraapsel van stukjes die “ergens” van het internet gehaald zijn”.  

Haast en spoed 

“Modellen binnen afgebakende structuren laten werken, is één van de grote thema’s van het moment. AI is creatief, maar in professionele ontwikkeling mag je niet té creatief zijn met standaarden. Het is moeilijk om vooruit te kijken, maar ik zie niet snel gebeuren dat we bedrijfsapplicaties enkel en alleen met prompts gaan bouwen. Kwaliteit mag niet ten koste gaan van snelheid”, gaat Odijk verder.  

Daarom hoeft niet iedere ontwikkelaar vloeiend te zijn in meerdere programmeertalen. Odijks werkgever Mendix zet sterk in op low code: het ontwikkelen van applicaties met zo weinig mogelijk lijnen code. Dit valt volgens hem perfect te verzoenen met AI-gestuurd coderen. 

“AI-tools geven je code, maar mensen die geen kennis van ontwikkeling hebben, zullen die code nog steeds niet kunnen lezen. Low-code slaat dan de brug omdat je met visuele modellen werkt in plaats van code. Dit geeft je iets minder vrijheid omdat je binnen bouwblokken moet blijven, maar wij geloven sterk dat het de betere manier is om software te ontwikkelen”.  

AI aan de voorkant 

Er zijn situaties waar vibe coding een meerwaarde kan bieden, erkent Odijk. “Het kan nuttig zijn voor het ontwerpen van de voorkant van de applicatie, omdat je met woorden kan beschrijven wat je wil zien. De tools kunnen iets ontwerpen dat er mooi uitziet. Voor een individuele gebruiker is het misschien mogelijk om met prompts een volledige applicatie te ontwerpen”.  

Aan creatieve voorbeelden geen gebrek. Er circuleren vandaag al heel wat applicaties die volledig met vibe coding ontwikkeld zijn, van ‘SEO-rekenmachines’ tot een gratis DocuSign-alternatief. Maar voor ieder project dat slaagt, zijn er talloze die mislukken. 

“Het merendeel van AI-projecten geraakt nooit in productie”, zegt Odijk. “Kennis en data zijn meestal de obstakels. Binnen veel organisaties is er nog onvoldoende kennis over hoe AI-projecten aan te pakken van probleem tot oplossing. LLM’s doen niet alles. Dit vergt expertise en de juiste tooling die je moet opbouwen of inhuren. De technologie evolueert zeer snel”. 

“AI is niet magisch. Data structureren is cruciaal, want ze vormen de grondstof voor AI. We zijn ondertussen gewend geraakt aan AI, nu moeten we ervoor zorgen dat we data geschikt maken, zodat de tools er iets zinnigs mee kunnen. Dit luik wordt nog onderschat”.  

Vibe coding voelt soms als een samenraapsel van stukjes die ergens van het internet gehaald zijn.

Luigi van den Borne, co-oprichter We Are Knights 

Enthousiaste stagiair 

Het gesprek met Odijk krijgt plots een filosofische wending. “Vibe coding gaat over hoe je software ontwikkelt, maar wat is software? Dat verandert evengoed. AI zit nu ook in de code om autonoom taken te vervullen. Dit vereist andere vaardigheden dan klassieke softwareontwikkeling. Als ontwikkelaar weet je niet altijd meer wat je software zal doen”.  

Als software verandert, verandert ook het leven van de ontwikkelaar. Odijk: “De basisvaardigheden zullen relevant blijven. Maar over enkele jaren is het misschien niet meer nodig om je in specifieke programmeertalen te specialiseren. De focus verschuift naar promptgebaseerd schrijven en het bewaren van de kwaliteit en guardrails. Een programmeur wordt eerder een controleur”. 

“Het vak zal niet verdwijnen, daar ben ik van overtuigd, maar het takenpakket verandert. Begrijpen wat de klant wil en dat specifiëren, wordt een belangrijkere vaardigheid dan code schrijven. AI-tools zullen een junior programmeur snel kunnen vervangen, maar ervaren ontwikkelaars blijven een belangrijke rol krijgen. Maar hoe krijg je nog seniors als je geen juniors meer nodig hebt?”, eindigt Odijk met een open vraag.  

lees ook

Code schrijven of controleren? “Blijf expert in wat je AI vraagt om te doen” 

Van den Borne: “De kern blijft dat je als ontwikkelaar de code moet kunnen lezen, begrijpen en kritisch beoordelen. De rol van de programmeur verschuift stilaan van alles zelf schrijven naar meer sturen, reviewen en finetunen. AI neemt steeds vaker de repetitieve en dagdagelijkse taken over, waardoor ik meer tijd kan gaan besteden aan complexere projecten”.  

“Vergeleken met vijf jaar geleden merk ik vooral dat het vinden van bugs veel vlotter gaat: wat vroeger soms uren kostte, is nu vaak binnen enkele minuten opgelost. Het voelt een beetje alsof je een goede stagiair naast je hebt die altijd op de hoogte is van de laatste technieken en je enthousiast helpt, maar af en toe de bal misslaat”, besluit van den Borne.