Addable Labs bygger mjukvara till stor del med AI-agenter och sedan september 2026 byggs och underhålls den här sajten av det vi kallar fabriken: ett litet team av kodande agenter, organiserat som ett företag, som samordnar sig genom en gemensam ärendehanterare, med en person som är ansvarig för fabriken. Artikeln Så byggdes den här sajten av agenter berättade om ett bygge; den här serien beskriver själva uppsättningen – ett lager i taget – och börjar med den uppenbara frågan: varför driva något sådant över huvud taget och vad bygger det på?

Vad en agent och en person inte kunde göra

nivå byggdes tvärtom: en kodande agent och en person, 480 commits på 26 dagar, varenda en med agenten som medförfattare. Den uppsättningen börjar inte från noll. En fil med arbetsöverenskommelser, fyra nedskrivna rutiner – granskning, kvalitetsgrindar, driftsättning och innehållsändringar – arton anteckningar som agenten för åt sig själv, tio av dem om sådant som vi har rättat, en framstegslogg med en post per session och 105 dokumenterade beslut bär arbetet från en session till nästa.

Det den uppsättningen inte kan är att prata med någon annan än oss. Den 12 september, med fyra agenter på en dator, var och en med sitt eget projekt, lät vi nivå-agenten skriva ett meddelande som vi själva kunde bära till de andra tre och klistrade in det i den regelfil som varje agent på maskinen läser först. Varje uppgift börjar hos oss och när två sessioner behöver veta något om varandra är det vi som bär meddelandet emellan. Det skalar inte till agenter som planerar, bygger, granskar och publicerar medan vi gör något annat och det håller oss kvar i detaljer vi inte vill vara i.

Före och efter registret: en person som bär varje meddelande mellan fyra agenter, sedan ett gemensamt register med grundaren vid några få kända punkterföre och efter registretföre: fyra agenter med varsitt projektagentagentagentagentgrundarenvarje meddelande bärs för handefter: ett register alla sessioner kan ta urgrundarenborgmästarennågra kända punkter:plan att godkännagren att läsasessionerregistretsessioner lämnar över arbete genom det
Före: fyra agenter på en dator med varsitt projekt och varje meddelande mellan dem buret av grundaren – den 12 september inklistrat i den regelfil som varje agent läser först. Efter: ett gemensamt register som vilken session som helst kan ta arbete ur, sessioner som lämnar över arbete till varandra genom det och grundaren vid några få kända punkter – en plan att godkänna, en gren att läsa – i samtal med borgmästaren.

Tre saker behövde ändras: arbetet behövde ligga i ett gemensamt register som vilken session som helst kan ta uppgifter ur, inte i ett enda projekts anteckningar; sessioner behövde kunna lämna över arbete till varandra och följa upp det utan en person emellan; och den som är ansvarig behövde vara inblandad vid några få kända punkter – en plan att godkänna, en gren att läsa innan den pushas – i stället för hela tiden.

Steve Yegges iterationer

Uppsättningen vi driver bygger på öppen källkod som Steve Yegge påbörjade i oktober 2025 med Beads, en ärendehanterare som han beskriver som minne för kodande agenter snarare än som en att-göra-lista för människor. I januari 2026 kom Gas Town, hans orkestreringsverktyg: upp till trettio agentsessioner som samordnar sig genom Beads, ett dussintal aktiva åt gången, med en fast uppsättning roller och en tes som vi har anammat rakt av, med hans egna ord: "en agent är inte en session" (vår översättning) – sessioner är utbytbara, arbetet är beständigt. I april 2026 kom Gas City: med hans egna ord "Gas Town, men sönderplockat och omskrivet från grunden som ett SDK för att bygga egna mörka fabriker" (vår översättning). Han är noga med att säga att han inte skrev det – det gjorde Julian Knutsen och Chris Sells. I augusti 2026 beskrev sedan "Fences, not Sandboxes" den organisation på femtio till sextio agenter som han driver, styrd av skrivna regler snarare än av inlåsning.

Tidslinjen: Beads, Gas Town, Gas City, essän Fences, not Sandboxes och våra två byggenfrån Beads till våra två byggenokt 2025Beadsminne för kodande agenterSteve Yeggejan 2026Gas Townen agent är inte en sessionSteve Yeggeapr 2026Gas CityGas Town omskrivet som ett SDKJulian Knutsen, Chris Sellsaug 2026Fences, not Sandboxesskrivna regler, inte inlåsningSteve Yegge20 sep 2026våra två byggendagen vi läste allt det därAddable Labs
Det uppsättningen bygger på, daterat som artikeln daterar det: Steve Yegges Beads (oktober 2025), Gas Town (januari 2026) och essän Fences, not Sandboxes (augusti 2026); Gas City (april 2026), skrivet av Julian Knutsen och Chris Sells med gemenskapen kring Gas Town Hall; och den 20 september 2026, dagen vi gick igenom allt det där och körde det första bygget och sedan det andra.

