Waarom AI-codegeneratie meer nodig heeft dan alleen slimmere prompts
Waarom AI-codegeneratie meer nodig heeft dan slimme instructies
Iedereen kent het verhaal: per ongeluk data van een andere klant lezen. Een bug die auditors niet laat slapen en bedrijven blootstelt aan boetes en reputatieschade. Niemand wil dit. Het is geen bewuste keuze, maar simpelweg een vergeten check.
Met AI-tools zoals Claude en GPT die dagelijks duizenden regels code produceren, wordt dit risico alleen maar groter. Je kunt je prompts volstoppen met beveiligingsregels en waarschuwingen. Maar na 16.000 gegenereerde regels code blijft één vraag over:
Hoe weet je zeker dat de code doet wat jij bedoelde?
Waarom instructies niet genoeg zijn
De meeste beveiligingsmaatregelen in AI-gestuurde ontwikkeling vertrouwen op herinnering. Je vraagt het model om altijd autorisatie te valideren of nooit inputvalidatie over te slaan. Soms werkt het. Vaak genoeg om door te gaan, maar niet betrouwbaar genoeg voor productie.
Het probleem is dat deze aanpak afhangt van twee dingen: het model moet de regel onthouden, en de developer moet hem controleren. In een tijd waarin AI-code zich razendsnel uitbreidt, is dat geen duurzame strategie.
Structuur als echte bescherming
In plaats van te vertrouwen op herinnering, kun je de beveiligingsregels vastleggen in de structuur van je code. Denk aan type systemen, compilers en tests. Die weigeren letterlijk om verder te gaan als er iets mist.
Zo creëer je een feedbacklus. De AI probeert iets te bouwen, krijgt een foutmelding terug, corrigeert zichzelf en probeert opnieuw. Net zoals een deur die alleen opengaat als de sleutel correct is.
这种 structural constraint maakt het bijna onmogelijk om een check accidental te vergeten.
Regels verplaatsen naar de code zelf
De meeste beveiligungsinvarianten zijn al duidelijk te beschrijven. "Een gebruiker heeft toegang tot een resource als hij is ingelogd, tot de juiste tenant behoort en de resource echt bij die tenant hoort." Dat is een duidelijke formulering.
Maar het probleem is niet de beschrijving. Het is de plek waar deze regel leeft. Als een rule alleen in een prompt staat, verdwijnt hij gemakkelijk. Als hij in de typesystemen van je code ligt, verdwijnt hij niet. Met guard types zoals "authenticated principal" en "owned resource" maakt de compiler het mogelijk dat falsche verbindingen gebeuren.
Hoe dit eruitziet in de praktijk
Met formalen type systemen kun je de beveiligungsinvarianten direct in je code gieten. Met modellen zoals Shen kun je sequent calculus-artige règles omwandelen in guard types en constructors. Die types worden deel van een codebase. AI-models erzeug
De AI-modelle kan ohne Kenntnisse von de formale Sprache arbeiten. Es muss nur die Gates passieren. Die Gates zelf sind die Quelle der Wahrheit.
Wat dit betekent voor teams vandaag
Als AI-codegeneratie normaler wordt, verandert de aanpak:
- Oude manier: mensen schrijven code, mensen reviewen het en herinneren zich de regels.
- Nieuwe manier: machines controleren via structuur, waarbij verletzungen nur bewusst geschehen können.
Voor teams die met cloud hosting en AI-assisted development werken, dit is besonders belangrijk. Als du Schnelligkeit en Skalierung willst, brauchst du structural constraints als echte source of truth.