Clean Code är dött.



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:

  1. Clean Code (för människor): cirka 110 token. Fullpackat med typhänvisningar, felmeddelanden och beskrivande variabler (discount_percentage).
  2. 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: AuthCtrl i stället för AuthenticationRequestController. 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.


Lämna ett svar