Inverted Engineering: Från författare till forensiker
Förr fick mjukvaruutvecklare betalt för att konstruera logik. Vi kämpade för elegansen i varje enskild rad. I dag har vår yrkesroll vänts upp och ned. Vi är inte längre författarna; vi är chefredaktörer i ett nyhetsrum under ständig beskjutning. AI-agenter bombarderar oss med förslag varje sekund, och vår uppgift har förändrats: vi måste hitta sanningen i en lögn som ser förbannat trovärdig ut.
Det kallar vi Inverted Engineering.
Trovärdighetens fälla
Den största risken med AI-genererad kod är inte att den är uppenbart felaktig. Syntaxfel fångas av kompilatorn. Risken är att koden ser perfekt ut. Den är snyggt formaterad, använder rätt variabelnamn och verkar logisk. Det lockar fram den dödliga ”LGTM”-reflexen – ”Looks Good To Me”. Vi godkänner koden eftersom ytan ser bra ut.
Men AI optimerar för trovärdighet, inte för sanning. Den väljer den statistiskt mest sannolika vägen, inte nödvändigtvis den korrekta. En algoritm kan vara syntaktiskt briljant men hallucinera affärsprocesser som inte finns.
Metoden: Förhör koden i stället för att läsa den
För att klara denna flod måste vi sluta läsa kod som litteratur. Vi måste behandla den som en brottsplats. Forensik i stället för korrekturläsning.
Tre strategier hjälper oss att återta kontrollen:
1. Clean room-verifiering (Den digitala dubbelgångaren) Försök inte validera logiken enbart genom att läsa den. Använd motståndarens vapen. Mata in den genererade koden, utan kommentarer, i en annan AI-modell och ge instruktionen: ”Skapa en specifikation utifrån den här koden.” Jämför den baklängesgenererade specifikationen med ditt ursprungliga krav. Varje avvikelse avslöjar en hallucination. Om koden gör sådant som du inte har beställt ska den bort.
2. Strategin att ignorera (Blackbox-testning) En effektiv granskare börjar ofta inte med att läsa koden. Granskaren läser prompten. Om kravet är ”Beräkna moms för Österrike” ska du inte titta i koden för att kontrollera formeln. Skriv ett testfall med den specifika österrikiska småföretagargränsen på 35 000 euro. Kör AI-koden mot testet. Om det blir rött eftersom AI:n har hallucinerat de statistiskt mer sannolika tyska skattereglerna har du hittat felet på några sekunder utan att behöva gräva dig igenom spagettikod.
3. Inception-granskningen När du hittar fel ska du inte rätta dem själv. Det tränar bara din förmåga att agera sophämtare. Tvinga skaparen, människa eller maskin, att byta perspektiv. I stället för att kommentera ”Här saknas sanering av indata” ställer du frågan: ”Du är en angripare med tillgång till loggarna. Hur tar du över administratörssessionen med den här koden?” Det bryter automatiseringsbiasen. Det tvingar skaparen att lämna den passiva konsumentrollen och aktivt bevisa lösningens robusthet.
Slutsats: Skeptikern har alltid rätt
En utvecklares värde mäts i dag inte längre i antal kodrader, utan i antal underkända kodrader. Vi måste vara misstänksamma mot elegans. En lösning som verkar för smidig döljer ofta en logisk avgrund.
Inverted Engineering innebär att vända på bevisbördan: kod är skyldig (felaktig) tills dess oskuld (korrekthet) har bevisats bortom tvivel genom tester och forensisk analys. Den som bara läser och nickar har redan förlorat.