AI-kodningsagenter behöver bättre mallar – inte starkare modeller
AI-kodningens paradox: Snabbt och snyggt – tills det inte är det
Har du testat Claude eller ChatGPT för att skriva kod under 2024–2025? Det är imponerande. Modellerna knyter ihop multi-fil-refaktoreringar, skapar testsviter och hanterar krångliga instruktioner i främmande kodbaser. Första PR:et från AI:n ser proffsigt ut.
Sedan kommer de nästa tio.
Då dyker problemen upp. Koden körs fortfarande. Testerna går igenom. Men helheten börjar sacka. Felhantering blir slapp. Namngivning glider isär. Dubbletter smyger sig in bredvid befintliga abstraktioner. Varje enskild ändring känns vettig lokalt. Tillsammans urholkar de kodbasens enhetlighet.
Det här handlar inte om svaga modeller. Det är vårt sätt att använda dem som spökar.
Specifikationen är flaskhalsen, inte modellen
Forskning visar det tydligt: när AI-modeller når en viss nivå handlar kodkvalitet enbart om hur komplett din specifikation är.
Ge modellen en skarp beskrivning – med felhantering, namngivning, arkitektur, statshantering och edge cases – så levererar den proffskod. Ge den ett slarvigt "lägg till användarautentisering", så får du fungerande kod som passerar enkla tester. Men teknisk skuld byggs upp i det tysta.
Modellen är inte dummare. Instruktionen nådde inte fram fullt ut.
Varför precisionen försvinner
Skillnaden mellan vardagsspråk och körbar kod skapar luckor som växer explosionsartat:
Vardagsspråk är alltid luddigt. "Lägg till autentisering" packar in massor av val i två ord. Vilken identitetsmodell? Hur hanteras utgångna tokens? RBAC eller ABAC? Var placeras behörighetskontroller? Vad loggas? Vilka fel visas för klienten? Hur knyter det an till databasen, API:et och testerna?
En mänsklig utvecklare ställer följdfrågor. AI:n fyller luckorna med gissningar från träningsdata. Det funkar isolerat, men lägger in osynliga åtaganden i koden.
Kodmiljön tvingar precision; prompts gör det inte. Kompilatorn, typkontrollen och testerna stoppar tvetydighet. Men i prompts suger formatet upp slarv. Modellen klagar aldrig på ofullständiga instruktioner. Den bara kör på och gömmer valen i implementationen.
Det blir en pervers vändning: från strikt kod till löst språk, men utdata ska ändå vara strikt. Luddigheten göms som dolda arkitekturval.
Skala slår konsistens. Perfekta specifikationer räcker inte alltid över dussintals filer och tusentals rader. Kontextfönster hjälper, men är ändliga. Modellen prioriterar vad den minns. De små valen staplas upp.
Beviset: Alibabas långsiktiga test
Alibabas SWE-CI-studie följde 18 AI-modeller på 100 verkliga kodbaser i 233 dagar med 71 commits vardera. 75 procent visade ökande regressionshastigheter. Varje commit funkade. Testerna klarades. Men andelen som bröt gamla tester ökade stadigt.
Modellerna försämrades inte. Kodbaserna gjorde det. Lokalt logiskt, globalt kaotiskt.
Hur det påverkar din workflow
Använder du AI för produktionskod? Ta det här på allvar:
Se AI som junior, inte senior. Ju detaljerad spec, desto bättre output. Skriv:
- Arkitektur-dokument före prompts
- Explicita strategier för felhantering
- Regler för namngivning och mönster
- Vilka befintliga abstraktioner som ska återanvändas
- Statshantering och edge cases på förhand
- Teststrategi och täckningskrav
AI förstärker din arkitektur. Ren kodbas med tydliga konventioner? AI bygger vidare snyggt. Kaos? Det accelererar.
Kodgranskning är ett måste. Människor fångar dolda antaganden innan de växer.
Git-historiken blir din specifikationslogg. Den ska visa arkitektonisk avsikt, inte bara ändringar. Smidigare felsökning senare.
Möjligheten
Positivt nog: det här är inget modellfel. Taket för kodkvalitet är högt. Frontier-modeller levererar toppklass med fullständiga specifikationer.
Konkurrensfördelen ligger inte i dyrare modeller. Det är bättre spec-praktiker: tydligare dokument, smartare prompts och rigorös granskning. Lärbara färdigheter som byggs över tid.
Dina AI-agenter är inte trasiga. De är under-specificerade. Fixa det, så lyfter det.
För NameOcean-användare
Bygger du på NameOceans cloud med AI-kodning? Det här är extra viktigt. Vid skalning av distribuerade system blir specifikationer kritiska. Dokumentera domain routing, DNS propagation, SSL-hantering och API-design innan du promptar. Tydliga infra-specs ger smidigare integration med din deployment pipeline.