Clean Code är dött:
Varför AI-native-arkitektur belönar fulhet
I årtionden optimerade vi mjukvara efter en dogm: kod skrivs för människor. Vi använde beskrivande variabelnamn, docstrings och blanksteg. Målet var läsbarhet. I en tid då kod främst skrivs, läses och underhålls av AI-agenter blir den principen ett kostsamt hinder.
Välkommen till verkligheten med AI-native-arkitektur.
Tokenens tyranni
För AI är Clean Code inget kvalitetstecken, utan brus. Modellen tänker inte i rader, utan i vektorer och token. Däremellan finns tokeniseraren, som hackar upp texten.
Moderna tokeniserare använder Byte Pair Encoding (BPE). Vanliga ord är billiga – de kräver få token – medan sällsynta eller långa sammansatta ord är dyra.
Ett klassiskt Clean Code-exempel:
retrieve_customer_transaction_history_from_database()
Tokeniseraren delar upp detta i många fragment. Det kostar beräkningstid, pengar i form av API-kostnader och framför allt plats i det begränsade kontextfönstret.
Täthet slår läsbarhet
I AI-native-arkitektur ersätter vi uttrycklighet med täthet. Vi optimerar för antalet token.
En jämförelse tydliggör ekonomin:
- Clean Code (för människor): cirka 110 token. Fullpackat med typhänvisningar, felmeddelanden och beskrivande variabler (discount_percentage).
- Kompakt kod (för maskiner): cirka 45 token. def calc_dp(p: float, d:float)->float: Komprimerat, kryptiskt och utan blanksteg.
Resultatet: AI förstår båda perfekt. Den andra varianten är dock mer än dubbelt så effektiv. Den gör att agenten kan hålla mer logik i kontexten – in-context learning – utan att tappa minnet.
AST-komprimering: Riv bort glittret
När agenter kommunicerar med varandra eller kod bara existerar tillfälligt måste vi vara brutala. Vi utför manuell AST-komprimering (Abstract Syntax Tree):
- Radera kommentarer: De kostar pengar och leder ofta till hallucinationer när de avviker från koden – ”comment drift”.
- Ta bort blanksteg: JSON behöver ingen indragning. Indragningar är bortkastad plats i kontextfönstret.
- Kräv korthet:
AuthCtrli stället förAuthenticationRequestController. Det sparar uppmärksamhet i modellens kvadratiskt skalande attention-mekanism.
Slutsats: Främmande artefakter
Vi rör oss mot en värld där kod blir oläsbar för människor – optimerad för maskiner och skriven av maskiner. Det strider mot vår hantverksstolthet, men är nödvändigt för att skala upp autonoma agenter.
Varning: Börja inte slå ihop lambda x: x med din kodbas som underhålls av människor. Dessa tekniker gäller kod som enbart bearbetas av AI. Men förstå detta: i molneran är estetik en kostnadsfaktor.