endogen.net

Endogen News

Public updates from the Endogen project.

← News

· fredrik

Notis 2026-04-12 Söndag

Jag skrev en uppdatering igår, se nedan. Här är en reflektion som blev längre än planerat, då jag är mån om att illustrera upplevelser med arbetet med AI då jag tillämpar det i utvecklingen av den nya Matkalkyl.

Svar Ja, fullständig migration av data från gamla Matkalkyl till den nya kommer högst sannolikt vara möjligt och relativt enkelt att lösa med AI (jag är dock försiktig i vad jag lovar då det är ett av de moment som jag sett som mer utmanande, men med tanke på allt annat som AI löst så ser jag det som högst troligt).

Jag vill illustrera hur effektivt arbete med AI är. Med hjälp av AI har jag analyserat hur effektiv en typisk uppgift var att utföra med AI.

Jag bytte från base64 till binär lagring av krypterad data, vilket är en genomgående förändring i systemet (jag hade fattat fel beslut tidigare i det avseendet och ville ändra). Det skulle uppskattas ta 3–6 dagar utan användning av AI. Det kan jämföras med 70 % av arbetet för ett stambyte i en fastighet på 100 kvm.

AI löste det på 40 minuter med 5 prompter där jag gick steg för steg. Mitt engagemang var lågintensivt där jag tittade på YouTube samtidigt. Några fel uppstod, men AI-agenten fixade det med ytterligare ungefär 5 prompter.

