Vibe coding… snel bouwen, maar tegen welke prijs?

Wat is vibe coding?
De term vibe coding werd begin 2025 geïntroduceerd en gedemonstreerd door Andrej Karpathy, één van de oprichters van OpenAI. Het idee is eenvoudig. In plaats van software stap voor stap te ontwerpen en ontwikkelen, beschrijf je aan een AI-agent wat je wilt hebben en laat AI die code genereren. De ontwerper/ontwikkelaar stuurt vooral op resultaat en minder op technische implementatie.
Eén van de ideeën van Karpathy is, dat deze manier van ontwikkelen professionele ontwikkelaars overbodig zou maken en de eindgebruiker zijn eigen software zou kunnen genereren. Nu ben ik de laatste om Karpathy hier tegen te spreken. Ik weet het nodige van AI en Machine Learning, maar in 2020 kon ik mij het punt waarop wij ons vandaag bevinden ook niet voorstellen. Ik wil dan ook beslist geen voorspellingen voor de toekomst doen, maar mijn ideeën delen met betrekking tot het punt waarop wij nu staan.
Wanneer ik het verder in het artikel over ‘ontwikkelaar’ heb, bedoel ik iemand die software ontwikkelt. Hierbij maakt het niet uit of men dit doet met behulp van Generatieve AI, zelf codeert of voor mijn part op zolder nog steeds gaten in ponskaarten zit te slaan.
Waar komt de naam vandaan?
Andrej Karpathy beschreef op X (of ‘The Cesspool Formally Called Twitter’) een ‘nieuwe manier van coderen’ waarbij je niet meer volgens de techniek, maar volgens je gevoel moest werken. Hij beschreef dit veelzeggend als
“I just see stuff, say stuff, run stuff, and copy-paste stuff… and it mostly works’.
Karpathy is ook de voormalig AI-directeur van Tesla. Na zijn bovenstaande citaat gelezen te hebben weet ik één ding. Ik stap nooit in een zelfrijdende auto.
Vibe Coding is dus ‘coderen op gevoel’ (the vibe). ‘Listen to your guts’… maar wanneer ik naar mijn ingewanden luister is dat meestal het gevolg van toch wel een heel foute input.
Hoe gaat dat te werk?
Bij vibe development werkt de ontwikkelaar voornamelijk met AI-chat programma’s als ChatGPT of AI-agents zoals Claude, Codex of GitHub Copilot. Het verschil tussen chat programma’s en agents is dat een chat programma de code laat zien, terwijl een AI-Agent de code daadwerkelijk schrijft.
Het ontwikkelproces ziet er ongeveer als volgt uit:
- Beschrijf wat de applicatie moet doen.
- Laat AI code genereren
- Test of het werkt
- Vraag AI om de fouten te corrigeren
- Herhaal totdat het gewenste resultaat bereikt is.
De focus ligt hier niet op de architectuur, ontwerpprincipes en onderhoudbaarheid, en meer op ‘het werkt’.
Aan vibe coding zoals we het nu kennen kleeft een aantal grote bezwaren
- Het resultaat is net zo goed als de beschrijving. Het kost heel wat analytisch vermogen en ervaring om precies te formuleren wat je wilt hebben.
- Wanneer je zelf geen codeerervaring hebt, is het heel moeilijk te doorgronden wat de code werkelijk doet. Je ziet dus wel het gewenste resultaat, maar je zal het in detail moeten testen.
- Wanneer je zaken ander wil hebben in de userinterface bijvoorbeeld, dan kan het soms behoorlijk wat tijd kosten om de Vibe tool duidelijk te maken, wat er precies moet gebeuren. Wanneer je bijvoorbeeld zou zeggen ‘Ik wil het postcodeveld uitgelijnd hebben met de straatnaam’ dan zal een ontwikkelaar begrijpen, dat je het begin van het de straatnaam en het begin van de postcode boven elkaar op eenzelfde verticale lijn wil hebben. Je hoeft niet raar op te kijken, wanneer je AI tool het postcode veld uitgelijnd tussen de staat en het huisnummer zet, en de plaatsnaam op de regel daaronder -waar ook de postcode eerst stond- zal zetten.
Wat zijn de voordelen van Vibe development?
Ik ben zelf niet zo’n fan van ‘vibe coding’. Begrijp me goed, ik heb niets tegen het toepassen van AI bij het schrijven van code. Bij mijn eigen werk gebruik ik ook verschillende AI tools. Vibe coding is zoiets als vol vertrouwen in een zelfrijdende auto stappen. Als ik in een auto zit, zie ik graag een mens achter het stuur. Een intelligent hulpmiddel als een navigatiesysteem met filedetectie is natuurlijk wel heel welkom.
Maar ok. Ik zie er geen voordelen in, maar laat ik je even de ‘voordelen’ noemen waar anderen mee aan komen dragen.
1. Snelle prototypes
Om specificaties op tafel te krijgen is het vaak goed om een ‘voorbeeld applicatie’ te hebben. Liefhebbers van vibe coding geven vaak aan, dat je in enkele uren een prototype kan ontwikkelen.
Dat is helemaal waar. Maar dat is ook zonder vibecoding mogelijk. Met de moderne ontwikkeltools die er zijn heb ik ook in enkele uren een compleet prototype met CRUD (Create, Read, Update, Delete) functionaliteiten gebouwd met een tool als Filament. Een tegenargument, dat ik dat alleen kan, omdat ik bepaalde technische kennis heb, en met Vibe tools een leek het ook kan, kan weerlegd worden met de opmerking dat die leek wel de vaardigheid moet hebben om heel gedetailleerde instructies te geven. En heel veel geduld om iedere nieuwe poging die het ‘weer net niet is’ te corrigeren.
2. Lage instapdrempel
Je kan snel iets werkends bouwen, ook als je nog nooit geprogrammeerd hebt.
Ook best wel waar. Maar toch ook niet helemaal. Je moet heel precies uitleggen wat je nodig hebt. En dat is waar de meeste mensen in falen. Mensen die gewend zijn systematisch zaken te ontleden en op te breken in ‘hapklare brokken’ zullen met Vibe coderen redelijk uit de voeten kunnen. Maar de meeste mensen hebben die vaardigheid juist niet.
En al helemaal niet wanneer je een specialist bent op je vakgebied!
Ik heb tot en met 2002 bij top 500 bedrijven gewerkt als software engineer / technisch projectleider. Mensen die specialist zijn op hun vakgebied hebben vaak de grootste moeite om uit te leggen wat ze doen, omdat het voor hen allemaal ‘vanzelfsprekend’ gaat.
3. Snelle experimenten
Nieuwe ideeën kunnen goedkoop worden getest zonder eerst weken aan ontwikkeling te besteden.
Ook weer ‘een beetje waar’. Dat kan. En nog steeds, daar hebben we geen ‘vibe coding’ bij nodig.
4. Goed voor kleine interne tools
Een eenvoudige calculatietool, formulier of dashboard kan vaak prima met AI gegenereerde code worden gebouwd.
Eindelijk iets wat wel waar is. En iets wat je als zelfstandig ondernemer misschien wel zal willen, maar een grote onderneming zou daar zeker niet voor moeten kiezen.
Toen ik pre-2002 nog in grote bedrijven werkte, was het eerste wat we bij een nieuw project deden het in kaart brengen van welke spreadsheets afdelingen in gebruik hadden. Want het gebruik van tools die naast een corporate systeem gebruikt worden, zijn juist een indicatie waar het systeem tekort schiet. Je wilt geen bedrijfsbreed systeem hebben, waar bepaalde ‘blinde vlekken’ blind blijven, omdat niemand klaagt, omdat ze zelf een oplossing hebt gebouwd. Wat je vooral wilt, is dat mensen klagen over de tekortkomingen van het systeem!
In die zin zijn ‘vibe’ tools de spreadsheets van de jaren 90+.
De nadelen van Vibe Development
Ok, nu we het eens zijn geworden, dat Vibe coding eigenlijk geen enkel echt voordeel heeft, laten we dan eens naar de nadelen kijken. Helaas zijn de nadelen net zo echt, als de voordelen ‘niet echt’ waren.
1. AI ‘begrijpt het niet’…
AI begrijpt geen bedrijfsprocessen, begrijpt geen datamodellen en begrijpt een ‘User Experience’. AI voorspelt code op basis van patronen uit trainingsdata. Met vibe coding ontstaan regelmatig oplossingen die technisch werken, maar functioneel onjuist zijn. Ook wordt er niet kritisch doorgevraagd, waardoor belangrijke uitzonderingssituaties worden vergeten.
2. Architectuur ontstaat vaak achteraf
Veel vibe-projecten groeien organisch. Na verloop van tijd ontstaat er een applicatie die bestaat uit tientallen losse AI oplossingen zonder een duidelijke samenhang. Dit leidt tot technische schuld, moeilijk onderhoud en lastig uitbreidbare systemen.
3. Beveiliging krijgt vaak onvoldoende aandacht
AI schrijft regelmatig code die:
- onvoldoende valideert
- rechtencontroles mist
- gevoelige gegevens blootstelt
- kwetsbaarheden introduceert
Een ervaren ontwikkelaar ziet deze risico’s vaak direct.
AI meestal niet.
4. Kennis verdwijnt
Een belangrijk probleem:
Als niemand begrijpt hoe de applicatie intern werkt, wordt iedere wijziging een risico.
Veel organisaties ontdekken dit pas wanneer:
- een belangrijke uitbreiding nodig is
- een ontwikkelaar vertrekt
- een leverancier stopt

