De lavalaag: waarom AI-code je codebase langzaam versteent
4m leestijd

De lavalaag: waarom AI-code je codebase langzaam versteent

We bouwen sneller dan ooit, maar tegen welke prijs? Over de onzichtbare ophoping van code die niemand echt begrijpt en waarom je applicatie verandert in een ondoordringbare rots.

Het gaat tegenwoordig zo snel dat het bijna bedwelmend werkt. Je voert een prompt in, je ziet de regels code over je scherm vliegen, en binnen tien minuten heb je een feature die vroeger drie dagen kostte. Het voelt als vliegen.

Maar wie wel eens in de buurt van een vulkaan is geweest, weet dit: vloeibare lava stroomt razendsnel en ziet er indrukwekkend uit, maar zodra het afkoelt, verandert het in keihard gesteente.

In de software-engineering noemen we dit de Lavalaag. En we storten deze laag nu met recordtempo over onze codebases. De laag heeft trouwens een tweeling die nooit uithardt: code churn, de lava die je nog kunt meten.

De illusie van eigenaarschap

Wanneer je zelf een algoritme schrijft, bouw je een mentaal model op. Je weet waarom die if-statement daar staat, waarom je voor die specifieke array-methode koos en welke edge cases je (bewust of onbewust) hebt meegenomen. Dat is geen abstracte kennis; dat is intuïtie die je nodig hebt op het moment dat er om drie uur 's nachts iets knapt.

Bij AI-gegenereerde code ontbreekt dat model. Je bent geen architect, maar een curator. Je kijkt naar de code, ziet dat het "werkt" (de tests zijn immers groen, toch?), en je klikt op merge.

Op dat moment ontstaat de eerste korst van de lavalaag. Je hebt code toegevoegd die technisch functioneel is, maar waarvan niemand in het team de "ziel" begrijpt.

De refactoring-valkuil

Het echte probleem ontstaat pas na zes maanden. De business-eisen veranderen (zoals altijd) en die complexe module die de AI heeft uitgespuugd moet op de schop.

In een gezonde codebase is dat een kwestie van chirurgisch ingrijpen. Maar bij een lavalaag durft niemand er aan te komen. Omdat de oorspronkelijke logica niet uit een menselijk denkproces voortkwam, maar uit een statistische waarschijnlijkheid, zijn de verbanden vaak fragiel en onlogisch voor ons brein.

Het resultaat?

  • Angst-gedreven ontwikkeling: "Raak die module maar niet aan, want we weten niet wat er dan omvalt."
  • Hacks-op-hacks: In plaats van de code te verbeteren, bouw je er omheen. De lavalaag wordt dikker en dikker.
  • Snelheidsverlies: De initiële winst die je boekte met de AI-agent, betaal je nu met rente terug omdat elke wijziging drie keer zo lang duurt.

Bovendien werkt de agent zelf ook steeds slechter in zo'n bevroren codebase: je agent lijdt onder je technische schuld.

Hoe herken je de Lavalaag?

Je kunt de verstening van je project vrij simpel meten. Stel jezelf en je team de volgende vragen:

SymptoomOorzaakGevaarniveau
"De AI snapt het beter dan ik"Je hebt de regie over de logica verloren.🔴 Kritiek
"Ik durf deze unit test niet aan te passen"De test is een echoput van de AI-fout.🟠 Hoog
"Laten we deze file gewoon weggooien en opnieuw prompten"Je bent aan het gokken, niet aan het bouwen.🔴 Kritiek

Sloop de drilboor eruit

Betekent dit dat we terug moeten naar de typmachine? Natuurlijk niet. Maar we moeten stoppen met het storten van vloeibare lava.

  1. Beperk de scope: Laat de AI kleine, overzichtelijke functies schrijven. Geen complete classes of complexe orchestratielagen. Laat hem ook eerst zoeken voor hij schrijft, anders hou je twintig bijna-identieke hulpjes voor één taak over.
  2. De 15-minuten regel: Als je de code die de AI genereert niet binnen 15 minuten volledig aan een junior developer kunt uitleggen, dan mag het niet de repo in.
  3. Review als een scepticus: Behandel AI-code niet als een suggestie van een briljante collega, maar als een pull request van een enthousiaste stagiair die net iets te veel koffie op heeft.
  4. Plan de drilboor in: de laag die al hard is geworden krijg je alleen weg met een ingeplande opruimronde, vast in de agenda zoals backups, niet bewaard voor een rustige week.

Snelheid is prachtig, maar onderhoudbaarheid is wat je bedrijf overeind houdt. Een codebase die volledig uit AI-lava bestaat, is op korte termijn een sprintkampioen, maar op de lange termijn een standbeeld: mooi om naar te kijken, maar er zit geen beweging meer in.

Houd de regie. Blijf de eigenaar. En laat de lava niet uitharden.

(4 van 32)
01Je hebt geen AI-probleem. Je hebt een procesprobleem.02Waarom je nooit code moet shippen die je zelf niet snapt03Stop met copy-paste engineering04De lavalaag: waarom AI-code je codebase langzaam versteent05De prompt is geen spec06Het briljante papegaai-probleem: wat AI eigenlijk doet als het 'denkt'07De bureaucratie van bots: waarom we de controleur controleren08De wapenwedloop om je vertrouwen: Mythos, Cyber en de security-hype09Laat je agents stoppen met Markdown schrijven10Je vindt de bug niet als je de code niet schreef11Een op vier: de beveiligingsschuld die niemand telt12Je 10x-developer zit vast in een 0,1x-pipeline13Caveman vs context-mode: kleinere mond, of kleinere kamer?14Code churn: de lava die je nog kunt meten15Het plafond is van beton16De token-belasting: ik trek mijn Caveman-advies in17Zelfs de malware is nu AI-slop18ThePrimeagen had gelijk19Tokenmaxxing: wat er gebeurt als je het verkeerde meet20Ze vroegen het de bot gewoon netjes: je supportagent is het aanvalsoppervlak21Snelheid werd goedkoop. Je oordeel niet.22De Ferrari heeft een begrenzer: een dag met Claude Fable 523De uitknop was nooit van jou24Een open MCP-server is erger dan een open database25De uitknop werkt nu ook andersom26AI genereert je tests. Maar test het ook echt?27Beter code leren lezen: een oefenroutine28Programmeren leren in het AI-tijdperk: wat ik als eerste zou leren29Wie is verantwoordelijk voor AI-code? Jij, en sinds dit jaar staat het zwart op wit30Wanneer je beter geen AI gebruikt bij programmeren: het werk dat ik zelf blijf doen31Junior developers aannemen in 2026: de instroom stopte, en dat was een keuze32Software inschatten met AI: het typen was nooit waar de tijd in zat