I detta fall var jag 36 till 72 gånger mer effektiv med AI. I ett annat fall löste jag en teknisk utmaning på 30 minuter med 5 prompter, som annars skulle ha tagit mig 2 veckor, varav effektiviteten blir 140 gånger högre (det var det allra första testet jag utförde när agentisk AI med OpenClaw var nytt för mig den 14 mars.

Effekten av AI jämfört med människa beror på typen av problem. Det beror på huruvida människan har erfarenhet eller inte. I det fall där jag saknar djupare erfarenhet blev jag 140 gånger snabbare i lösningen. I det fall där jag har djupare erfarenhet blev jag 36–72 gånger snabbare. Oavsett vilket är vinningen överlägsen. Koden som genereras är dessutom av god kvalitet. Allt fungerar nästan alltid direkt. Det är för det mesta så träffsäkert att jag ofta inte ens känner mig manad att kontrollera resultatet. Jag vet dessutom att AI:n fixar eventuella fel snabbare än vad det tar tid för mig att granska ett resultat på förhand.

I februari hörde jag talas om OpenClaw---ett system för AI-agenter som agerar självständigt i datorn---men tänkte att jag skulle vänta ett år tills tekniken mognat. Jag drack sedan mer kaffe än vad jag behövde och testade OpenClaw ändå, vilket var tur, för det satte mig på en helt annan bana i livet när jag övergick till agent-styrd programmering via OpenClaw. Jag fick lov att ta tillbaka mina fördomar om \"vibe coding\" och dessutom inse att agentisk programmering är mer sofistikerad än vad fördomar och stereotyper om det tillåter att bekänna (de båda begreppen överlappar i praktiken). En existensiell kris uppstod då jag insåg att min identitet som programmerare var ersatt av AI. Jag avklarade effektivt den krisen och sedan dess har jag med glädje använt detta. Jag verkar dessutom vara bättre på konceptuell problemlösning och design än på att skriva manuell kod och minnas syntax. Så... tack och hej till det gamla, och kom inte tillbaka. Lärdom: undersök sakförhållanden på egen hand och grunda beslut på det.

Det är förståeligt att jag tappar all form av motivation att programmera \"på gammalt vis\". Därför finns det nu ingen återvändo, och AI är som luften jag andas, vilket kan kännas skrämmande, men å andra sidan: elektricitet är idag något som du tar för givet och är beroende av utan att förundras över det. AI kommer att bli en del av vår vardag på samma sätt.

Som synes i tidigare inlägg består systemet jag bygger av ungefär 50 000 rader programkod (ren JavaScript ökar mängden något). 95% är nu AI-genererad kod som bygger på 5% av min egen kod. Jag står dock för den övergripande systemdesignen vad gäller relationer inom systemet (till skillnad från enskilda rader med kod). 5% kan anses utgöra ett systems mest grundläggande och viktiga struktur för framtida hållfasthet. Resten om 95% är utfyllnad för alla diverse funktioner (matlistor, kalkyler, kalender, användar-profiler etc).

Det kan låta mycket för en webbapp, men jag har inkluderat en hel del struktur och funktioner. Jag lät AI:n bedöma koden och svaret är: \"Det är inte orimligt stort; det är bara strukturerat på ett mer AI-naturligt sätt än ett människonaturligt sätt.\"

Jag behöver inte bry mig om att göra koden \"människonaturlig\", eftersom all utveckling och problemlösning ändå sker med AI, och enbart AI. Det är därför bättre om koden är \"AI-naturlig\". Jag läser inte programkod längre; jag resonerar enbart kring systemet tillsammans med AI, som sedan utför arbetet. Jag diskuterar systemet och vad jag vill ha, och AI:n skriver koden.

Det som tar tid är att göra bedömningar för att bygga systemet säkert ur ett holistiskt perspektiv, samt att fatta beslut i detaljfrågor, som exempelvis hur en knapp ska fungera. Medan många glädjer sig över att AI kan generera \"en färdig produkt\" på nolltid, så är sådana färdiga produkter sällan bra, eftersom AI har gått på standardlösningar. AI:n ska användas som precisionsverktyg för att åstadkomma en egen produktvision, och det tar lite längre tid, eftersom människan måste specificera visionen mer i detalj och ge rätt styrning.

Var medveten om att ökad effektivitet dock också öppnar för risken att mer effektivt göra fel, och därmed mer effektivt öka sin egen arbetsbörda på sikt. Exempel på detta är entreprenörer som tidigt byggde färdiga webbappar och nu har fått en kundbas, men där systemen nu börjar fallera och är mycket svåra att laga och vidareutveckla. Det är i min tolkning beroende av att systemutvecklaren har byggt en webbapp med särskilda behov och funktioner som steg för steg har sträckt sig över gränserna för den underliggande systemarkitekturen. En analogi är att bygga ett höghus utan en bas som bygger på lämpliga hållfasthetsberäkningar. Att då \"ska bara bygga ut\" med en balkong kan få hela huset att rasa. Det är dock när kunderna frågar efter en extra funktion, exempelvis en balkong, som hela systemet plötsligt faller samman. Somliga står nu med system som de ivrigt byggde med hjälp av AI, men som de nu ej kan reparera---inte ens med hjälp av AI---samt en betalande kundbas som förväntar sig att appen ska fungera. Sedan kommer någon \"erfaren\" programmerare och cyniskt konstaterar att \"AI kan inte lösa någonting 'på riktigt'.\"

Min rädsla har alltid varit att AI:n gör exakt som i exemplet ovan, men jag ser inga indikationer på det i mitt eget system. Jag ser dock stundom varningssignaler som jag tar på allvar, vilket givetvis är förväntat---både varningssignaler och allvar---och vilket innebär att jag vidtar lämpliga åtgärder för att upprätthålla \"ren konceptuell design\" för att AI:n framöver ska kunna arbeta med precision och inte misstolka på grund av svag gränsdragning mellan moduler, eller ännu värre: att misstolka på grund av avsaknad av strukturer för ansvarsfördelning inom systemet. Strukturen är både vertikal och horisontell. Horisontell på så vis att flera liknande komponenter är väl separerade från varandra (exempelvis en funktion för kalender, en annan för matlista). Vertikal på så vis att typer av komponenter existerar i en hierarki som definierar vad de är och vad de kan göra och hur de relaterar till varandra, exempelvis: systemnivå och systemmoduler av olika typer, appnivå och appmoduler av olika typer, med mera.

Det krävs nästan en sorts andlig intuition för att känna av när AI:n behöver en liten del stöttning för att hamna rätt. Sådan intuition bygger givetvis på en mängd av mina egna erfarenheter av datorsystem, men det är en intuitiv process där jag efter 50 felfria moment kommer till moment 51 där jag plötsligt får en känsla av att AI:n har missuppfattat något eller går på en standardlösning som inte alls passar systemet. Base64 istället för binär, som jag beskrev ovan, var faktiskt ett moent där jag missade att AI:n antog fel lösning, varav jag senare fick korrigera det. Jag tog förgivet att den körde på binär från början, för det är så jag själv tänker, men det är just blinda antaganden som är mycket farligt inom utveckling med AI-agenter. Oftast gör AI:n rätt även om du inte är medveten om beslutet i detalj, men lömskheten är att på moment 51 så gör den ett annat antagande utan att du märker det. AI:n i dagens läge gör sällan fel i sak, men gör istället fel sak om människan inte ger rätt styrning. Samtidigt måste människan växelverka mellan styrning och avslappning, då moment 1 till 50 fungerar felfritt. Konstant granskning leder till mental trötthet, varav växelverkan mellan kritiskt tänkande och tillitsfull avslappning är nödvändigt (det låter för övrigt som nyckeln till framgångsrika relationer med människor, och inte minst vad gäller relationen till sig själv). Arbete med AI är ungefär som jag föreställer mig att det är att segla en båt i förhållande till de krafterna av vind och vatten.

När människan har begrepp om en holistisk struktur för systemet, och AI:n har en klar bild av den, kan AI:n arbeta med precision och effektivitet. Det är när människan inte har en klar bild av systemet, eller när AI:n inte har en klar bild av systemet, som det kan uppstå problem. För att ge AI:n en klar bild behöver OpenClaw användas på så vis att olika kontexter för systemets olika delar isoleras och AI-agenten riktas mot enskilda aspekter av systemet i taget, så att AI:n inte behöver hålla hela systemet i huvudet samtidigt, utan kan fokusera på en del i taget. Detta kräver kännedom om och förståelse för systemet man bygger. En struktur för AI-agenterna utökas parallellt med att systemet utökas.

Jag har varit rädd för att jag bygger ett fallerande projekt i egenskap av exemplet med höghuset och balkongen: att allt ser bra ut fram till en dag då en liten åtgärd avslöjar omfattande brister som gör projektet omöjligt att fortsätta. Medveten om denna risk har jag tidigare avvaktat med AI, men nu, i dagens läge, har AI:n visat sig mycket pålitlig. Den sluter liksom cirkeln på så vis att den levererar en stabil lösning efter en annan, så länge den får rätt riktning, och det gäller på alla nivåer av systemet, från detaljer till övergripande struktur. Trots mina återkommande kritiska misstankar har AI:n visat sig stabil och faller inte in i samma destruktiva fällor som den gjorde för bara ett år sedan, då AI:n var mindre avancerad.