De Vibe Coding Illusie: Waarom AI Best Code Schrijft, Maar Geen Systeem Ontwerpt
De Vibe Coding Illusie: Waarom AI Code Kan Schrijven Maar Geen Systeemontwerpers Kan Vervangen
Laten we eerlijk zijn: we zijn er allemaal geweest. Je ontdekt een nieuwe AI coding tool en plotseling voel je dat je álles kunt bouwen. Jarenlang dacht je "als ik maar de tijd had om dat idee te implementeren"? Die tijd is er nu. Beschrijf gewoon wat je wilt, itereer met de AI, en ship het.
Dit gevoel is bedwelmend. En gevaarlijk.
De verleiding van "goed genoeg" code
Afgelopen maand besloot ik de grenzen van vibe coding te testen door een "simpel" memory systeem te bouwen voor AI agents. Je weet wel, zoiets dat een coding assistant zou laten onthouden wat het leerde tussen sessies, in plaats van elke keer opnieuw te beginnen.
Hoe moeilijk kan het zijn? Wat feiten opslaan, ophalen wanneer relevant, misschien inconsistenties markeren. Een slimme database met een leuke API.
De code kwam snel samen. Echt snel. De agent waarmee ik werkte spuwde een Rust daemon, een classificatiesysteem, vier retrieval strategieën met re-ranking via lokale modellen. Op elk vlak zag het er indrukwekkend uit. De tests slaagden. De compiler was tevreden.
En toen probeerde ik het te gebruiken.
Het punt bij memory systemen voor agents is: het gaat niet echt om opslag. Het gaat om betekenis. En betekenis blijkt filosofisch lastig te zijn op manieren die je zorgvuldig getypte code doen verbleken als een raket bouwen en vergeten rekening te houden met zwaartekracht.
Het contradictieprobleem waar niemand over praat
Mijn oorspronkelijke doel was simpel: als de agent iets nieuws leert, controleer of het tegenspreekt wat het al "weet". Lijkt redelijk. Een memory die andere memories tegenspreekt zonder uitleg is niet alleen nutteloos — het is actief schadelijk. Je vervuilt de context window met tegenstrijdige informatie.
Wat kan er simpeler zijn? Twee feiten vergelijken. De conflict markeren.
Behalve.
Wat is een contradictie in zo'n systeem? Als de agent op maandag leerde dat "Project X PostgreSQL gebruikt" en op dinsdag leerde dat "Project X MySQL gebruikt", is dat dan een contradictie? Misschien is de tech stack veranderd. Misschien was één bron verkeerd. Misschien verwijst "Project X" naar verschillende projecten. Misschien betekent "gebruikt" iets anders in verschillende contexten.
Mensen lossen dit op door jarenlange opgebouwde common sense, context, en het vermogen om te zeggen "dit voelt niet goed" zonder precies te kunnen uitleggen waarom. AI systemen kunnen zelfverzekerde prose genereren over elk van deze interpretaties, maar die zelfverzekerdheid is vaak niet meer dan pattern matching zonder geworteld begrip.
Waar vibe coding faalt
Vibe coding blinkt uit in het oplossen van problemen die je helder kunt verwoorden. Heb je een bug? Beschrijf de symptomen. Heb je een functie nodig? Specificeer de inputs en outputs. De AI regelt de implementatiedetails met opmerkelijke competentie.
Maar systeemdesign — echt systeemdesign — gaat over het oplossen van problemen die je niet helder kunt verwoorden. Het gaat over het anticiperen op interacties tussen componenten die nog niet bestaan. Het gaat over de vraag "wat gebeurt er als..." voor scenario's die je nog niet hebt bedacht.
Toen ik mijn AI assistant vroeg om "contradiction detection te implementeren," vroeg ik hem in wezen om een probleem op te lossen dat ik niet precies kon definiëren. De resultaten waren... creatief. We verkenden Belnap lattices, four-valued logic, formele verificatie met Agda bewijzen, Petri nets. De assistant was in voor alles wat ik voorstelde, en eerlijk gezegd waren sommige ideeën best interessant.
Maar "interessant" betekent niet "werkt."
Het bewijs in Agda was correct. De architectuur was goed gedocumenteerd. En het systeem detecteerde nog steeds geen betrouwbare contradicties omdat we de verkeerde abstractie formaliseerden. We bouwden een prachtige kathedraal op een fundament van zand, en geen van beiden — AI noch ik — zag het totdat we maanden hadden geïnvesteerd.
De ongemakkelijke waarheid
Hier is wat vibe coding voorstanders je niet vertellen: het moeilijke deel van softwareontwikkeling was nooit de code typen. Het is uitvinden wat je moet bouwen.
Dit was altijd al waar. Wat is veranderd is dat de kloof tussen "ik had een idee" en "ik heb code" dramatisch is verkleind. Dat is oprecht geweldig voor prototyping, voor leren, voor verkennen wat mogelijk is.
Maar het betekent ook dat je veel sneller en duurder kunt falen dan voorheen. Je kunt bergen zelfverzekerd ogende code genereren die het verkeerde probleem oplost, en je merkt het misschien pas als je een heel systeem hebt gebouwd op een gebrekkig fundament.
Wat echt helpt
Dit alles betekent niet dat AI-assisted development een slecht idee is. Dat is het niet. Maar het effectief gebruiken vereist andere vaardigheden dan pure coding ability:
Je moet weten wat je niet weet. Wanneer de AI een oplossing voorstelt in een domein waar je niet bekend mee bent, is dat niet het moment om te zeggen "klinkt goed, implementeer het." Dat is het moment om dieper te graven.
Proof of concepts moeten meedogenloos getest worden tegen echte use cases. Als je een memory systeem bouwt, besteed dan evenveel tijd aan proberen het te breken als aan bouwen. Probeer vooral de core assumptions te breken waarvan je niet wist dat je ze maakte.
Die zelfverzekerdheid is niet de jouwe. Wanneer een AI assistant zeer zelfverzekerd is over een ontwerpbeslissing, woont die zelfverzekerdheid in het model, niet in jouw begrip. Een systeem dat je niet diep begrijpt, is een systeem dat je niet kunt onderhouden of debuggen.
Systems design is nog steeds een discipline. Je kunt AI gebruiken om ontwerpen sneller te verkennen, om delen van systemen sneller te implementeren, om ideeën te prototypen die weeks zouden hebben geduurd om handmatig te bouwen. Maar je hebt nog steeds iemand nodig die kan evalueren of het ontwerp klopt, of de componenten correct samenwerken, of de core abstractions standhouden.
De conclusie
Ik bouw mijn memory tool nog steeds. Het wordt langzaam beter. Ik heb geleerd andere vragen te stellen, grondiger te testen, verdachter te zijn van "goed genoeg" resultaten.
Maar ik heb ook geleerd de kloof te respecteren tussen "de code werkt" en "het systeem is correct." Die kloof heeft altijd al bestaan. AI tools hebben hem niet gedicht — ze hebben het alleen makkelijker gemaakt om hem te negeren.
De beste vibe coders zijn niet degenen met de beste prompting skills. Het zijn degenen die weten wanneer de vibe verkeerd is.
Wil je ontdekken wat mogelijk is met AI-assisted hosting en development? NameOcean's Vibe Hosting combineert krachtige infrastructuur met de tools die je nodig hebt om je volgende project te bouwen, deployen en schalen.