5. Vendor lock-in op AI
AI modellen volgen elkaar snel op, en iedere keer komen er nieuwe spelers bij op de markt. De software die is ontwikkelt met een bepaald model, kan door een nieuwer model misschien wel heel anders begrepen worden. Ook is de prompt en manier van ‘spreken’ heel persoon-, en daarmee ook heel resultaatgebonden.
Of met andere woorden, wanneer de medewerker uit een organisatie verdwijnt, komt het AI-hondje zonder zijn baasje te zitten…
6. Absolute inconsistentie
AI zal nooit tevreden zijn. Of eigenlijk, het kan geen resultaten met elkaar vergelijken. Voor de grap heb ik een keer een vrij eenvoudige plugin door ChatGPT laten schrijven. Vervolgens in een ‘historievrij venster’ ChatGPT gevraagd dezelfde code te analyseren, en daar waar mogelijk te verbeteren.
Omdat ChatGPT, evenals andere AI diensten, het begrip ‘Verbeteren’ niet kent, zal het resultaat zijn, dat het de code gaat veranderen. Jij vroeg immers om ‘verbetering’ en ChatGPT is niet in staat twee verschillende versies gebaseerd op daadwerkelijke ervaring met elkaar te vergelijken.
AI gebruiken om code te evalueren zonder een direct einddoel te hebben is een heilloze weg. Een vraag er in de code delen voorkomen die gevoelig zijn voor ‘cross scripting’ (onbedoeld code uit laten voeren vanuit andere locaties) is een vraag die je prima kan stellen. Een vraag om de code ‘veiliger’ te maken niet.
Hoe staat WordXPression hierin?
Werk moet leuk blijven. En werk is leuk, als je creatief dingen kan maken. Programmeren is leuk. Maar sommige onderdelen van het programmeren kon vroeger vrij saai ‘code kloppen’ zijn. Het hoort erbij, dacht ik altijd maar.
AI biedt de mogelijkheid om repeterend en tijdrovend werk uit te besteden. Ik gebruik voor mijn codewerk de PHPStorm editor. Een stuk gereedschap wat ik zeer zeker aan alle PHP programmeurs aan kan bevelen. En nee, ik ben geen affiliate van het bedrijf. En PHPStorm integreert met zowel Claude als Codex (de ‘Claude’ van OpenAI).
Eén van de dingen waar Generatieve AI heel goed in is, is het herkennen van patronen. Op het moment, dat ik begin met het tikken van een coderegel, weet PHPStorm vaak al ‘waar ik heen wil’. Dus na een aantal toetsaanslagen komt PHPStorm al met de compleet zoals door mij bedoelde coderegel. Ik hoef alleen nog maar op ‘tab’ te tikken om het voorstel te accepteren. Natuurlijk vereist dat wel, dat je weet wat zo’n coderegel doet, je moet hem niet blind accepteren.
Er zijn veel manieren, waarop AI de moderne programmeur kan helpen en daarmee in principe maatwerk ook voor de eindklant stukken goedkoper maakt.
Vibe coding is echter geen werkwijze die bijdraagt aan betere code. AI is bedoeld als assistentie, niet als architect. Zover zijn we nog lang niet.
WordXPression developer cursussen
Tijdens de developer cursussen van WordXPression komt het ondersteunen van je werkprocessen met AI uitgebreid aan bod:
Bij beide cursussen zijn er nog plaatsen vrij. Zie jij je toekomst in het ontwikkelen van WordPress plugins of Laravel apps, die met WordPress communiceren, dan zijn dit misschien de trainingen waar je altijd naar zocht.


