AI-codeurs die alles doen zonder check? MUSTS zet de poortwachter neer.
AI-code die nét niet werkt: het probleem dat niemand benoemt
AI-tools schrijven tegenwoordig razendsnel code. Copilot, Claude of GPT-4 voelen inmiddels als serieuze hulpmiddelen in plaats van gadgets. Toch schuilt er een hardnekkig probleem onder de oppervlakte: AI is te optimistisch over eigen werk.
Een AI-agent zegt vaak “klaar” terwijl de code nog niet eens compileert, geen tests haalt of maar een deel van de eisen oplost. Soms introduceert hij juist nieuwe kwetsbaarheden of breekt hij bestaande functionaliteit. De agent liegt niet expres; hij stopt simpelweg als de volgende token een logisch eindpunt lijkt. Validatie zit niet ingebakken in het model.
De ontbrekende validatieronde
In een klassiek ontwikkelproces zitten meerdere checks ingebouwd. Ontwikkelaars testen lokaal, CI/CD-pipelines draaien automatische tests, collega’s reviewen de code en pas daarna volgt een deployment. Bij AI-gegenereerde code wordt die eerste stap vaak overgeslagen. De agent levert aan en stopt. De mens moet vervolgens alles nalopen, debuggen en opnieuw sturen. Daarmee verdwijnt een groot deel van het snelheidvoordeel.
Wat ontbreekt is een validatielus ín de AI zelf: een mechanisme dat de agent dwingt om zijn eigen output te controleren en bij te sturen.
MUSTS: validatie als standaard
MUSTS (github.com/bitomule/musts) pakt dit praktisch aan. In plaats van te verwachten dat AI perfect code produceert, introduceert het een gestructureerd validatiekader. Je definieert vooraf wat “klaar” betekent, laat de gegenereerde code automatisch toetsen en stuurt de resultaten terug naar de agent. Alleen als alles slaagt, mag de agent stoppen. Het resultaat is een iteratief proces dat lijkt op hoe mensen eigenlijk werken.
Waarom dit relevant is voor hosting en infrastructuur
Of je nu draait op een VPS, containers of serverless: codekwaliteit bepaalt direct de stabiliteit van je omgeving. Een AI-agent die kapotte code als “klaar” markeert, kan leiden tot uitval, security-incidenten of rollbacks. Een ingebouwde validatieronde voorkomt dat deze problemen productiewaardig worden.
Hoe je het in de praktijk gebruikt
Stel je wilt een authenticatiesysteem laten bouwen. Je geeft de agent duidelijke eisen mee: alle security-tests moeten slagen, SQL-injecties moeten worden afgevangen, e-mailadressen moeten gevalideerd worden. De agent genereert code, MUSTS draait de tests en stuurt de uitslag terug. Faalt er iets, dan past de agent aan. Pas als alles groen is, is de taak af.
Hetzelfde werkt voor infrastructuurcode. Je beschrijft een cloud-architectuur, definieert eisen rond security groups en SSL-certificaten, en laat de agent Terraform of CloudFormation genereren. Validatie checkt of alles voldoet aan je standaarden. De agent blijft itereren tot het klopt.
Wat dit betekent voor cloud-native ontwikkeling
De meeste teams hebben al geautomatiseerde tests, CI/CD-pipelines en security-scans. MUSTS brengt diezelfde checks naar binnen in het AI-proces. Je bestaande validatie-infrastructuur wordt het referentiekader waarmee de agent leert wanneer hij écht klaar is.
De kernboodschap
AI kan al code schrijven. De echte vraag is of het gevalideerde code kan schrijven. MUSTS laat zien dat je dat niet hoeft af te wachten op slimmere modellen. Door validatie expliciet in te bouwen, wordt de agent van een snelle generator een iteratieve ontwikkelaar die dezelfde eisen moet halen als een menselijke collega.