Karriär · Agentbaserad AI · Bygg först

    Agentbaserad AI och bygg-först-leverans

    Vi anställer människor som vill bygga med agenter — inte bara använda dem. Från PRD till granskad PR kör specialiserade AI-agenter implementation och verifiering. Människor äger prioritering, kvalitet och beslut. Hemtjänst är det svåra, verkliga området där flödet måste hålla.

    Caire agentbaserad AI, bygg-först-leverans och produktkontext

    Vårt sätt att bygga

    Bygg först betyder: plan före kod, små vertikala leveranser, spårbarhet och mänskligt ansvar före automatisering — samma kontinuerliga lärandeloop som produkten själv.

    Plan före kod

    Vi skriver ner mål, risker och användarvärde innan vi låter agentflöden implementera.

    Verifiering i varje steg

    AI kan producera mycket, men kod, design, innehåll och dataflöden granskas som produktarbete.

    Verklig verksamhet, höga insatser

    Hemtjänst är platsen där flödet måste fungera i verkligheten: planerare, vårdgivare, klienter och anhöriga — inte en demosandlåda.

    Små vertikala leveranser

    Vi föredrar användbara förbättringar som går att testa, mäta och förbättra framför stora, svårgranskade språng.

    Leveransmandat

    Människor definierar vad. Agenter utför hur.

    Produktägare skriver en PRD med förändring, framgångsmått och icke-mål. Darwin kör sedan preflight, intake, scope, en native implement-session (spec + tester + kod + dossier), verify och den externa granskningsloopen. Människor godkänner beviset före merge.

    Polstjärna

    Funktioner per sekund per dollar

    Vi mäter tiden från att en PRD tas in till att PR:n lagts in i main, modellkostnad per levererad funktion och token-effektivitet. Poängen är inte att ersätta produktbedömning — det är att ta bort onödiga överlämningar i arbete som redan är specificerat.

    Arbetsflöde

    Åtta steg, från PRD till PR

    Varje steg producerar en kontrollerad artefakt. Nästa steg vägrar starta utan den, så pipelinen blir ett enkelriktat kontrakt från produktavsikt till ändring i main. Steg och verktyg utvecklas — se detta som aktuell kontraktsform, inte permanent lag.

    #StegUtdataÄgare
    0PreflightMiljö och auth verifieras innan modellkostnad uppstårOrchestrator
    1IntakeWorktree, branch, install + generateOrchestrator
    2PRDValiderad frontmatter + readinessMänniska (skrev) / runner
    3ScopeFinns något kvar att bygga? (~$0.16)Scope-kontroll
    4ImplementSpec + tester + kod + dossier i en sessionNative executor
    5VerifyRepo-kontroll grön + acceptanstäckningOutcome-kernel
    6GranskningsloopPush, PR, Codex/CodeRabbit avgjordaReviewer-loop
    7Godkänn + mergeMänskligt godkännande → gh merge --autoMänniska + merge-kö

    Fördjupning

    Så fungerar leveransmodellen i detalj

    Varje del av arbetsflödet visas som en bit av samma modell, så kandidater och partners ser hur strategi, implementation, verifiering och granskning hänger ihop.

    Vision och mandat

    Uppgiften är att korta vägen från produktavsikt till verifierad förändring — utan att ta bort ansvar. Börja här: människor äger prioritering, kvalitet och beslut.

    KällaJobbeskrivningenOm CaireRollen

    Agentroller och modellroutning

    Arbetsflödet delar ansvaret mellan Architect, Editor, Reviewer, Verifier och Orchestrator. Rollen styr vilken modell som används utifrån uppgift, kostnad, risk och sammanhang.

    De fem rollernaKostnadsmotiveringRoutningsmatrisAnsvar per roll

    Darwin som orkestrerare

    Darwin är en tunn intern Node-loop som håller ihop intag, arbetskö, status och bevis. Den ska vara enkel, observerbar och möjlig att byta ut i delar.

    Flöde från början till slutEn enda orkestrerareOrchestrator-runtimeRunner-resilience

    Darwins komponentkarta

    Kartan skiljer på vad PRD-till-PR-pipelinen använder, vad som är parkerat och vad som ligger i den prioriterade byggkön.

    Används av PRD-till-PR-pipelinenParkeratSaknasTelegram-routing

    Modell- och leverantörsoberoende

    Adapterformen gör att arbetsflödet kan byta modell utan att låsa produktprocessen till en leverantör eller ett enda gränssnitt.

    RegelnAdapterformenVad detta utesluterVad detta tillåter

    Specen som kontrakt

    Spec betyder testbara acceptansscenarier, inte lösa önskemål. Gherkin och en done-contract-grind minskar spec-drift mellan PRD, test och implementation.

    GherkinDone-contract-grindEn enda källa till sanningSpec-drift

    Granskningsåterkoppling

    Granskningsloopen hämtar synpunkter från externa granskare, klassar allvarlighet och skickar tillbaka en idempotent åtgärdslista till editorn.

    HämtningenAllvarlighet → åtgärdTillbaka till editornKortslutning

    Skala eller stäng av

    Automatisering får bara skalas när bevis, kostnad och kvalitet håller. Annars ska den kunna stoppas eller rullas tillbaka.

    SkalaStäng avAuto-promoteraAuto-rulla tillbaka

    Genomströmning och affärssignaler

    Måttet funktioner per sekund per token används tillsammans med kostnad, kvalitet och affärssignaler för att se om flödet faktiskt förbättrar leveransen.

    Funktioner per sekund per tokenVar det loggasVem läser detAffärssignaler

    Verifiering och bevis

    Varje leverans ska lämna spår: trace.zip, screenshot.png, console.log, testutdrag och en kort sammanfattning av vad artefakten bevisar.

    wiki/raw/dossiers/<feature>/trace.zipscreenshot.pngconsole.log

    Vanliga frågor för kandidater

    Vad menar Caire med agentbaserad AI och bygg först?
    Bygg först betyder att produktavsikt skrivs som PRD, agenter kör implementation och verifiering, och människor godkänner bevis före merge. Agentbaserad AI här är specialiserade roller (architect, editor, reviewer, verifier, orchestrator) — inte en chattassistent.
    Behöver jag hemtjänsterfarenhet för att söka?
    Nej. Vi rekryterar AI-byggare och produktingenjörer som vill arbeta med agentflöden. Hemtjänst är området där vi bevisar flödet; nyfikenhet på verkliga användare väger tyngre än antal år i branschen.
    Är pipelinen på sidan den definitiva sanningen?
    Nej. Vi itererar implementationen snabbt. Sidan beskriver principer och ett aktuellt snitt — ta inte diagram och steg som oföränderlig dokumentation.

    Vill du se pipelinen på nära håll?

    Tolv guider beskriver varje steg i detalj: vision och mandat, agentroller, dossier-mönstret, granskningsloopen och orkestreraren som binder ihop allt.

    Caire Core

    Produkten vi bygger och sättet vi bygger på delar samma filosofi: spåra vad som ändras, lär av utfall och låt människor vara ansvariga för viktiga beslut.

    Fördjupning

    Så fungerar arbetsflödet i praktiken

    Produktdetalj

    Människor definierar vad. Agenter utför hur.

    Arbetsflödesdiagram

    Diagram 1

    Loading diagram...

    Diagram 2

    Loading diagram...

    Diagram 3

    Loading diagram...
    Arbetsflöde

    Människor definierar vad. Agenter utför hur.

    CAIREs leveransmodell är en agentbaserad pipeline från PRD till PR. En människa skriver en produktbeskrivning. Specialiserade AI-agenter tar hand om spec, tester, implementation, granskning och verifiering. Människan godkänner en skärmbild. Beräkningskapacitet är flaskhalsen — inte antalet anställda.

    Från en mening till levererad mjukvara. Människan dyker bara upp på två ställen: när PRD:n skrivs, och när dossier-skärmbilden godkänns.

    Mandatet

    Det agentbaserade arbetsflödet är inte "AI-stöd för utvecklare". Det är leveransmodellen. Fyra åtaganden gör det tydligt.

    Människor definierar vad och varför. Agenter utför hur.

    Produktägare skriver PRD. Pipelinen tar den därifrån — spec, tester, kod, granskning, dossier, merge — utan att en människa sitter mitt i något steg.

    Verktygs- och modelloberoende.

    Varje modellanrop går via en adapter. Valet av modell är konfiguration, inte kod. När en bättre eller billigare modell kommer är bytet en kvartalsöversyn — inte en refaktorering.

    Om det fungerar, skala automatiskt. Om det inte gör det, släck automatiskt.

    Mätningar efter merge trappar upp en funktion från 1 % till 100 %. Försämring rullar tillbaka flaggan. Beslutet är mekaniskt — människor behöver inte säga "okej, rampa det här".

    Leverans kopplad till affärssignaler.

    Kassaflöde, intäkter och förbrukning är systemingångar. Orchestratorn vägrar starta en dyr körning om dagens budget är slut. Ingen behöver manuellt "dra åt svångremmen".

    Polstjärnan: funktioner per sekund per dollar

    Varje arkitekturbeslut i pipelinen mäts mot en fråga: ger det fler funktioner per sekund, per dollar (och per token)? Absolutvärdet är medvetet litet. Det som räknas är trenden.

    Funktioner per sekund

    Klocktid från att en PRD tas in till att PR:n lagts in i main. Att korta den tiden betyder att parallellisera steg, cacha specifikationer och ta bort onödiga mänskliga rundor. Varje levererad funktion landar som en rad i .compound-state/agent-service.db med sin förflutna tid.

    Per dollar

    Total modellkostnad över alla åtta steg, per PR som lagts in i main. Billigare leverantörer, mindre modeller för enklare uppgifter, batch-API:er och prompt-cachning — varje hävstång pekar hit. Orchestratorn vägrar körningar vars beräknade kostnad skulle överskrida dagens budget.

    Per token

    Totala in- och ut-tokens i pipelinen, per PR som lagts in i main. Ju renare specifikation och ju snävare dossier-kontrakt, desto färre tokens bränner editorn på iteration. Tokens är en tidig indikator på kostnad.

    Trenden spelar roll

    En optimeringsagent (mathematician) läser genomströmningsloggen varje vecka och föreslår ändringar i modellvalet — annan modell per roll, annan batch-storlek, annan cachstrategi. CPO/CTO-agenten godkänner. Mätvärdet får bara förbättras.

    Den här sidan följer mätvärdet. Nya vinster i modellval, nya agentpromptar, nya dossier-format — varje förbättring som lyfter funktioner-per-sekund-per-dollar landar här som en uppdatering.

    Åtta steg, från PRD till PR

    Varje steg producerar en kontrollerad artefakt. Nästa steg vägrar starta utan den. Pipelinen är ett kontinuerligt flöde, inte en checklista — varje steg lämnar över ett typat resultat.

    Återstart: verify och granskningsloopen kan skicka tillbaka till implement (max 3 cykler). Merge körs bara efter mänskligt godkännande — inte i den obevakade körningen.

    Kontraktet är skarpt: ingen dossier, ingen merge . Varje stegs utdata är en typad, sparad artefakt som nästa steg läser — och som en människa, en revision eller en framtida agent kan spela upp.

    Vem dyker upp var

    Det agentbaserade arbetsflödet får inte människor att försvinna — det gör dem strategiska. Varje roll har en eller två snäva ställen att kliva in. Allt annat är mjukvara.

    Produktägare / PM

    Definierar vad och varför Skriver PRD:n i wiki/plans/ med ett framgångsmått och explicita icke-mål. Godkänner (eller avvisar) dossier-skärmbilden före merge. Sätter den försämringströskel som skala-eller-släck bevakar efter merge. 💻

    • Skriver PRD:n i wiki/plans/ med ett framgångsmått och explicita icke-mål.
    • Godkänner (eller avvisar) dossier-skärmbilden före merge.
    • Sätter den försämringströskel som skala-eller-släck bevakar efter merge.

    Utvecklare

    Granskar — skriver inte Läser den autogenererade specifikationen och letar efter avvikelser från PRD:n. Bemöter P2-granskningskommentarer med motivering när agenten har fel. Underhåller agentpromptar och modelladaptern — kod om hur kod skrivs. 🛠️

    • Läser den autogenererade specifikationen och letar efter avvikelser från PRD:n.
    • Bemöter P2-granskningskommentarer med motivering när agenten har fel.
    • Underhåller agentpromptar och modelladaptern — kod om hur kod skrivs.

    DevOps / SRE

    Äger infrastrukturen Driftar Darwin (orchestrator-runtime), launchd-jobb och merge-kön. Bevakar genomströmningsloggen: kostnad per PR i main, funktioner per sekund per token. Godkänner modellbyten från optimeringsagentens (mathematician) veckoförslag. 🧪

    • Driftar Darwin (orchestrator-runtime), launchd-jobb och merge-kön.
    • Bevakar genomströmningsloggen: kostnad per PR i main, funktioner per sekund per token.
    • Godkänner modellbyten från optimeringsagentens (mathematician) veckoförslag.

    QA / Testare

    Skriver reglerna, inte testfallen Underhåller Gherkin-mönstren som Test-writer-agenten bygger ifrån. Granskar dossierns summary.json efter hoppade scenarier eller tomma Playwright-traces. Äger grinden "ingen dossier, ingen merge" — det enda orchestratorn inte kan hoppa över. 📈

    • Underhåller Gherkin-mönstren som Test-writer-agenten bygger ifrån.
    • Granskar dossierns summary.json efter hoppade scenarier eller tomma Playwright-traces.
    • Äger grinden "ingen dossier, ingen merge" — det enda orchestratorn inte kan hoppa över.

    Investerare / Styrelse

    Följer hävstången Följer hur kostnad per PR i main sjunker månad för månad medan modellvalet stramas åt. Följer funktioner-per-sekund-per-token som hävstångsmått — oberoende av rekrytering. Godkänner kvartalsvisa beslut om modellval; väljer inte modeller själv. 🔍

    • Följer hur kostnad per PR i main sjunker månad för månad medan modellvalet stramas åt.
    • Följer funktioner-per-sekund-per-token som hävstångsmått — oberoende av rekrytering.
    • Godkänner kvartalsvisa beslut om modellval; väljer inte modeller själv.

    Kundutvärderare

    Granskar spåret Inspekterar wiki/raw/dossiers/<funktion>/ på en PR i main — full Playwright-trace, skärmbild, konsollogg. Läser PRD-frontmatter för att koppla en levererad funktion tillbaka till den ursprungliga beskrivningen. Verifierar leverantörsoberoende genom att läsa konfigurationen för modellval — ingen leverantörsbindning att ärva.

    • Inspekterar wiki/raw/dossiers/<funktion>/ på en PR i main — full Playwright-trace, skärmbild, konsollogg.
    • Läser PRD-frontmatter för att koppla en levererad funktion tillbaka till den ursprungliga beskrivningen.
    • Verifierar leverantörsoberoende genom att läsa konfigurationen för modellval — ingen leverantörsbindning att ärva.

    Vad som levereras på det här sättet

    Pipelinen riktar in sig på stadig produktutveckling — arbetet som i ett traditionellt team fyller standup-möten och sprintar. Större arkitektoniska drag får fortfarande en mänskligt ledd plan.

    Leverera en UI-funktion

    En ny banner, en ny sida, en formvariation. PRD:n namnger acceptansscenarierna; pipelinen skriver Vitest- och Playwright-tester; Editor implementerar; Verifier fångar skärmbildsdossiern.

    Fixa en resolver-bugg

    PRD:n ramar in buggen som ett misslyckandescenario. Test-writer bygger om det till tester; Editor fixar; resolver-reviewer och perf-reviewer fångar N+1-försämringar innan PR:n öppnas.

    Lägg till en mätning

    Genomströmningsrad, KPI-ruta, dashboarddiagram. Specen namnger datakällan; tester verifierar formen; dossiern visar att mätningen renderas med realistisk seed-data.

    Rotera en modell

    Kvartalsvis: optimeringsagenten (mathematician) föreslår ett modellbyte utifrån kostnad, godkännandegrad och latens. CPO/CTO-agenten godkänner. En config-ändring; adaptern tar resten.

    Uppdatera en wikisida

    Granskningsomgång lik den här agentarbetsflödesgranskningen: hitta avvikelse, fixa dokumentet, kör yarn wiki:lint , leverera. PR:er som bara rör wikin använder samma åtta steg med en lättare verifiering.

    Hypotetiskt exempel: utöka en extern gräns

    Ett tänkt externt dataflöde beskrivs först i en PRD. Tester täcker gränssnittet och dossiern visar vad som faktiskt verifierats. Exemplet beskriver utvecklingsmetoden — inte en färdig integration eller produktkatalog.

    Vad håller det på rätt spår

    Autonoma loopar utan skyddsräcken är hur AI-projekt bränner budgetar och levererar försämringar. Varje steg i pipelinen har skydd. Editor-agenten sitter i centrum, omgiven av mekanismer som kan sakta ner den, styra om den eller stoppa den helt.

    Åtta oberoende skyddsräcken. Inget enskilt stoppar buggar ensamt; tillsammans gör de autonom leverans säker nog att människans enda obligatoriska handling är att läsa en skärmbild.

    Spec är kontraktet

    Editor kan inte leverera beteende som specifikationen inte namnger. Avvikelse mellan PRD och spec är i sig ett P2-fynd för verifier — och specifikationen är kort nog att rymmas i varje agents kontext, så avvikelse alltid går att bevisa.

    Iteration är begränsad

    MAX_ITERATIONS = 8 på editorns inre loop, plus max 3 återstartscykler från granskning eller Codex-feedback. När taket nås visar körningen felet för en människa — den mal aldrig vidare.

    Kostnad är begränsad — när du slår på det

    Den valfria flaggan PIPELINE_BUDGET_ENFORCEMENT (av i pilot, på när intäkterna är verkliga) stoppar fler modellanrop när kostnaden per körning skulle överskrida taket. I pilot är människan enda PRD-producenten, så kostnaden är implicit begränsad.

    Ingen dossier, ingen merge

    En grön CI-körning är nödvändig men inte tillräcklig. Dossiern — Playwright-trace, slutskärmbild, konsollogg och maskinläsbar sammanfattning — bevisar att funktionen faktiskt renderades. Granskare kan spela upp tracet; människan ser skärmbilden.

    Tre vägar in i loopen

    Samma pipeline, tre sätt att gå in. Välj vägen som passar stunden — en PRD i versionskontroll, ett formulär i Dashboard eller ett meddelande i Telegram. Varje väg ger samma dossier och samma merge-beslut.

    Filbaserad PRD

    Skriv wiki/plans/<funktion>-ÅÅÅÅ-MM-DD.md , skapa en isolerad worktree med ./scripts/git/worktree-add.sh , så körs pipelinen mot den grenen. Reviewer-subagenter granskar diffen, verifier fångar dossiern och merge-kön landar PR:n. Bäst för utvecklare som levererar i versionskontroll.

    Darwin Dashboard

    Klistra in en PRD-sökväg, klicka start och följ pipelinens framsteg på localhost:3010 . Dossiervisaren visar skärmbild, konsollogg och maskinläsbar sammanfattning direkt. Godkänn / Avvisa är en knapp — ingen omväg via GitHub. Bäst för produktägare som vill ha ett UI, inte ett CLI.

    Telegram

    Skicka en PRD-länk till interface-agent . Samma backend kör pipelinen; dossier-skärmbilden skickas tillbaka till samma tråd. Svara godkänn så sker merge. Den lättaste vägen — ett meddelande och en bild. Bäst för grundaren som läser på telefonen mellan möten.

    Varför det fungerar

    Pipelinen bygger på tre öppna mönster och en disciplin. Inget här är specialbyggt bara för att vara specialbyggt.

    Aiders uppdelning architect/editor

    En dyr resonemangsomgång producerar specifikationen; många billiga redigeringsomgångar implementerar mot den. Ungefär 1/14 av kostnaden för att köra varje anrop på resonemangsmodellen — kostnadsdrivaren är editorn, inte arkitekten.

    Spec-driven utveckling (Gherkin)

    Vanligt språk är för oprecist för att styra flera agenter. Acceptansscenarier i Gherkin är korta nog att rymmas i varje agents kontext, precisa nog att bli fallerande tester — och sökbara med grep.

    Playwright-dossier (ingen dossier, ingen merge)

    En grön CI-körning är nödvändig men inte tillräcklig. Dossiern — trace, skärmbild, konsollogg och maskinläsbar sammanfattning — bevisar att funktionen faktiskt renderades, i en riktig webbläsare, i det tillstånd specifikationen namngav.

    Granskningsloop

    Externa granskningsbotar (Codex, CodeRabbit) postar kommentarer efter varje push. Pipelinen hämtar dem, behandlar P1/P2 som fallerande tester och startar om editorn automatiskt. Disciplinen är obligatorisk.

    Comparison table

    #StegUtdataDrivs av
    0Preflight Bevisa git/gh-auth och ett riktigt 1-token-modellanrop innan någon kostnad tas.Miljö OK eller BLOCKED-ENV .Orchestrator
    1Intake Skapa isolerad worktree, branch, install + generate.Worktree redo.Orchestrator
    2PRD Människa har skrivit planen; runner validerar frontmatter + readiness.wiki/plans/<funktion>-ÅÅÅÅ-MM-DD.mdMänniska (skrev) / runner
    3Scope Billig fråga: finns ofärdigt kodarbete kvar? (~$0.16).Bygg vidare, eller retire till wiki/plans/shipped/ .Scope-kontroll
    4Implement En native Claude-session: Acceptance Contract, tester först, kod, självgranskning, dossier.Kod + wiki/specs/ + wiki/raw/dossiers/ i worktree.Native executor
    5Verify Outcome-kernel: artefakter finns, sedan repoets egen kontroll.yarn verify:changed grön + acceptanstäckning.Outcome-kernel
    6Reviewer-loop Rebase, push, PR; polla Codex/CodeRabbit; P1/P2 skickar tillbaka till implement.Öppen PR med avgjorda fynd.Reviewer-loop
    7Approve + merge Människor godkänner dossiern; först då körs merge.gh pr merge --auto --squash via /approve .Människa + GitHub Merge Queue