Vi gick igenom allt det där den 20 september 2026 och fann att nästan allt vi ville ha – en fabrik per projekt, en samordnare du kan prata med, delegering med uppföljning, ett gemensamt register – redan fanns, underhölls aktivt och var MIT-licensierat. Vi byggde vidare på det i stället för att bygga ännu ett orkestreringsverktyg och körde det första bygget samma eftermiddag.

Gas City och Beads, i korthet

Uppsättningen i en bild: grundaren, borgmästaren, golvet och Gas City runt ett Beads-register samt en beads tillstånden fabrik, ett registergrundarenDiscordborgmästarenBeads: ett registeringen annan meddelandebusstar · skriver · stängergolveten session per stegkrav · plan · plangranskningnedbrytning · genomförandetre granskningsspår · publicerareGas Citydriver grafen, startar om kraschade sessioneren beadöppentagenstängdblockerad = erbjuds inte till någon agenten session som dör lämnar beaden öppen
En fabrik: grundaren pratar med borgmästaren via Discord; borgmästaren och golvets roller – var och en en session som startas när ett steg i bygget behöver den – läser och skriver i ett Beads-register, som Gas City driver som en graf av beads och startar om sessioner som kraschar. Det finns ingen annan meddelandebuss. En bead är öppen, tagen eller stängd; en bead som blockeras av en annan erbjuds inte till någon agent och en session som dör lämnar sin bead öppen för nästa. Sessioner är utbytbara, arbetet är beständigt.

Beads är en kommandoradsbaserad ärendehanterare ovanpå en versionshanterad databas. Varje arbetsenhet är en bead – en uppgift, ett meddelande mellan agenter, en anteckning om en session – med beroenden mellan dem. En bead som blockeras av en annan erbjuds inte till någon agent, och det är så ordningen hålls utan någon central schemaläggare. En agent tar en bead, arbetar, skriver ner vad den gjorde och stänger den; om sessionen dör halvvägs förblir beaden öppen för nästa.

Gas City är orkestreringsverktyget runt det registret och hårdkodar inga roller. En agent är konfiguration: ett namn, en prompt, ett ansvarsområde. En formel är ett arbetsflöde skrivet som steg och beroenden; när den tillämpas blir den en graf av beads som Gas City driver till avslut och startar om sessioner som kraschar. Paket (packs) buntar ihop agenter och formler så att en metodik kan låsas till en version som vilket beroende som helst. Underhållarnas egen regel för ramverket är att det "flyttar arbete; det resonerar inte om det" (vår översättning) – omdömet bor i prompterna.

Vad vi tog och vad vi ändrade

Vi tog principerna som de är. Arbetet består, sessionerna gör det inte. Roller är konfiguration, inte kod. Planerare, byggare och granskare är olika agenter och granskningen går i flera spår. Reglerna står i de filer varje session läser först. Och, från "Fences, not Sandboxes", styrning genom avvisning snarare än inlåsning – ett staket (fence) är, enligt den definition han citerar, "varje mekanism som avvisar dig om du inte ska vara där" (vår översättning).

Yegge driver femtio till sextio agenter; vi kör en handfull sessioner åt gången på en enda dator och siktar på en fabrik per projekt – hittills finns en, för den här sajten. Organisationsschemat är litet: en borgmästare och ett golv av roller tagna som de är från startpaketet i Gas Citys paketregister – krav, plan, plangranskning, nedbrytning, genomförande, tre granskningsspår, en publicerare – var och en startad som en session när ett steg i bygget behöver den och avslutad efteråt. Vårt eget bidrag hittills är borgmästarens prompt, gränser för hur många sessioner en dator kör samtidigt och reglerna för en delad maskin. Grundarens grind sitter vid planen, sedan det andra bygget. Ingen agent pushar på egen hand: att publicera betyder en gren som vi läser lokalt och ingenting når GitHub förrän vi säger till. Vi pratar med borgmästaren via Discord.

Ett bygge, i siffror

