
Jag tror att kodning till stor del är "löst", särskilt när man använder de mer populära språken. Det här kan vara kontroversiellt, men låt mig förklara vad jag menar. Så basically, om jag har en uppgift och jag kan förklara problemet för modellen och jag kan ge lite vägledning för hur problemet bör lösas, då kan modellen i nio fall av tio komma på koden som behövs för att lösa problemet på det sätt jag beskrev. AI kan skriva kod snabbare och ofta med samma kvalitet som du - så länge du ger den rätt information och verktyg. Såklart finns det specifika domäner och edge cases där AI inte kommer ha tillräckligt med träning, men det är inte normen. Dock är ingenjören fortfarande väldigt viktig. Agenter behöver styras, de behöver få rätt kontextuell kunskap. När de lämnas till sitt eget öde producerar de ofta så kallad "slop".
Låt oss reda ut våra termer. AI-assisterad kodning != Vibe Coding.
"Vibe coding" introducerades av Andrej Karpathy i en tweet från början av 2025. Basically är det när du bara promptar och glömmer. Du läser inte den genererade koden. Du accepterar alla ändringar automatiskt. Fel åtgärdas genom en loop av att kopiera felmeddelandet till en annan prompt - repetera tills (förhoppningsvis) programmet fungerar. Så småningom växer kodbasen utom vibe-kodarens förståelse. Det är kul, men inte det mest produktiva för seriösa projekt.
AI-assisterad kodning, å andra sidan, handlar om att producera högkvalitativ kod som kan deployas och underhållas långsiktigt. Du läser och förstår den genererade koden. Du (eller agenten själv) kör tester för att validera output. Du använder kontext för att få agenten att följa önskade patterns, generera dokumentation, följa din organisations riktlinjer.
Varför inte bara skriva koden själv?
AI skriver kod mycket snabbare än du gör. Det här är viktigt eftersom det låter dig tighta feedback loops -> iterera -> producera något av värde snabbare. Bygg något som demonstrerar den önskade funktionaliteten, få feedback, förbättra, upprepa tills klart. Behöver du bygga en data pipeline för att transformera och ladda data till ditt warehouse? Istället för att spendera en dag på att skriva Airflow DAGs och debugga SQL-transformationer, spendera 30 minuter på att låta AI generera pipeline-strukturen, använd sedan den sparade tiden till att validera datakvalitet, optimera prestanda och hantera edge cases du upptäcker i produktionsdata.
Målet är trots allt inte att "skriva kod", utan att uppnå affärsmål eller ekonomiska behov. Kod är bara ett medel för att nå ett mål. Om din identitet är byggd på att vara bra på att skriva kod, kanske det är dags att omvärdera.
AI sänker tröskeln för att komma igång. Med lägre möjlighetskostnader kan du testa grejer och iterera mycket snabbare. Du behöver inte de initiala kostnaderna för att göra research och förstå hur man implementerar något. Det här gör att du kan utforska många fler vägar, vilket ökar chanserna att upptäcka något värdefullt. Du kan testa nya ramverk, lösningar, metoder etc. som brukade vara för tidskrävande för att vara värda det. Nu är det värt det.
Komma Igång
För att komma igång behöver du välja ett agentverktyg. De börjar vanligtvis på runt $20 i månaden. Vanligaste alternativen är:
- Cursor
- Claude Code
- OpenAI Codex
- GitHub Copilot
Det spelar egentligen ingen roll vilket du väljer. Jag började med Cursor, sedan blev jag kär i Claude Code, och nu föredrar jag Codex.
Dessa verktyg är inte riktigt jämförbara med AI-plattformar som Lovable eller Replit. Agentverktyg assisterar dig som utvecklare genom att komplettera kod och generera specifikt utifrån dina önskemål. Du styr fortfarande till stor del kontext, flöde och deployment. Däremot försöker AI-plattformar vanligtvis scaffolda och bygga hela systemet åt dig baserat på naturligt språk. Det är mer hands-off och ännu mer riktat mot icke-utvecklare som ändå vill bygga saker med kod. Du kan fortfarande iterera och bygga specifika features, men de tenderar att kombinera utveckling, runtime och deployment under ett tak.
För att komma igång med AI-assisterad kodning rekommenderar jag att leta efter low-hanging fruit. Generera unit tests, refaktorera befintliga moduler, generera boilerplate och annan repetitiv kod. Det här kommer låta dig lägga mer tid på sakerna som faktiskt skapar differentiering från konkurrenterna.
Praktisk Tillämpning
Börja med att köra din LLM-agents "init"-kommando (vanligtvis inbyggt kommando redo att använda). Agenten kommer scanna din kodbas och skapa en AGENTS.md eller CLAUDE.md-fil som täcker de viktigaste aspekterna av din kodbas. AGENTS.md-filen är som en entrypoint till din kodbas, för kodningsagenten. Den fyller ett liknande syfte som README.md-filen. Men medan README-filen är för människor, kompletterar AGENTS-filen detta genom att innehålla ytterligare kontextuell information för agenten att göra sitt jobb bra.
Du bör undvika att göra den alltför detaljerad eftersom den kommer läsas om av kodningsagenten varje session, så håll information som är relevant och applicerbar genom hela din kodbas, inte information som bara behövs för specifika features eller delar av den. Exempel på sådana instruktioner kan inkludera build-steg, tester, konventioner och andra mer tekniska aspekter som inte är relevanta i en Readme-fil, men som du ändå behöver att agenten beaktar när den kodar.
Sedan, när du går vidare, börja lägga till viktiga kontextuella detaljer - ofta kunskap som du har fått genom erfarenhet som är specifik för detta projekt/organisation - och bädda in det i din agentfil(er). Till exempel kan du behöva definiera specifika termer, etablera relationer mellan entiteter, källor för olika saker, etc.
Du kan inte förvänta dig att modellen vet saker om du inte explicit berättar om det eller gör det lätt att förstå från den befintliga koden. Om du har specifik kunskap eller mentala modeller som du utgår från när du bygger/kodar - bädda in det i agenten genom att dokumentera det i agentfilen. Det här är vad som tar agenter från att bara bygga demos och POCs till att kunna bidra i riktig utveckling. För att inte behöva upprepa det här varje session skapar du återanvändbara dokumentationsfiler som AGENTS.md eller CLAUDE.md.
När du utvecklar kan du märka att din AGENTS.md-fil blir väldigt stor, eller att det finns kontext du bara behöver ge agenten i vissa scenarion eller när du jobbar med specifika aspekter av din kod. För det kan du antingen lägga till katalogspecifika AGENTS.md-filer (de flesta agenter kommer automatiskt hämta dessa när de jobbar i motsvarande katalog) eller lägga till dokumentation i en docs/-mapp som du manuellt refererar till när du promptar agenten. Nyckeln är att börja dokumentera mycket mer och iterera på dokumentationen när du lär dig, så att det blir superenkelt att ge den nödvändiga kontexten till agenten.
Jag promptar nästan aldrig agenten utan att lägga till kontextuell information genom @<filnamn>-taggar.
Custom Commands
Använd custom commands (antingen native till agent-ramverket eller copy-and-paste-prompter) för att utföra återkommande "chore"-liknande uppgifter som:
- Committa ändringar
- Skapa onboarding-fil för en uppgift
- Skapa task-lista för en uppgift
Här är några av mina favoriter:
onboard.md (den här fick jag från Mckay Wrigley):
# Onboard
You are given the following context:
$ARGUMENTS
## Instructions
"AI models are geniuses who start from scratch on every task." - Noam Brown
Your job is to "onboard" yourself to the current task.
Do this by:
- Using ultrathink
- Exploring the codebase
- Asking me questions if needed
The goal is to get you fully prepared to start working on the task.
Take as long as you need to get yourself ready. Overdoing it is better than underdoing it.
Record everything in a agent-tasks/[TASK_ID]/onboarding.md file. This file will be used to onboard you to the task in a new session if needed, so make sure it's comprehensive.
Syftet med onboarding-filen är att generera en fil som behåller insikterna från en grundlig undersökning av kodbasen genom att identifiera alla filer och moduler som är viktiga för en given uppgift. Varför behöver vi det här? Många uppgifter är tillräckligt omfattande för att de inte kommer slutföras i en enda chat-session. I en ny session kan vi snabbt få agenten up to speed genom att referera till onboarding-filen. Den kommer omedelbart ha den kontext som behövs för att fortsätta. Onboarding-filen kan kompletteras av en task-fil som genereras av följande prompt:
create-tasks.md:
# Create Tasks
You are given the following context:
$ARGUMENTS
## Instructions
Your job is to create a task-list for the current task.
Do this by:
- Breaking down the task into smaller tasks
- Include tasks on how to test the functionality and the expected results of the task
- Creating a checklist of atomic tasks
- Make sure the task-list is well-organized and can be picked up to continue working on the task in a new session if needed
Most likely, there is already a agent-tasks/[TASK_ID]/onboarding.md file. If there is, use it to get a sense of the task.
Take as long as you need to get yourself ready. Overdoing it is better than underdoing it.
Record everything in a agent-tasks/[TASK_ID]/tasks.md file under the same [TASK_ID] folder as the onboarding.md file.
Create-tasks-prompten använder helt enkelt onboarding-filen vi redan skapat för att generera en actionable task-lista som kan bockas av iterativt när agenten jobbar på uppgiften. Liknande onboarding-prompten kommer det här hjälpa när vi jobbar på något över flera agentsessioner. Om vi bara ger onboarding måste agenten fortfarande lista ut vad som redan är gjort versus vad som pågår. Med task-filen kan den komma igång med rätt subuppgift från början.
commit.md:
# Commit
You are given the following context:
$ARGUMENTS
## Instructions
Commit any unstaged changes that appear to be complete.
Do this by:
- Do not use `git add .`
- Create logical groupings of changes in commits
- Follow husky commit hooks standards
- Only commit changes that appear to be complete, don't commit other changes
- Ask me questions if needed