Gå tillbaka

Vibe coding

Sammanfattning

Vibe coding är ett omdiskuterat begrepp för ett sätt att utveckla mjukvara där generativ AI får skapa och förändra kod utifrån instruktioner i naturligt språk. Användaren beskriver vad som ska byggas, testar resultatet och kan sedan fortsätta ge AI:n instruktioner för att förändra lösningen.



Vad betyder vibe coding?

Grundidén bakom vibe coding är att flytta en del av fokus från att själv skriva kod till att beskriva det önskade resultatet. I stället för att manuellt implementera varje del kan användaren exempelvis be AI:n att skapa en funktion, förändra ett gränssnitt eller lösa ett problem. Om resultatet inte blir rätt kan användaren fortsätta med nya instruktioner och låta AI:n iterera vidare.

Det gör naturligt språk till en viktig del av gränssnittet mellan människan och utvecklingsverktyget.

Varför är vibe coding ett omdiskuterat begrepp?

Vibe coding används inte på exakt samma sätt av alla. För vissa beskriver termen möjligheten att utveckla mjukvara genom att beskriva vad man vill åstadkomma och låta AI sköta stora delar av själva kodningen.

Andra använder termen mer kritiskt för ett arbetssätt där användaren accepterar eller fortsätter förändra AI-genererad kod utan att sätta sig in i hur den fungerar. I den betydelsen blir skillnaden mellan att få AI-hjälp och att själv förstå lösningen central.

Det är därför viktigt att skilja mellan själva begreppet vibe coding och AI-assisterad mjukvaruutveckling generellt. Att en utvecklare använder AI för att skriva kod innebär inte automatiskt att arbetssättet behöver beskrivas som vibe coding.

Hur fungerar vibe coding?

Instruktioner ersätter delar av den manuella kodningen

Användaren beskriver önskad funktion i naturligt språk. AI:n tolkar instruktionen och genererar kod som försöker åstadkomma det efterfrågade resultatet. Det kan exempelvis handla om att:

  • skapa en enkel applikation eller prototyp
  • lägga till en funktion
  • förändra ett användargränssnitt
  • felsöka ett problem
  • iterera vidare på tidigare genererad kod

Användaren kan därefter testa resultatet och ge ytterligare instruktioner.

AI:n kan hantera allt större delar av implementationen

I ett vibe coding-flöde kan AI:n få skapa och förändra relativt stora delar av lösningen. Fokus ligger då mer på vad lösningen ska göra än exakt hur koden ska implementera det.

Hur långt detta tas varierar. Det är också en anledning till att två personer kan använda uttrycket vibe coding men mena olika saker.

När kan vibe coding vara användbart?

Ett promptdrivet arbetssätt kan exempelvis vara användbart för att snabbt utforska en idé, skapa en prototyp eller testa om en viss funktion är möjlig. Men vad som är ett lämpligt arbetssätt beror på sammanhanget. En prototyp som används för att testa en idé har andra krav än mjukvara som ska användas i produktion, hantera känslig information eller underhållas under lång tid.

Ju högre krav som ställs på exempelvis säkerhet, stabilitet, arkitektur och underhåll, desto viktigare blir det att någon kan förstå, granska och ta ansvar för den kod som används.

Vilka begränsningar finns med vibe coding?

AI-genererad kod är inte automatiskt korrekt, säker eller lämplig bara för att den fungerar vid ett första test.

Om användaren inte förstår koden kan det bland annat bli svårare att:

  • bedöma varför ett problem uppstår
  • upptäcka brister i lösningen
  • avgöra vilka konsekvenser en förändring får
  • underhålla och vidareutveckla koden
  • bedöma om lösningen uppfyller relevanta krav

Det betyder inte att AI-genererad kod i sig är problematisk. Frågan handlar snarare om hur koden används, granskas och kvalitetssäkras.

Vibe coding eller AI-assisterad mjukvaruutveckling?

Gränsen är inte helt skarp. AI-assisterad mjukvaruutveckling kan användas som ett bredare begrepp för utveckling där AI hjälper utvecklaren med exempelvis kodgenerering, felsökning, refaktorering och dokumentation. Utvecklaren fortsätter samtidigt att förstå och ansvara för lösningen. Vibe coding kan beskriva ett arbetssätt längre åt andra hållet, där AI får större ansvar för själva implementationen och användaren i högre grad styr genom instruktioner och önskat resultat. Begreppen kan därför överlappa, men all AI-assisterad utveckling behöver inte vara vibe coding.

Sammanfattning

Vibe coding är ett buzzword för ett AI-drivet sätt att skapa mjukvara genom instruktioner i naturligt språk. Exakt vad termen innebär varierar. För vissa är det ett brett namn för AI-driven utveckling, medan andra använder det mer specifikt om utveckling där användaren förlitar sig på AI-genererad kod utan att fullt ut förstå implementationen.

Det är därför användbart att skilja vibe coding från det bredare begreppet AI-assisterad mjukvaruutveckling.

Vanliga frågor om vibe coding

Vad betyder vibe coding?
Vibe coding beskriver ett arbetssätt där en användare beskriver vad som ska byggas i naturligt språk och låter generativ AI skapa eller förändra koden.

Måste man kunna programmera för att vibe-koda?
AI-verktyg kan göra det möjligt att skapa kod utan att själv skriva varje rad. Hur mycket programmeringskunskap som behövs beror på vad som byggs och vilka krav som ställs på att förstå, granska och kvalitetssäkra resultatet.

Är vibe coding samma sak som att använda AI när man programmerar?
Inte nödvändigtvis. AI kan användas som ett verktyg i traditionell mjukvaruutveckling utan att arbetssättet behöver beskrivas som vibe coding.

Vad är skillnaden mellan vibe coding och AI-assisterad utveckling?
AI-assisterad utveckling är ett bredare begrepp där AI fungerar som stöd för utvecklaren. Vibe coding används ofta om ett arbetssätt där större delar av implementationen överlåts till AI och användaren framför allt styr genom naturligt språk.

Vilka risker finns med vibe coding?
Om AI-genererad kod används utan tillräcklig förståelse, granskning och testning kan det bli svårare att upptäcka problem, bedöma säkerhet och underhålla lösningen.