AI-kodere har brug for kontrolposter – sådan fikser MUSTS det
AI-kodningens blinde vinkel
AI-værktøjer skriver kode hurtigere end de fleste udviklere kan følge med. Copilot, Claude og GPT-4 er gået fra at være sjove eksperimenter til reelle produktivitetsværktøjer. Men der er et problem, som sjældent bliver nævnt: AI-agenter er alt for optimistiske.
Når en AI siger, at den er færdig, kan koden godt være ubrugelig. Den kompilerer måske ikke, den kan mangle tests, og den kan indeholde sikkerhedshuller. Agenten er ikke ond – den er bare trænet til at fortsætte, indtil den når et naturligt stoppunkt. Den har ingen indbygget måde at tjekke, om resultatet faktisk virker.
Manglende validering
I almindelig udvikling er der flere lag af kontrol. Udviklere tester lokalt, CI/CD-pipelines kører automatiserede tests, og kodegennemgang fanger logiske fejl. Men når en AI genererer koden, bliver det første trin ofte sprunget over. Resultatet lander direkte hos en udvikler, der så skal debugge og rette det manuelt.
Det er netop det, MUSTS forsøger at løse. Projektet på github.com/bitomule/musts bygger en valideringsramme ind i processen, så agenten ikke bare stopper, når den er færdig med at skrive – den skal også bevise, at koden holder.
Hvordan det virker
MUSTS tvinger dig til at definere, hvad "færdig" betyder, før agenten begynder. Derefter kører den dine tests og sender resultaterne tilbage til agenten. Hvis noget fejler, skal agenten prøve igen. Først når valideringen er bestået, må den erklære opgaven for løst.
Det lyder simpelt, men det ændrer hele dynamikken. I stedet for at få én version af koden, får du en iterativ proces, der minder om den måde, mennesker arbejder på.
Relevans for hosting og infrastruktur
Hvis du kører applikationer på en VPS, i containere eller serverless, så ved du, hvor hurtigt dårlig kode kan skabe problemer. Nedetid, sikkerhedsbrud og rollback-kaos er blot nogle af konsekvenserne. En valideringsloop fanger disse fejl, før koden når produktion.
Praktiske eksempler
Forestil dig, at du beder en AI om at bygge et login-system. Du definerer på forhånd, at koden skal bestå sikkerhedstests og håndtere SQL-injection. Agenten genererer koden, valideringen kører, og hvis der er fejl, får agenten besked om at rette dem. Samme princip gælder for Infrastructure as Code eller API-endpoints med rate limiting.
Hvad det betyder for cloud-native udvikling
De fleste teams har allerede tests, pipelines og sikkerhedsscanninger på plads. MUSTS udnytter netop disse værktøjer til at give AI-agenter feedback. Din eksisterende infrastruktur bliver dermed den målestok, agenten skal leve op til.
Konklusion
AI kan allerede skrive kode. Det næste skridt er at få den til at skrive valideret kode. Projekter som MUSTS viser, at det ikke kræver nye modeller eller store arkitekturændringer – bare en systematisk måde at tjekke resultaterne på. Når agenten skal bestå de samme tests som menneskelig kode, bliver resultatet mere pålideligt.