Omdesignen av den här sajten var fabrikens andra bygge och dokumenten den skrev finns i kodförrådet. Det började den 20 september 2026 klockan 17:34 UTC med en kort uppdragsbeskrivning och granskningsrapporten färdigställdes 00:14 nästa morgon: sex timmar och fyrtio minuter från start till mål. Däremellan tog kravsteget fram 31 krav med acceptanskriterier; plansteget renderade tre designriktningar som riktiga sidor – vi såg dem redan på förhandsvisningsservern och valde en inom två minuter efter att ha fått frågan – och godkände den granskade planen 19:45; nedbrytningen gav tio arbetspaket; en genomförandeagent arbetade sig igenom dem i fyra sessioner och 22 commits; och tre granskningsspår hittade två fel som måste rättas, vilket ett rättningsspår gjorde innan rapporten skrevs. Grenen slutade på 39 commits som rörde 90 källfiler, klarade tio automatiska kvalitetsgrindar, 101 tester och Lighthouse-poäng på 97 till 100 på alla sju sidor som kontrolleras. Vår del var sex korta meddelanden medan körningen pågick – valet, våra rättelser, svaren vid plangrinden – och morgonen därpå vårt omdöme om den färdiga sidan. Själva körningen var 112 beads, 17 agentsessioner i tio roller och tio mejl mellan borgmästaren och golvet som vi aldrig behövde bära; ingenting blev offentligt enbart på agenternas ord.

Det andra byggets steg ett till tre, 17:34 till 19:45 UTC, med grundarens val och hans plangrindföre koden17:34–19:45 UTCuppdragen kort uppdragstext startar körningen17:34krav31 krav med acceptanskriterier17:49grundarens valen av tre riktningar, på två minuter18:23plantre riktningar renderade som sidor18:43plangranskninggodkänd för nedbrytning19:06grundarens grindden granskade planen godkänns19:45sex korta meddelanden under körningenBygget: nedbrytning, genomförande, commits, grindar, tester och sammanfattning, 20:13 till 23:07 UTCbygget20:13–23:07 UTCnedbrytningtio arbetspaket20:13genomförandeen agent, fyra sessioner22:57commitspå en lokal gren22grindartio kontroller vid varje ändring10/10testerkörs med grindarna101sammanfattningvad som byggdes, för granskarna23:07ingen agent pushar på egen handGranskningen av resultatet, rättningarna, rapporten, Lighthouse och grundarens omdöme, från 00:04 UTCinnan det blir offentligt00:04–00:14 UTCgranskningtre spår, två fel som måste rättas00:04rättningsspårbåda rättade före rapportengranskningsrapportgodkänd: 39 commits, 90 källfiler00:14lighthousepå alla sju sidor som kontrolleras97–100grundarens omdömemorgonen därpå, om den färdiga sidaninget offentligt bara på agenternas ord
Fabrikens andra bygge, 20–21 september 2026, 17:34 till 00:14 UTC – sex timmar och fyrtio minuter från uppdragsbeskrivningen till granskningsrapporten, med varje stegs sluttid och de tal körningen dokumenterade. Grundarens två punkter är de orangea raderna: hans val av designriktning och plangrinden.

Det första bygget, tidigare samma dag, tog ungefär fyra timmar för 27 krav och tio arbetspaket, behövde en rättning och hade ingen grind före slutet: vi såg resultatet när det var klart och gillade inte utseendet. Ingen av körningarna var felfri. I den första tog en session en administrativ post i registret i stället för sin uppgift och behövde fjorton minuter för att ta sig runt det; den skrev ner lösningen i sina anteckningar och när det andra byggets första session råkade ut för samma kapplöpning var den igång med sin uppgift inom en minut. Båda körningarna lämnade oss en lista med öppna punkter; vi ser de listorna som en del av produkten.

Tack

Inget av det här skulle finnas utan Steve Yegges vilja att bygga öppet och att släppa Beads och Gas Town under en licens som lät oss bygga vidare på dem – och inte heller utan Julian Knutsen, Chris Sells och gemenskapen kring organisationen Gas Town Hall, som byggde Gas City. Tack. Koden finns på GitHub – Gas City, Beads och paketregistret – och essäerna finns på Yegges webbplats: Welcome to Gas Town, Welcome to Gas City, Fences, not Sandboxes och Beads Best Practices.

Vad som kommer härnäst

De kommande artiklarna tar uppsättningen ett lager i taget – rollerna, de beads som agenterna kommunicerar genom, en begärans väg, reglerna en ändring måste klara, vad grundaren ser och beslutar, vad som gick fel och vad det kostar.