Het demomoment is overtuigend. Iemand uit je team laat een applicatie zien die grotendeels door AI is geschreven, en alles doet het: inloggen werkt, de cijfers kloppen. Toch is de vraag op tafel niet of het werkt, maar of je dit wilt loslaten op klantdata en op processen waar je organisatie op draait.
Voor die beoordeling hoef je niet te kunnen programmeren. De fouten van vibe coding, AI code laten genereren zonder dat iemand met vakkennis meekijkt, zijn voorspelbaar; ze blijven alleen onzichtbaar zolang de output werkt. Dit zijn de vijf grootste valkuilen, omgezet in toetsvragen voor de maker, plus de afspraken waarmee je ze een volgende keer voorkomt. Of vibe coding bij je project past, lees je in wanneer vibe coding bij je project past en wanneer niet; dit artikel gaat over de stap daarna.
Niemand heeft de code gelezen
Een AI-tool is tevreden zodra de uitkomst doet wat je vroeg; veiligheid en onderhoudbaarheid komen in dat oordeel niet voor. Vangnetten als invoercontroles bouwt een ontwikkelaar standaard in; een AI-tool alleen als iemand erom vraagt, en wie niet weet dat hij dat moet vragen, krijgt ze niet. De demo toont de route waarop alles meezit; de fouten wonen op alle andere routes.
De eerste toetsvraag: wie heeft de gegenereerde code regel voor regel gelezen, en zou diegene het zelf zo geschreven hebben? Blijft het antwoord steken bij vertrouwen in de AI, dan is er geen review geweest.
Twee controles kun je zelf doen, zonder technische kennis. Vraag waar de wachtwoorden en API-sleutels staan, de toegangscodes waarmee de applicatie met andere systemen praat. Het goede antwoord: in een afgeschermde configuratie, buiten de code. Staan ze in de code zelf, dan ligt de sleutel onder de deurmat. Maak daarna twee testaccounts aan en probeer met het ene de gegevens van het andere te openen. Lukt dat, dan is de toegangscontrole niet op orde.
De applicatie kent jullie werkelijkheid niet
Zonder context levert AI een generieke oplossing: technisch correct, gemaakt voor een gemiddeld bedrijf dat niet bestaat. Denk aan een inlogscherm zonder rollen en rechten, of een koppeling die alleen de foutloze route afhandelt en struikelt over alles daarbuiten.
Vraag welke context de AI heeft meegekregen over gebruikers, bedrijfsregels en uitzonderingen. Hoe algemener het antwoord, hoe groter de kans dat de applicatie het begeeft op precies de situaties die in jullie praktijk wekelijks voorkomen. Vraag ook wat er gebeurt bij verkeerde invoer, en of er een back-up is.
Onder de motorkap stapelt de schuld zich op
Elke prompt legt een nieuwe laag over de vorige, en de AI heeft geen geheugen voor de keuzes van gisteren. Na tientallen iteraties werkt de applicatie nog steeds, maar hangt hij intern aan elkaar van dubbele logica en tegenstrijdige patronen. Dat merk je aan het tempo: elke aanpassing duurt langer en breekt vaker iets anders.
Toets daarom of er onderweg ooit is opgeruimd, of alleen toegevoegd. En of de belangrijkste keuzes ergens buiten de chatgeschiedenis staan beschreven.
Stellige antwoorden zijn geen onderbouwing
AI presenteert een verkeerde aanpak net zo zelfverzekerd als een goede, en geeft geen signaal wanneer hij buiten zijn kennisgrens werkt. Bij een klein onderdeel zie je dat snel; bij architectuur, beveiliging of database-ontwerp pas als de applicatie in gebruik is.
Vraag welke beslissingen met grote gevolgen zijn voorgelegd aan een tweede bron: documentatie, een collega met vakkennis, een externe review. Was de AI de enige autoriteit, dan rust het fundament op een overtuigend verhaal.
De kennis van het systeem zit nergens
De sluipendste valkuil is niet technisch maar organisatorisch. Wie vooral met AI bouwt, traint zijn eigen probleemoplossend vermogen steeds minder. Valt de applicatie uit en geeft de AI geen bruikbaar antwoord, dan moet iemand zelfstandig over het systeem kunnen redeneren.
De laatste toetsvraag is daarmee de eenvoudigste: wie kan deze applicatie uitleggen en repareren zonder AI ernaast? Is dat niemand, dan heb je geen software in beheer, maar een risico in productie.
Hoe zwaar een tegenvallend antwoord weegt
Dat hangt af van wat er op het spel staat. Een intern prototype voor een klein team, zonder gevoelige gegevens en makkelijk te vervangen, kan toe met een globale check. Een tool die collega’s dagelijks gebruiken, of een eerste versie voor klanten, vraagt een grondige codereview en beveiligingscontrole. Gaan er klantgegevens, betalingen of medische of financiële informatie in om, of staat de applicatie voor een breder publiek live, dan is een volledige technische review vooraf de ondergrens. Persoonsgegevens betekenen bovendien dat de AVG nu al geldt, niet pas bij livegang; vraag dan ook of er tijdens het maken gegevens in een AI-tool zijn geplakt.
Koppelingen schuiven een tool meteen naar de zware kant van die schaal. Zolang hij op zichzelf staat, blijft de schade beperkt tot die tool. Schrijft hij zonder controle weg naar je CRM of boekhoudpakket, dan verspreidt een fout zich in stilte door je hele administratie; hapert de verbinding, dan werkt een koppeling zonder foutafhandeling door met halve data. Vraag daarom per koppeling wat er wordt gecontroleerd voordat iets wordt weggeschreven, wat er wordt gelogd en hoe je herstelt na een storing. Dat maakt een data-integratie tot volwaardige software, precies wat een AI-tool uit zichzelf overslaat.
Afspraken die de volgende keer voorkomen
Deze valkuilen ontstaan doordat een prototype stilletjes uitgroeit tot iets waar collega’s dagelijks op vertrouwen. Een paar afspraken vooraf voorkomen dat.
- Behandel elk vibe-coded prototype als wegwerpwerk, ook als het goed lijkt te werken.
- Wachtwoorden en API-sleutels staan nooit in de code, maar in afgeschermde instellingen daarbuiten.
- Prototypes draaien op testdata of een kopie, nooit op productiesystemen.
- De belangrijkste keuzes staan vastgelegd buiten de chatgeschiedenis.
- Raakt een tool klant- of persoonsgegevens, dan beoordeelt eerst een ervaren ontwikkelaar de code.
- Wordt het prototype serieus, dan wordt het professioneel herbouwd voordat het live gaat.
Van bewezen idee naar productiewaardige software
Vallen meerdere antwoorden tegen, gooi het project dan niet weg. Een vibe-coded applicatie is vaak een prima prototype: hij bewijst dat het idee werkt en maakt concreet wat je nodig hebt. Alleen is een bewezen idee nog geen productiewaardige software. We ontwikkelen zelf AI-assisted, met engineers die elke gegenereerde regel beoordelen en inpassen. Wordt het prototype van je team serieus, dan maken we er met doorontwikkeling en beheer software van die je met een gerust hart op je klanten loslaat. We denken graag mee of het een verbouwing waard is of dat opnieuw beginnen slimmer is.
