Nedanstående är en gästartikel signerad den erfarna utvecklaren och entreprenören Mikael.
En ny era
Jag har programmerat i 38 år och förstod den 14e mars 2024 – dagen då GPT4 släpptes – att skriva kod för hand kommer försvinna. Oklart när, men definitivt försvinna.
För snart två år sedan lanserade vi AI-läxhjälpen Plughorse här på Cornucopia. Jag byggde den i Cursor med hjälp av Sonnet 3.5 och GPT-4o. Det tog 100 timmar från noll till 40 betalande användare – en upplevelse jag sent kommer glömma.
Sen dess har Plughorse-teamet vuxit och vi lanserade just Tokno.com (från “To know”). Tokno är en personlig lärare som lär känna dig, dina styrkor och svagheter och hur du (eller dina barn) lär sig bäst. Tokno är en total re-write och vilar på ett egenutvecklat agent harness – och namnet fungerar internationellt!
Under samma tid har AI gått från en turboladdad auto-complete till en tänkande och kreativ intelligens som kan jobba självständigt timmar i sträck. Mycket av AI-utvecklingen har skett sen i julas.
Vi ser inget som tyder på att det saktar in, snarare tvärtom.

Kan vem som helst koda vad som helst nu?
Som erfarna utvecklare som tagit AI-steget fullt ut kan vi säga att det är close but no cigar, tyvärr.
Vi läser nästan alla rader genererad kod – framförallt allt det som rör våra databaser och affärslogik. UI-kod (React) tittar vi nästan aldrig på, utan korrigerar genom användning (“Make the title a bit bigger!”).
Vi hittar felaktigheter i 100% av det som AIn skapat. Allt från konstigt namngivna funktioner till att den placerat kod på fel plats eller inte använt kod som redan existerar. Den tenderar att övertänka och komplicera saker. Högt och lågt.
Att hitta de få och ofta subtila felen är ett arbete som kräver fokus och pannben. Det går ofta fort att korrigera och jag skulle gissa att vi jobbar 5-10x snabbare än för 1-2 år sedan. Om ytterligare 1-2 år kommer felen vara färre, kanske allt alltid är 100% korrekt. Vi får se.
Du kan outsource:a tänkande men inte förståelse
En AI tittar på världen (koden) genom ett sugrör. Ni som utvecklare ansvarar fortfarande för att rikta röret på vad som är viktigt.
Ni kan sätta upp generella instruktioner (claude.md, skills etc) för hur ni hanterar ditt och datt, men en buggfix eller en förbättring är alltid specifik och är del av en större kontext eller system. Som utvecklare behöver ni alltså fortfarande förstå den stora bilden, annars kommer det helt säkert smälla.
Det sagt: för det som inte går ut till betalande kunder eller är direkt är kopplat mot kritiska system, kan man gott vibe-koda – alltså inte alls titta på koden, utan bara på resultatet. Varning! vibe-kodning är en starkt beroendeframkallande process (på riktigt).
Erfarenhet och god smak
Om man lägger 10 000 timmar på något, utvecklar man ofta “god smak” och en hantverksskicklighet. Man har sett allt, gjort allt, om och om igen. Det gäller såklart även digital utveckling. Att idag ha 10000 timmar i ryggen och dessutom vara skarp på att formulera idéer så andra förstår, ger en ENORM fördel.
Hur de yngre, oerfarna ska komma in på arbetsmarknaden är för mig oklart. Såg någon som föreslog 2-3 års AI-förbud för juniorer – en dödfödd idé rent praktiskt såklart, men det ligger något i den.
Vår kod och process
Vår kod har färre abstraktioner än innan AI. Abstraktioner var nog mest till för att fördela arbete mellan människor. Koden är nu mycket mer “vertikal” i det att varje del går från UI till databas på kortast möjliga sätt. Detta är dels ett resultat av sugrörsanalogin ovan – ingen AI kan idag ta in och resonera över en hel kodbas, och att koden genereras blixtsnabbt. Och blir enklare att läsa och förstå.
Varje ny AI-session börjar som ett blankt blad. För att snabbt få in rätt kontext, har vi en kort claude.md och sen skills för resten – filstruktur, databaser, affärslogik, design, animation, översättningar… Vi har också installerat skills från tredjepart, till exempel Stripe och Postgres best practices.
Vi börjar nästan alltid i Plan-mode. Det är det absolut snabbaste sättet rikta AIn på vad som är viktigt.
Ett tips är att be den göra en plan som en junior utvecklare kan implementera. Då skriver den ofta ut kritisk kod – tänk SQL eller affärslogik, och man kan snabbt hitta feltänk eller avvikelser från våra standarder.
Notera att skills och andra dokument inte garanterar att AIn läser in eller följer dem – du behöver ofta peka på dem.
Vi har i bestämda ordalag bett AIn att alltid börja med tester och sen koda tills de passerar. Ärligt talat så tittar vi sällan på testerna, det är snarare en metod att få bättre kod snabbare.
(Ett spännande alternativ till AI-utveckling skulle kunna vara att bara skriva/läsa testerna…).
Self-healing
En konstig och cool feature i vårt agent harness är att alla dess delar kan föreslå förbättringar. Varje morgon vaknar vi till en lista med förslag som systemet själv skulle vilja se. Även våra användares förslag kommer in via vårt agent harness, baserat på deras konversationer.
Vi har även en MCP där nattliga agenter läser loggar, felmeddelanden och statistik. Den även kategoriserar och prioriterar saker som måste fixas. Från dessa idéer och listor skapar vi planer och skickar ut ett antal uppdateringar dagligen. Beslutsvägarna är typ obefintliga.
Uppåt framåt
Att bygga något blir enklare i rasande takt.
Jag tror skillnaden framåt ligger i att förstå sina användare på djupet och skapa upplevelser som är autentiska, som de älskar. Att hitta inlåsningseffekter (vi har några bubblare här jag inte vill avslöja), att bygga upp ett starkt varumärke och hitta nyckeln till distribution i ett brusigt medialandskap.
Alltså: nyfikenhet, erfarenhet, god smak, pannben. Och en jädra flax.
/Mikael 😃
12 kommentarer
”När kostnaden för att skapa mjukvara rör sig mot noll blir värdet av en mjukvaruprodukt detsamma.”
Den funderar jag en hel del på numera. Ganska ofta numera försöker jag inte ens leta upp ifall någon annan redan löst ett behov jag har – att prompta fram en lösning som fungerar 100% för just mitt eget specifika fall ger bättre resultat.
Fanns inte en plugin som rensade spamkonton för bloggen. Tog bara någon timme att fixa själv via ChatGPT som föreslog det när jag gav upp Google (Qwant egentligen som jag kör för att Google inte ska få träna på mina sökningar). Eller egentligen tio minuter, men sen ville jag ha lite förbättringar ovanpå det jag frågade om till att börja med.
Vad hade du varit villig att betala för en sådan plugin, om den redan funnits?
På samma sätt skrev du ju inte om hela webservern bara för att det kanske är tekniskt möjligt.
Även för Tokno så är väl poängen att det ska tjäna pengar, under förhoppningen att ingen annan gör exakt samma sak? Värdet handlar ju inte om det är gratis (med en rätt vid tolkning av gratis) eller inte att ta fram en viss produkt eller funktion, utan om jag som konsument tycker att avvägningen mellan {funktion, kostnad, bekvämlighet, varumärke,…} är gynnsam.
Någon skrev tidigare i veckan på internetet att OpenOffice firar typ 26 år som gratis open source, men det är ju inte direkt det dominerande office-paketet.
Skillnaden är väl att idag kan fler skapa saker enklare och snabbare, så länge det inte kräver alltför mycker verkshöjd i implementationen och vi inte har superstrikta kvalitetskrav.
Jag hade betalat om en sådan plugin fanns. Men har nu lärt mig att jag enkelt kan göra samma sak själv när jag har udda behov.
Vad man kan ta betalt för är serverutrymme som lagringskapacitet etc eller AI-processorkraft. Inte konstigt att Microsoft etc vill få ut allt på deras lagringstjänster och bakar in AI-tjänster som måste köras på deras servrar.
Värdet av mjukvaruprodukter har (obetingat) alltid varit noll. Värdet uppstår (eventuellt) i ett speciellt sammanhang och tidpunkt, men oftast aldrig. Ibland oförutsett.
Intressant reflektion! Inte programmerare själv men har börjat använda Antigravity rejält från att ha varit en skeptiker. Satan vad man göra grejer nu! Stor skillnad från bara 9 mån sedan.
En sak jag tampas med. När jag inte vet, att jag inte vet om en viktig parameter – hur ser jag till att AIn fångar upp det.
Mina två knep:
1) Metaprompta, strukturerar alltid prompten på ett bättre sätt och kan på så sätt fånga parametrar som jag inte tänkt på
2) Fråga mig! Be alltid AIn att ställa frågor så kommer väldigt mycket färre antaganden att ske.
Har ni fler tips?
Har den senaste tiden löst ett problem.
Sen nör problemet är lösthar jag ett antal agenter som får vara duktiga på olika saker.
T.ex cybersäkerhet
Varav en agent är red teamare, och en agent får en specifik uppgift att ifrågasätta alla grejer. Och ska bli motbevisad. Sen en agent som är ui fokuswrad på färger etc.
Sen en agent som alltid sitter o ifrågasätter koden.
Efter en bra stund brukar man sen kunna titta och se ett ganska bra resultat. Desto fler agenter med unika egenskaper desto bättre resultat
Precis som författaren har jag totalt släppt UI-grejer till AI, där har jag resignerat totalt.
Var det här på Cornucopia jag läste att man har kodat om bla. Photoshop och officepaketets program.
Plötsligt blir dessa produkter i det närmaste värdelösa. Kanske inte riktigt ännu, det är nog fortfarande att betrakta som beta-versioner (noll-verion?) eftersom programmen gjorts på några månader och inte hunnit testas fullt ut.
Jag länkar inte, men googla ArtCraft om du är intresserad.
1. För hundra år sen bestämdes värdet på ett lager av vilka produkter den innehöll. Idag bestäms ex värdet på ICAs lager vilken genomströmning man har.
Jag tänker det är samma med mjukvara, värdet kommer att bestämmas av vilken takt/riktning den förändras.
2. Äntligen får man vara chef utan allt gnäll. Är man chef är det omöjligt att ha koll på alla detaljer men man behöver ändå skeppa. Samma sak oavsett om det är teammedlemmar eller agenter.
Och har de gett en variabel fel namn, antingen kan man mikrostyra. Eller helt enkelt släppa det eller sätta sina minions på att rätta och kontrollera varandra.
Tack för en intressant inblick!
Jobbar också med mjukvara sen ca 30 år tillbaka. Databaser, ETL-flöden etc – klassisk backend. På senare tid dbt i VSCode integrerat med github. Här är integrerad copilot till stor hjälp för framför allt rutinarbeten när man kan peka på en befintlig modell och låta AIn använda den som mall, och har även funnit det användbart att integrera standarder mm i ett separat repo.
En fundering jag hela tiden har i bakhuvudet är dock om vi fortfarande lever i någon form av ”smekmånadsperiod” kostnadsmässigt vad gäller AI-stöd. Någon annan skrev för ett tag sedan i en kommentar här på forumet att han jobbade som egen konsult och höjt sin produktivitet rejält och därmed kunnat höja sin timtaxa avsevärt. För detta la han om jag mins rätt kring 7000 i månaden på AI-tokens, men han hade själv (dock utan att förklara hur) estimerat den verkliga kostnaden för det AI-arbete han plockade ut till snarare 100000 i månaden, dvs mer än en faktor tio. Så vad händer när AI-bolagen inte längre hålls flytande av inflödande investeringar och de måste börja ta betalt utifrån den verkliga kostnaden? Kommer det ändå att löna sig, eller kommer vi att få återgå till att göra mer arbete manuellt och använda AI mer selektivt?
Eller – tar maskinerna över och förslavar oss? 😉