Gemini Generated Image qm8893qm8893qm88

Därför skriver AI bättre kod i vissa ramverk

3 minuters läsning:

 AI skriver bättre kod när ramverket redan har bestämt hur saker ska göras. Det är min slutsats efter att ha byggt projekt med AI i flera olika teknikstackar, och jag tror den kan förändra hur vi väljer teknik framöver.

När ramverken slogs om utvecklarna

För några år sedan pågick det som brukar kallas ramverkskrigen (framework wars). På frontend tävlade React, Vue och Angular om att vara bäst, och på backend stod .NET, Laravel och Ruby on Rails mot varandra. Diskussionerna om vilket ramverk som var bäst tog aldrig slut.

Sedan dess har JavaScript blivit förstahandsvalet för många. Så länge jag har följt AI-hypen har det varit den självklara favoriten för vibe coding, alltså att bygga mjukvara genom att beskriva för en AI vad man vill ha i stället för att skriva all kod själv.

Det är inte konstigt. Det mesta som byggs för webben i dag skrivs i JavaScript, bootcamp-eran lärde ut språket och många möter det redan i utbildningen. När Node.js kom blev det dessutom möjligt att skriva både frontend och backend i samma språk, och många nöjde sig med det.


"Konkurrens driver innovation, men mängden kan vara överväldigande."

Problemet med för många val

Jag har varit skeptisk till den utvecklingen från början. Inte för att Node.js är dåligt (även om det på sätt och vis var det innan TypeScript kom) utan på grund av ekosystemet runt det. Sök efter ett paket för nästan vad som helst inom webbutveckling, så hittar du en uppsjö alternativ.

Konkurrens driver innovation, men mängden kan vara överväldigande när man ska välja rätt. AI-modeller bygger på vår samlade kunskap och resonerar på många sätt som vi gör. Det är därför inte långsökt att tro att även de blir förvirrade av överflödet.

Min teori är att ramverkskrigen kommer att blossa upp igen i takt med att AI-driven utveckling blir vardag.

"Den var skriven precis som jag själv hade skrivit den, och ibland bättre"

Vad som hände när jag bytte till Laravel

Teorin bygger på mina erfarenheter av Laravel, ett populärt PHP-ramverk som jag har arbetat med i flera omgångar de senaste sju åren. 

När jag för första gången byggde ett Laravel-projekt helt med AI märkte jag direkt en skillnad. Modellen ställde färre frågor, gjorde färre misstag och löste problemen snabbare än i mina Node.js-projekt. I ett tidigare projekt hade jag arbetat med JavaScript och Node.js genom hela processen. AI:n hjälpte mig enormt, men den nådde ofta inte hela vägen fram. Den skapade nya problem under arbetets gång, och jag behövde hela tiden styra den rätt. 

I Laravel-projektet såg det annorlunda ut. När något gick fel berodde det oftast på att mina egna instruktioner var otydliga, eller på att jag inte riktigt hade bestämt mig för vad jag ville bygga. När jag sedan granskade koden blev jag imponerad. Den var skriven precis som jag själv hade skrivit den, och ibland bättre.

Färre val, tydligare svar

Så som jag förstår det löser Laravel just problemet med det oändliga utbudet. Ramverket har lösningar för det mesta man behöver inom webbutveckling, och det är tydligt och bestämt kring hur de ska användas.

Behöver du en ORM? Då använder du Eloquent. 
Lagring? Storage-fasaden. 
E-post, inloggning eller betalningar? Även där finns etablerade lösningar.

AI:n får alltså ett tydligt gränssnitt att resonera kring, medan det är upp till dig vilken underliggande implementation som gör jobbet. Ramverket har redan bestämt det mesta om best practices, arkitektur och hur tester ska skrivas.

Laravel har dessutom en egen MCP-server som heter Laravel Boost. Den ger AI:n tillgång till ramverkets dokumentation och riktlinjer, vilket är praktiskt om du själv inte är helt hemma i Laravel än.

"Med färre vägar till samma mål behövde den varken gissa eller fråga lika mycket."

Resultatet

All kod som AI:n genererade följde ramverkets konventioner, utan att jag behövde be om det. Med färre vägar till samma mål behövde den varken gissa eller fråga lika mycket. Jag slapp också skriva en massa instruktionsfiler för att styra hur den skulle skriva kod.

Vad det betyder framåt

Jag tror att AI-assisterad utveckling kommer att luta sig allt mer mot ramverk, och att de ramverk som byggs med AI i åtanke kommer att vinna mark.

För den som beställer ett projekt kan det betyda kortare ledtider, färre fel och en kodbas som är lättare att förvalta, eftersom koden följer samma mönster oavsett om en människa eller en AI har skrivit den.

Det här är mina egna slutsatser utifrån mitt arbete, inte vedertagna sanningar. 

Har du liknande erfarenheter, eller helt andra? Hör gärna av dig till oss. Vi pratar gärna mer om hur valet av teknik påverkar AI-drivna projekt.


Av David Beck, senior fullstack-utvecklare på nvrmind


Publicerat av: