Hopp til innhold
Tilbake til artikler

Stripe lar AI-en skrive all koden. Slik fungerer det.

2. mars 2026·13 min lesing·2,510 ord
Agentisk utviklingStripeKodeagenterArkitekturMCPCI/CD
IndyDevDan-video: I Studied Stripe's AI Agents — Vibe Coding Is Already Dead
Bilde: Skjermbilde fra YouTube.

Nøkkelinnsikt

  • Stripe leverer over 1 300 pull requests per uke uten menneskeskrevet kode, drevet av seks arkitekturlag som jobber sammen
  • Blueprints kombinerer forutsigbar kode med agentfleksibilitet, slik at utviklere styrer hvilke steg som krever presisjon og hvilke som drar nytte av AI-kreativitet
  • En sentralisert verktøybod håndterer nesten 500 MCP-verktøy og løser oppdagelsesproblemet som knekker de fleste agentoppsett
KildeYouTube
Publisert 2. mars 2026
IndyDevDan
IndyDevDan
Vertskap:IndyDevDan (Dan)

Denne artikkelen oppsummerer I Studied Stripe's AI Agents... Vibe Coding Is Already Dead. Se videoen

Les denne artikkelen på English


Kort fortalt

IndyDevDan analyserer Stripe sitt nylig publiserte blogginnlegg om Minions, selskapets interne kodeagenter som ifølge Stripe leverer over 1 300 pull requests per uke uten menneskeskrevet kode. Dan går gjennom seks arkitekturkomponenter som gjør dette mulig, fra forhåndsoppvarmede utviklingsmiljøer som starter på sekunder til en sentralisert verktøybod med nesten 500 MCP-verktøy (Model Context Protocol, en standard for å koble AI-agenter til eksterne verktøy og datakilder). Analysen viser hva som skiller produksjonsgrad agentisk utvikling fra uformell AI-assistert koding.

1 300+
AI-skrevne PRs per uke
~500
MCP-verktøy i verktøyboden
3M+
tester kjøres ved hvert push

Agentisk utvikling vs. «vibe coding»

Dan åpner med et skarpt skille mellom to måter å jobbe med AI-kodeverktøy på. Agentisk utvikling (agentic engineering) betyr å kjenne systemet ditt så godt at du kan forutsi hva som vil skje uten å følge med på hvert steg (2:10). «Vibe coding» er det motsatte: å sende en melding til en AI og håpe på det beste (2:16).

Skillet er viktig fordi Stripe håndterer 1,9 billioner dollar i årlig betalingsvolum (0:28). Kodebasen inneholder hundrevis av millioner kodelinjer, mye av det i et uvanlig Ruby-rammeverk med egenutviklede biblioteker som store språkmodeller (LLM-er, Large Language Models) aldri har sett i treningsdataene sine (1:15). Å få AI-agenter til å fungere pålitelig i et slikt miljø krever gjennomtenkt arkitektur, ikke flaks.


Seks komponenter i Stripe sitt agentlag

Dan peker ut seks arkitekturlag som til sammen utgjør det Stripe kaller sin agentplattform (3:07). Hvert lag løser et bestemt problem som knekker de fleste agentoppsett.

1. API-lag: tre veier inn

Utviklere samhandler med Minions via tre grensesnitt: en Slack-integrasjon for raske oppgaver, et kommandolinjegrensesnitt (CLI, Command-Line Interface) for terminalarbeidsflyt, og et nettgrensesnitt for mer omfattende arbeid (3:07). Flere innganger betyr at agentene passer inn i eksisterende arbeidsmåter i stedet for å tvinge utviklere over på et nytt verktøy.

2. Forhåndsoppvarmede utviklingsmiljøer

Hver Minion-kjøring får sitt eget isolerte utviklingsmiljø (dev box), en sandkasse-kopi av Stripe sin kodebase som kjører på AWS EC2-instanser (Amazons skymaskin-tjeneste). Disse miljøene starter på omtrent 10 sekunder (11:15) fordi Stripe holder en pool av ferdigklargjorte instanser klare til bruk.

Utviklere kjører typisk et halvt dusin utviklingsmiljøer samtidig (16:26), der hvert miljø håndterer en ulik oppgave. Dan kaller dette «out-loop»-modus: agenter som jobber helt uten tilsyn i parallelle sandkasser (20:38). Alternativet, «in-loop»-modus, er det kjente mønsteret der utvikleren sitter ved skrivebordet og sender meldinger frem og tilbake (20:03). Stripe sin arkitektur støtter begge deler, men den virkelige gjennomstrømningen kommer fra å kjøre agenter i out-loop.

3. Agentmotor (basert på Goose)

Agentmotoren (agent harness) er kjøretidsmiljøet som utfører hver Minion. Stripe bygget den på Goose, Block sin åpen kildekode-kodeagent (12:22). Motoren håndterer det grunnleggende: lese filer, kjøre kommandoer, styre sammenhengen, og kommunisere med språkmodellen.

Ved å bygge på et eksisterende åpen kildekode-fundament unngikk Stripe å finne opp hjulet på nytt. De fokuserte heller utviklerarbeidet på lagene over motoren, spesielt blueprints og verktøyboden, der de unike behovene deres ligger.

4. Blueprint-motor

Et blueprint (arbeidsflytmal) er en arbeidsflyt definert i kode som styrer en Minion-kjøring (23:39). Blueprints kombinerer forutsigbare steg (steg som alltid kjøres på samme måte) med agentdrevne steg der språkmodellen bestemmer hva den skal gjøre. Dette er det viktigste arkitekturvalget: ikke alt trenger å være agentisk.

For eksempel kan et blueprint forutsigbart sjekke ut riktig gren og laste inn spesifikke kontekstfiler, deretter gi kontrollen til agenten for det kreative arbeidet med å skrive kode, og til slutt forutsigbart kjøre testpakken. Utvikleren bestemmer hvilke steg som krever presisjon og hvilke som drar nytte av fleksibilitet.

Forklart enkelt:

Forklart enkelt: Tenk deg et blueprint som en oppskrift med to typer instruksjoner. Noen steg er eksakte: «Forvarm ovnen til 200 °C» — disse kjøres alltid likt. Andre steg krever vurdering: «Krydre etter smak» — her bestemmer kokken (AI-en) hva den skal gjøre. Stripe sine blueprints fungerer på samme måte: noen steg er fast kode som kjøres identisk hver gang, mens andre lar AI-en ta avgjørelser. I motsetning til en oppskrift styrer blueprintet også hvilke verktøy AI-en har tilgang til og hvor mange forsøk den får.

1

Steg 1 — Design blueprintet

En utvikler definerer en arbeidsflyt som blander forutsigbare kodesteg med agentdrevne steg. Blueprintet angir hvilke kontekstfiler som skal lastes, hvilke verktøy som skal være tilgjengelige, og hvor mange CI-sykluser agenten får.

2

Steg 2 — Start et utviklingsmiljø

Plattformen henter en ferdigklargjort EC2-instans fra poolen. Hele Stripe sin kodebase er tilgjengelig i løpet av sekunder.

3

Steg 3 — Kjør blueprintet

Agentmotoren kjører gjennom blueprintet. Forutsigbare steg kjøres som skrevet. Agentsteg lar språkmodellen lese kode, skrive endringer og bruke verktøy.

4

Steg 4 — CI-validering

Agenten pusher kode, noe som utløser Stripe sin testpakke. Over 3 millioner tester kjøres for å sjekke endringene (14:29). Agenten får maksimalt 2 runder med CI-tilbakemelding for å rette eventuelle feil (14:50).

5

Steg 5 — Åpne en pull request

Hvis CI-testene passerer, oppretter Minion-agenten en pull request (endringsforespørsel) på GitHub. En menneskelig utvikler gjennomgår og godkjenner før sammenslåing.

5. Avgrensede regelfiler

Stripe bruker betinget innlasting for å gi hver Minion-kjøring bare de reglene den trenger (3:38). I stedet for å dytte hele selskapets kodestandarder inn i hvert prompt, er reglene avgrenset til bestemte deler av kodebasen. En Minion som jobber med betalingsinfrastruktur laster andre regler enn en som jobber med dashbordet.

Dette holder promptene fokuserte og reduserer støy, noe som er avgjørende når kodebasen har hundrevis av millioner linjer og språkmodellen aldri har sett Stripe sine egenutviklede biblioteker under trening.

6. Verktøyboden (Tool Shed)

Verktøyboden er Stripe sin sentraliserte interne MCP-server som håndterer nesten 500 verktøy (29:14). Dan beskriver den som et «metaverktøy»: i stedet for å laste hundrevis av verktøydefinisjoner inn i hvert prompt, spør agenten verktøyboden for å oppdage og laste bare det den trenger for den aktuelle oppgaven (29:21).

Forklart enkelt:

Forklart enkelt: Tenk deg verktøyboden som en bibliotekskatalog. En student bærer ikke med seg alle bøkene i biblioteket til lesesalen. Studenten slår opp hvilke bøker som er relevante, henter dem, og lar resten stå i hyllene. Verktøyboden fungerer på samme måte for AI-agenter: den indekserer alle tilgjengelige verktøy og serverer bare de agenten trenger akkurat nå. I motsetning til en vanlig katalog kan verktøyboden også styre tilgangskontroll og bestemme hvilke agenter som får bruke hvilke verktøy.


Hva utviklere kan lære

Dan gir Stripe sitt agentlag 8 av 10 poeng (32:32). To konkrete kritikker peker på områder der arkitekturen kan utvikles videre.

CI-tilbakemeldingsgrensen

Minions får maksimalt 2 runder med CI-tilbakemelding (33:02). Hvis agenten ikke klarer å fikse feilende tester på to forsøk, avbrytes kjøringen. Dan argumenterer for at dette er for begrensende. Flere CI-runder ville la agenter løse vanskeligere problemer, spesielt i en kodebase med 3 millioner tester der feil kan forplante seg på uventede måter.

Motargumentet er kostnad: hver CI-kjøring mot Stripe sin fulle testpakke bruker store mengder datakraft. Stripe valgte trolig 2 runder som en avveining mellom agentkapasitet og infrastrukturkostnad.

Flaskehalsen med menneskelig gjennomgang

Stripe sitt nåværende system krever fortsatt at en menneskelig utvikler gjennomgår og godkjenner hver pull request før sammenslåing (34:02). Dan skyver mot det han kaller Zero Touch Engineering (ZTE, fullautomatisk kodelevering): en fremtid der godt nok validerte endringer går fra prompt til produksjon uten menneskelig gjennomgang (34:29).

For et selskap som håndterer 1,9 billioner dollar i betalinger er det en betydelig tillitsterskel å fjerne menneskelig gjennomgang. Men Dan sitt poeng er retningsgivende: etter hvert som CI-validering og automatisert testing blir bedre, handler den menneskelige gjennomgangen mindre om å fange feil og mer om organisatorisk trygghet.


Bruke mønstrene i eget arbeid

Du trenger ikke Stripe sin skala for å dra nytte av arkitekturen deres. Flere komponenter kan overføres direkte til mindre team og enkeltutviklere.

1

Steg 1 — Start med avgrensede kontekstfiler

Lag regelfiler (som CLAUDE.md eller .cursorrules) som gir AI-kodeverktøyene dine prosjektspesifikk kunnskap. Fokuser på konvensjoner, mønstre og begrensninger som språkmodellen ikke kjenner fra offentlige treningsdata.

2

Steg 2 — Design enkle blueprints

Strukturer agentarbeidsflytene dine som en blanding av forutsigbare og agentdrevne steg. For eksempel: last inn regler og sjekk ut en gren forutsigbart, la agenten skrive kode, kjør deretter tester forutsigbart. De fleste kodeverktøy med agentstøtte tilbyr dette via konfigurasjonsfiler eller skript.

3

Steg 3 — Legg til CI som tilbakemeldingssløyfe

Koble agentens resultat til automatiserte tester. Selv en liten testpakke gir agenten noe å jobbe mot. Agenten skriver kode, tester feiler, agenten leser feilen og prøver igjen.

4

Steg 4 — Kjør agenter parallelt

Hvis oppgavene dine er uavhengige av hverandre, kjør flere agentøkter samtidig. Hver jobber i sin egen gren eller mappe. Dette er «out-loop»-mønsteret som driver Stripe sin gjennomstrømning.


Sjekkliste: Vanlige feil med kodeagenter

Basert på mønstrene Dan beskriver, er dette de vanligste feilene når du setter opp AI-kodeagenter.

  • Dumper du alt inn i ett prompt? Stripe bruker avgrensede regelfiler og en verktøybod spesifikt for å unngå å overbelaste agenten med irrelevant informasjon. Start med det minste agenten trenger for den aktuelle oppgaven
  • Hopper du over CI helt? Uten automatiserte tester finnes ingen tilbakemeldingssløyfe. Agenten har ingen måte å vite om koden fungerer. Selv grunnleggende linting og typesjekkinger gir agenten noe å rette seg etter
  • Kjører du agenter bare i in-loop? Å sitte ved skrivebordet og følge hvert agentsteg begrenser gjennomstrømningen til én oppgave om gangen. Design arbeidsflyten din slik at agenter kan kjøre uten tilsyn i sandkassemiljøer
  • Bruker du et generisk prompt for alle oppgaver? Stripe sin blueprint-motor eksisterer fordi ulike oppgaver trenger ulike arbeidsflyter. En migreringsoppgave trenger andre verktøy og regler enn en feilretting
  • Forventer du at agenter håndterer ukjent kode uten hjelp? Stripe sin kodebase bruker egenutviklede Ruby-biblioteker som språkmodeller aldri har sett. De løste dette med avgrensede regelfiler som lærer agenten om interne konvensjoner. Hvis prosjektet ditt bruker uvanlige mønstre, dokumenter dem for agenten
Husk:

Husk: Stripe bygget ikke dette over natten. De startet med et åpen kildekode-fundament (Goose), la til lag gradvis og forbedret basert på hva som fungerte. Arkitekturen er et resultat, ikke et utgangspunkt.


Praktiske implikasjoner

For enkeltutviklere

Start med kontekstfiler. En velskrevet CLAUDE.md eller prosjektspesifikk regelfil er den enkeltforbedringen som gir størst effekt for AI-koding. Det koster ingenting, tar 30 minutter å skrive, og forbedrer umiddelbart hver agentinteraksjon ved å gi språkmodellen kunnskap om prosjektets konvensjoner.

For team som tar i bruk kodeagenter

Invester i CI-infrastrukturen før du skalerer agentbruken. Stripe sine 3 millioner tester er det som gjør 1 300 ukentlige agentskrevne pull requests levedyktige. Uten sterk automatisert validering betyr mer agentproduksjon bare flere feil å gjennomgå manuelt. Start med testdekningen du har og utvid den etter hvert som agentbruken vokser.

For teknologiledere som vurderer agentplattformer

Se etter blueprint-mønsteret. Plattformer som lar deg blande forutsigbare og agentdrevne steg gir deg kontroll over kvalitetskritiske deler, samtidig som du drar nytte av AI-fleksibilitet. Unngå plattformer som er rent agentiske uten mulighet til å håndheve bestemte steg.

Test deg selv

  1. Arkitektur-avveining: Stripe begrenser Minions til 2 runder med CI-tilbakemelding. Hvis du skulle designet dette systemet, hvordan ville du bestemt riktig antall runder, og hvilke faktorer ville du veid?
  2. Overføring: Stripe sin verktøybod håndterer nesten 500 MCP-verktøy gjennom en sentral katalog. Hvordan ville du brukt dette mønsteret i et helt annet felt, for eksempel et kundestøttesystem med titalls integrasjoner?
  3. Avveining: Blueprints blander forutsigbare og agentdrevne steg. For en databasemigrering, hvilke steg ville du gjort forutsigbare og hvilke ville du overlatt til agenten?
  4. Atferd: Dan argumenterer for at Zero Touch Engineering (fullautomatisk kodelevering uten menneskelig gjennomgang) er fremtiden. Hvordan kan det å fjerne menneskelig gjennomgang endre måten utviklere tenker om testdekning og kodekvalitet?
  5. Arkitektur: Stripe varmer opp utviklingsmiljøer slik at de starter på 10 sekunder. Hva ville brutt sammen i arkitekturen deres hvis dette tok 5 minutter i stedet?

Ordliste

BegrepForklaring
Agentisk utvikling (agentic engineering)Dan sitt begrep for å designe AI-kodesystemer med nok struktur til at du kan forutsi resultater uten å følge med på hvert steg. Det motsatte av å håpe at et prompt skal fungere.
Agentmotor (agent harness)Kjøretidsmiljøet som utfører en kodeagent. Håndterer den grunnleggende sløyfen: lese filer, kjøre kommandoer, snakke med språkmodellen og gjøre endringer. Stripe sin motor er bygget på Goose.
BlueprintEn arbeidsflyt definert i kode som blander forutsigbare steg med agentdrevne steg. Tenk på det som en oppskrift der noen steg sier «tilsett nøyaktig 200 g mel» og andre sier «krydre etter smak».
CI (Continuous Integration)Kontinuerlig integrasjon. Et automatisert system som kjører tester hver gang kode dyttes til kodelageret. Hvis testene feiler, blir ikke koden slått sammen. Stripe kjører over 3 millioner tester ved hvert push.
CLI (Command-Line Interface)Kommandolinjegrensesnitt. En tekstbasert måte å samhandle med programvare ved å skrive kommandoer i en terminal. En av tre måter Stripe-utviklere kan starte en Minion-kjøring.
Dev box (utviklingsmiljø)Et isolert sandkassemiljø der en agent trygt kan lese, skrive og teste kode uten å påvirke hovedkodebasen. Stripe holder en pool av disse ferdigklargjorte og klare til bruk.
EC2Amazon sin skytjeneste for virtuelle maskiner (Elastic Cloud). Stripe bruker EC2-instanser som sandkassemiljøer for hver Minion-kjøring.
Forutsigbart steg (deterministic step)Et steg i et blueprint som alltid kjøres på samme måte, uavhengig av hva AI-en bestemmer. Å sjekke ut en git-gren eller kjøre en testpakke er forutsigbare steg.
GooseEn åpen kildekode-kodeagent bygget av Block (selskapet bak Square og Cash App). Stripe brukte Goose som fundament for sin agentmotor.
In-loopEn arbeidsmodus der utvikleren sitter ved skrivebordet og samhandler med agenten steg for steg. Gir full kontroll, men begrenser gjennomstrømningen til én oppgave om gangen.
LLM (Large Language Model)Stor språkmodell. En AI-modell trent på enorme mengder tekst som kan forstå og lage kode og naturlig språk. «Hjernen» bak kodeagenter som Minions.
MCP (Model Context Protocol)En standard for å koble AI-agenter til eksterne verktøy og datakilder. Stripe sin verktøybod er en MCP-server som håndterer nesten 500 verktøy.
MinionsStripe sitt interne navn på sine AI-kodeagenter. Hver Minion håndterer én oppgave fra start til slutt: lese kode, skrive endringer, kjøre tester og åpne en pull request.
Out-loopEn arbeidsmodus der agenter kjører helt uten tilsyn i parallelle sandkasser. Utvikleren sender ut oppgaver og gjennomgår resultatene etterpå. Det er her de store gjennomstrømningsgevinstene ligger.
PR (Pull Request)Endringsforespørsel. En forespørsel om å slå sammen kodeendringer inn i hovedkodebasen. Andre utviklere gjennomgår endringene før godkjenning. Stripe sine Minions oppretter PRs automatisk etter at CI-testene passerer.
Avgrensede regelfiler (scoped rule files)Kontekstfiler med kodestandarder og konvensjoner for bestemte deler av en kodebase. Lastes bare når agenten jobber i det området, noe som holder promptene fokuserte.
Varm pool (warm pool)En samling ferdigklargjorte utviklingsmiljøer som holdes klare til umiddelbar bruk. Som å ha leiebiler med motoren i gang på parkeringsplassen i stedet for at kundene må vente på at motoren skal starte.
Verktøybod (Tool Shed)Stripe sin sentraliserte MCP-server som indekserer og serverer nesten 500 verktøy. Agenter spør verktøyboden for å oppdage hvilke verktøy som er relevante for den aktuelle oppgaven, i stedet for å laste alle verktøy på én gang.
Vibe codingDan sitt begrep for å sende et prompt til en AI og håpe på gode resultater uten å forstå det underliggende systemet. Det motsatte av agentisk utvikling.
ZTE (Zero Touch Engineering)Fullautomatisk kodelevering. En fremtidsvisjon der godt nok validert kode går fra prompt til produksjon uten menneskelig gjennomgang. Ikke tatt i bruk hos Stripe ennå.

Kilder og ressurser