Wat is vibe coding en hoe werkt het?

Auteur: Gepubliceerd

In het kort: Vibe coding is een manier om software te maken waarbij je kunstmatige intelligentie beschrijft welk resultaat je wilt, waarna die de code genereert en aanpast. In strikte zin werk je vooral door gesprekken te voeren en de werking van de applicatie te beoordelen, zonder de code grondig te analyseren. Dat maakt het gemakkelijker om prototypes te bouwen, maar een werkend scherm bewijst niet dat het programma veilig, correct en klaar voor klanten is.

Hoe werkt vibe coding?

In plaats van zelf de instructies van een programma te schrijven, geef je een AI-tool een opdracht in gewone taal, een zogeheten prompt. Je kunt bijvoorbeeld vragen: ‘Bouw een eenvoudige calculator voor de prijs van een dienst, met een pakketkeuze en het aantal uren.’ De tool stelt code voor en maakt in sommige omgevingen ook bestanden aan, start de applicatie en toont een voorbeeldweergave.

Vervolgens bekijk je het resultaat en beschrijf je de gewenste wijzigingen: ‘Voeg een resetknop toe’, ‘Op een telefoon valt het formulier buiten het scherm’ of ‘De prijs mag niet negatief zijn’. AI past de oplossing aan, waarna je die opnieuw test. Je stuurt het werk vooral aan door over het resultaat te praten, niet door de code handmatig te bewerken.

De term wordt ook ruimer gebruikt, voor vrijwel elke vorm van programmeren met AI. Toch is het onderscheid belangrijk: bij vibe coding draait het niet alleen om de aanwezigheid van een assistent, maar vooral om het accepteren van diens wijzigingen op basis van wat de applicatie doet en hoe die eruitziet.

Het verschil met programmeren met hulp van AI

Een programmeur die AI gebruikt, kan een functie laten schrijven, daarna de code lezen, de aannames controleren en de functie bewust in het project opnemen. Bij vibe coding wordt die stap soms beperkt of overgeslagen: de gebruiker richt zich op het resultaat en vraagt het model om de volgende problemen op te lossen.

WerkwijzeBasis voor het accepteren van wijzigingenBelangrijkste beperking
Vibe codingDe applicatie bekijken en uitproberenProblemen die niet op het scherm zichtbaar zijn, worden gemakkelijk gemist
Programmeren met hulp van AICode beoordelen, testen en de oplossing begrijpenVereist technische kennis en tijd voor controle

De grens is niet scherp. Een project kan beginnen met vrij experimenteren en later overgaan op een gestructureerde ontwikkelaanpak. Het is belangrijk om een snel gemaakt prototype niet gelijk te stellen aan een voltooid product.

Vibe coding kan ook toegankelijk zijn voor iemand die geen programmeertaal kent. Zonder die kennis is het echter moeilijker te beoordelen waarom de applicatie faalt en of een voorgestelde aanpassing daadwerkelijk de oorzaak van het probleem wegneemt.

Voor welke taken is het het meest geschikt?

Een verstandige toepassing is een klein experiment waarbij fouten beperkte gevolgen hebben: een interactieve opzet van een website, een demonstratie van een idee, een calculator met fictieve gegevens of een hulpmiddel om een kopie van een bestand eenmalig om te zetten. Met zulke projecten kun je snel nagaan of een idee bruikbaar is.

Stel dat de eigenaar van een dienstverlenend bedrijf een formulier voor prijsberekeningen wil testen. Die kan AI vragen om een prototype met drie pakketten en vaste rekenregels, en dat vervolgens aan collega’s laten zien. In deze fase hoeft het formulier geen betalingen te verwerken, klantgegevens op te slaan of offertes te versturen.

Dat verandert wanneer de calculator echte bestellingen moet verwerken. Dan moet je onder meer de berekeningen en de gegevensbescherming controleren, en nagaan of de gebruiker de prijs die naar het systeem wordt verzonden niet zelf kan aanpassen. Het gaat dan niet meer alleen om het uiterlijk van de interface.

Een praktische vuistregel: hoe groter de gevolgen van een fout, hoe minder verstandig het is om uitsluitend te vertrouwen op gesprekken met AI en het handmatig doorklikken van de applicatie. Systemen die betalingen, gevoelige gegevens of gebruikersrechten beheren, vereisen passende technische controle.

Welke risico’s gaan schuil achter een werkende voorbeeldweergave?

AI kan code genereren die overtuigend oogt, maar fouten bevat. Een applicatie kan met voorbeeldgegevens werken, maar vastlopen bij een leeg veld, een ongebruikelijk teken of twee gelijktijdige bewerkingen. Het oplossen van één probleem kan bovendien een andere functie verstoren.

Beveiliging vormt een apart risico. Een API-sleutel, een geheime waarde die toegang geeft tot een externe dienst, hoort niet in de openbaar toegankelijke code van een website terecht te komen. Alleen een knop verbergen beveiligt de bijbehorende handeling niet. Ook bewijst een inlogscherm niet dat de applicatie de toegang tot gegevens correct beperkt.

Daar komt het onderhoud van het project bij. Als je niet begrijpt hoe het is opgebouwd, is het moeilijker om de gevolgen van updates van bibliotheken te beoordelen: dat zijn kant-en-klare onderdelen die het programma gebruikt. Opeenvolgende aanpassingen kunnen de complexiteit vergroten in plaats van de oorzaak van het probleem op te lossen.

Controleer voordat je een specifieke tool gebruikt in de officiële documentatie hoe aangeleverde code en gegevens worden verwerkt, tot welke bestanden de tool toegang heeft en wat het kost om de applicatie te laten draaien. Ga er niet van uit dat het genereren van een project ook gratis, blijvend onderhoud omvat.

Hoe maak je veilig een eerste prototype?

Kies om te beginnen een taak waarvan je het resultaat zelf kunt controleren. Voor een prijscalculator kun je bijvoorbeeld deze werkwijze volgen:

  1. Leg de regels vast voordat je code laat genereren. Bepaal de prijzen, toegestane waarden en de manier waarop het resultaat wordt afgerond.
  2. Beperk de omvang. Vraag om een versie zonder inloggen, betalingen of het opslaan van persoonsgegevens.
  3. Voer kleine wijzigingen door. Controleer na elke wijziging ook de functies die al werkten.
  4. Test de grensgevallen. Gebruik nul, een negatief getal, een leeg veld en een zeer grote waarde. Vergelijk de resultaten met handmatige berekeningen.
  5. Bewaar werkende versies. Gebruik de wijzigingsgeschiedenis of kopieën van het project, zodat je een foutieve aanpassing kunt terugdraaien.

Laat het prototype voordat je het aan klanten beschikbaar stelt beoordelen door iemand die de code en de manier waarop de applicatie wordt gestart kan controleren. Als je nog maar een idee aan het testen bent, begin dan met één functie en fictieve gegevens — zonder bedrijfsaccounts en -systemen te koppelen.

Zie ook: Wat is LLM?

Lees ook

Lees hoe PHP-FPM PHP-verzoeken verwerkt, verschilt van een webserver en hoe je processen afstemt op verkeer en hostingcapaciteit.
Ontdek hoe BIND als open DNS-serversoftware domeinen beheert, welke rollen het vervult en wanneer zelf beheren zinvol is.
Lees wat het Poolse REGON-register en -nummer betekenen, hoe ze verschillen van NIP en KRS en hoe je bedrijfsgegevens controleert.