Översättarens Kommentarer

  • Vess den så kallade “Vibe Coding” är i grunden att låta AI stapla tekniska skulder i högt tempo.
  • AI-programmering är ett tveeggat svärd: det är fantastiskt för prototyputveckling, men en katastrof för långsiktigt underhåll av kärnprojekt.
  • Att låta icke-tekniska personer utveckla kärnprodukter med AI är som att ge ett barn ett kreditkort med obegränsad kredit – en kortvarig glädje som leder till en framtid full av skulder.
  • Nyckeln till att behärska AI är inte att ge upp sitt eget tänkande, utan att förbättra sin förmåga att “bygga teorier”. Människan måste vara den som håller i tyglarna, istället för att låta AI dra i en.

“Vibe Coding” skapar teknisk skuld

Steve Krouse

Trots att många är förvirrade över begreppet, skapade Andrej Karpathy termen “Vibe Coding” för att beskriva en AI-assisterad programmeringsmetod där man knappt “känns koden”.

Legacy-kod/Teknisk skuld

För kod som ingen kan förstå har vi länge haft ett uttryck: legacy-kod/teknisk skuld.

Legacy-kod är en av de största fienderna, och klagomålen är inte utan grund. Men frågan är, är koden inte bara där? Kan vi inte förstå den genom att titta på den?

Helt fel. Kod som ingen kan förstå är på riktigt teknisk skuld. Att sätta sig in i en främmande kod och felsöka den tar enorm tid, för att inte tala om att lägga till nya funktioner utan att introducera nya buggar — det är en av de svåraste utmaningarna.

Programmering handlar om att bygga teorier, inte bara stapla kod. Den insikten känner vi alla till. Det är därför vi ofta klagar på de avdelningar som försöker mäta programmerarens prestationer i kodrader.

Med “Vibe Coding” staplar du teknisk skuld i samma takt som AI genererar kod. Just därför är “Vibe Coding” en perfekt lösning för prototyputveckling och engångsprojekt: det är bara i de fall där koden behöver långsiktig underhåll som den blir legacy-kod!

Prototyper och engångskod

Jag har själv med nöje använt “Vibe Coding” för att utveckla några små applikationer, till exempel:

Jag planerade inte att utveckla dessa applikationer vidare, så att inte förstå koden är inget problem. Dessutom, med tanke på deras begränsade omfattning, är den tekniska skulden hanterbar även om jag skulle behöva återkomma till koden en dag. På det här sättet har jag kunnat utveckla applikationer mycket snabbare än med traditionella metoder, och hela processen har varit väldigt njutbar.

“Vibe Coding” är en fråga om grad

“Vibe Coding” handlar om grad; avgörande är hur djupt du förstår koden. Ju mer du förstår, desto mindre “förlitar du dig på känsla”.

shapes at 25-07-30 10.32.53.png

När det gäller att ställa krav, kommer en ingenjör som efterfrågar “en webapplikation med en beständig databas” ha en mycket lägre grad av att “bara förlita sig på känslan” jämfört med en icke-teknisk person som säger “gör en app” (utan att förstå skillnaden mellan webbapplikationer och inbyggda applikationer eller vad databevarande innebär).

Att ge ett kreditkort till ett barn

Det mest förödande scenariot är att låta en icke-programmerare använda “Vibe Coding” för att utveckla ett stort projekt som kräver långsiktig underhåll. Det är som att ge ett kreditkort till ett barn utan att förklara vad “skuld” är.

Föreställ dig entusiasmen i början: “Åh herregud, så länge jag sveper det här lilla kortet i affären kan jag få vad jag vill ha!”

Det liknar de populära uppfattningarna just nu: “AI kan göra allt! Alla är programmerare! Titta på den här applikationen som AI har genererat åt mig!”

Men en månad senare kommer kreditkortsfakturan som planerat: “Behövde jag verkligen köpa de där sakerna? Hur ska jag städa upp den här röran nu?”

Utvecklare som använder “Vibe Coding” kommer att stå inför samma dilemma: “Min kod kraschar! Vad är alla dessa filer och mappar till? Hur ska jag laga det här? Kan jag få tillbaka de 400 dollar jag betalat för AI-genererad kod?”

Om du inte förstår koden finns det bara ett alternativ: be AI att fortsätta hjälpa dig att felsöka. Det är som att “betala av skulder med skulder”, använda ett nytt kreditkortsutrymme för att betala av en gammal skuld.

År 2025, hur man seriöst kodar med AI

Om du planerar att bygga ett seriöst projekt som kräver långsiktig underhåll 2025, är Andrejs rekommendation värd att följa:

Du bör se AI som en ny praktikant och hålla honom bunden med ett mycket kort rep. Denna praktikant är ett geni, med grundlig kunskap om programvara, nästan som en levande encyklopedi. Men samtidigt är han överdrivet entusiastisk, pratar ofta nonsens, tar för stor risk och har ingen känsla för vad som är bra kod. Därför måste du betona: sakta ner, var försiktig, håll ögonen öppna och kanske till och med bli lite paranoid. Ta varje möjlighet att lära dig genom praktisk erfarenhet istället för att helt överlåta arbetet till honom.

— Andrej Karpathy, twitter

Hur vi omfamnar AI i byggprocessen

På Val Town har vi integrerat AI på många olika sätt i våra produkter. Vår AI-assistent Townie fungerar som en intelligent agent som kan läsa och skriva kod, köra program, granska loggar och ständigt iterera tills uppgiften är utförd.

Townie är ett utmärkt verktyg för “känsla-programmering”. Jag rekommenderar det starkt till alla som förstår riskerna och fördelarna. Ibland använder jag det för att snabbt göra “Vibe Coding”; medan jag med projekt som jag värderar högt, håller jag tyglarna strama och låter den bara göra “kirurgisk” precisa modifieringar. Båda dessa tillvägagångssätt är både roliga och effektiva.

AI-programmering utvecklas i snabb takt och framtiden är svår att förutspå. Men jag är övertygad om att “teoretisk konstruktion” fortsätter att vara kärnan i att bygga komplex mjukvara. Detta innebär att vår mänskliga tekniska expertis fortfarande är oumbärlig! Jag är också optimistisk om att AI kommer att fortsätta att göra programmering till en mer givande uppgift på oförutsägbara sätt.

Men om du har icke-tekniska vänner som slösar bort pengar på “känsla-programmering” för att uppnå sin dröm om en “miljard-app”, var god och dela denna artikel med dem. “Känsla-programmering” kommer inte att föra dem till succé. De kommer förr eller senare att behöva lära sig att förstå koden med egna ögon 😱, och de kommer slutligen att inse en grym verklighet: hellre bygga en tydlig och strukturerad kodbas från grunden än att reparera ett legacy-system ingen förstår.


Denna artikel är en komprimerad version av ett föredrag jag höll förra månaden, med temat Människans roll i programmering. Jag vill tacka min fästmö Emily för att hon har lyssnat på mina tankar kring dessa ämnen de senaste månaderna, och för att hon filmade föreläsningen. Stort tack till Malte och Rippling för att ni arrangerade evenemanget.

Tack till Geoffrey Litt, Jimmy Koppel, Max McDonnell, Tom MacWright, Charmaine Lee, Brent Jackson och Dan Shipper för deras feedback på denna artikel. Tack till Simon Willison och Andrej Karpathy för att de ger en rationell röst i det alltmer upphetsade och pessimistiska samtalet om AI.

Originalartikel: https://blog.val.town/vibe-code