Waarom AI-code zonder menselijke check al snel misgaat: lessen van Google’s webadvies
Waarom AI-code altijd menselijke controle nodig heeft
AI kan je helpen sneller code te schrijven. Dat klinkt aantrekkelijk. Google probeerde dat proces te versnellen met Modern Web Guidance (MWG): een set richtlijnen die AI-agents moeten volgen voor toegankelijke, snelle en veilige websites.
Toch blijkt de praktijk weerbarstiger.
Toegankelijkheid begint bij het begin
Veel teams zien toegankelijkheid als iets voor later. Dat is een misvatting. Als je MVP niet vanaf het begin voldoet aan WCAG AA, loop je later tegen problemen aan die moeilijk te herstellen zijn.
Google liet zien hoe MWG werkt met een simpel voorbeeld: een accordion-component met animatie. De output zag er op papier goed uit, maar faalde in de praktijk. Animaties werkten niet in Firefox en de code voldeed niet aan de toegankelijkheidsnormen. Ondanks expliciete instructies over progressive enhancement, volgde de AI die niet.
Dat is geen fout in de prompt. Het ligt aan hoe taalmodellen werken.
Non-deterministisch gedrag
Google geeft het zelf toe in de documentatie: LLMs zijn non-deterministisch. Zelfs als de richtlijnen perfect zijn, is er geen garantie dat het model ze toepast.
Dat verschil is cruciaal. Een linter of typechecker dwingt regels af. Een LLM suggereert alleen. En wat niet consequent wordt afgedwongen, raakt soms zoek in de gegenereerde code.
Versnipperde patronen
MWG dekt niet alle componenten even goed. Toastmeldingen bijvoorbeeld kregen geen specifieke richtlijn, terwijl Google daar eerder al problemen mee had. Zonder gerichte instructies moet de AI teruggrijpen op algemene kennis, met wisselend resultaat.
Hoe meer patronen los van elkaar staan, hoe moeilijker het wordt voor een model om ze consistent toe te passen. Een centrale, samenhangende bron ontbreekt nog.
Wat dit betekent voor jouw projecten
Gebruik je AI om productiecode te genereren? Dan blijft menselijke controle essentieel. Denk aan:
- Toegankelijkheid — WCAG AA is geen optie, maar een vereiste.
- Browsercompatibiliteit — Automatische beloftes over baseline-ondersteuning zijn geen vervanging voor testen.
- Beveiliging — Gegenereerde code kan verborgen kwetsbaarheden bevatten.
- Prestaties — Zonder expliciete optimalisatie-instructies wordt een app vaak zwaarder dan nodig.
Hoe verder?
AI is nuttig voor het opzetten van structuur en het genereren van boilerplate. Maar het is geen vervanging voor review.
Zorg daarom voor duidelijke feedbackloops: leg uit wat misgaat, zodat het model kan leren. Bouw geautomatiseerde tests in je pipeline (axe, WAVE, Lighthouse). En wees eerlijk over de beperkingen als je frameworks of tools aanbeveelt.
Bij NameOcean zien we de kracht van AI in ontwikkeling, maar ook de grenzen. De echte vaardigheid verschuift: niet alleen code schrijven, maar juist begrijpen, controleren en verantwoorden wat live gaat. Dat blijft mensenwerk.