Gå til innholdet

Kjør agenter parallelt

Denne veiledningen viser deg hvordan du kjører flere agenter samtidig uten at de overskriver hverandre.

Når arbeid starter i et område, klargjør Control Center én copy-on-write-checkout per registrerte repo under områdets egen rot, på en gren utledet fra arbeidsområdets mal for grenavn. Hver agent i området får deretter sin egen overlay-arbeidskatalog – men overlayoutene deler områdets repos/-katalog.

Altså:

  • To agenter i forskjellige områder jobber i forskjellige checkouts, på forskjellige grener. Det er ekte isolasjon.
  • To agenter i samme område jobber i samme checkout, på samme gren. Overlay-stiene deres er forskjellige, så låsen for utsendingsbanen (som bare serialiserer kjøringer når de ber om nøyaktig samme arbeidskatalog) serialiserer dem heller ikke. De kan skrive til de samme filene samtidig.

Regelen som følger: ett område per parallelle oppgave.

  1. Åpne et område med agent A og send den en oppgave.
  2. Åpne et nytt område med agent B og send den en annen oppgave.
  3. Begge sendes ut umiddelbart, hver i sin egen område-checkout på sin egen gren.

Dette er oppskriften du bruker hver gang agentene skal redigere filer.

I ett enkelt område kan du @-nevne mer enn én agent:

@alice refactor the auth module. @bob review what alice lands.

Begge agentene sendes ut parallelt og strømmer inn i det samme området, merket med avsender. Siden de deler områdets checkout, bør du bruke dette til samarbeid – én som skriver, én som leser, eller to agenter som resonnerer om det samme treet – ikke til to uavhengige redigeringer.

Den innebygde malen pr_review er det ferdigleverte eksempelet på en fan-out: flere reviewer-noder kjører samtidig fra én utløser, og en Consolidate (join)-node samler funnene deres i én rapport. Kjør den fra pipelines-skjermen, og hver reviewer sendes ut parallelt.

Pipeline-editoren skjuler terminalvaktposten og kobler den om til å vente på hvert levende sluk når du legger til eller kobler sammen et steg, slik at grener du tegner selv, faktisk kjører.

Observabilitet → Live (nederst i sidestolpen → Observabilitet, deretter fanen Live) viser agentlisten i dette arbeidsområdet, som tikker på nytt hvert sekund: status (kjører / inaktiv / parkert / avbrutt), hva hver enkelt holder på med, tokens og kostnad for den siste kjøringen, og en avslutt-kontroll for en kjørende prosess. Velger du en rad, festes en skuff med live-transkript.

Innstillinger → Arbeidsområde → Agenter viser den samme listen med et annet statusvokabular der oppmerksomhet kommer først, utledet fra hver agents kjørehistorikk – kjører, blokkert, mislyktes, inaktiv, aldri kjørt – sortert slik at alt som trenger oppmerksomhet, flyter til toppen. Fanen Logger for hver agent inneholder dens egen kjørehistorikk.

Begge flatene er avgrenset til det aktive arbeidsområdet.

På tvers av områder ligger hvert område på sin egen gren, så en kollisjon dukker opp som en vanlig Git-sammenslåingskonflikt når du slår sammen den andre pull requesten. Løs den slik du ville løst enhver sammenslåingskonflikt.

Inne i ett område finnes det verken noen grense mellom grener eller noen lås: agentene skriver til de samme filene fortløpende, og den som taper, blir rett og slett overskrevet. Hvis du oppdager at du vil at to agenter skal redigere i ett område, del arbeidet i to områder i stedet.

Slik reduserer du kollisjoner i begge tilfeller:

  • Gi hver agent et eget ansvarsområde – forskjellige filer, forskjellige moduler.
  • Bruk kodegrafen til å sjekke hva en endring berører, før du sender ut. Se Søk i kode med kodegrafen.
  • Gjennomgå og slå sammen hver agents pull request raskt.

Hver kjørende agent koster:

  • En område-checkout – ubetydelig på disk så lenge copy-on-write er tilgjengelig; på Windows en git worktree. Et filsystem som ikke kan reflinke, feiler klargjøringen i stedet for å kopiere.
  • En prosess på serververten
  • Modelltokens, som akkumuleres per agent

Kostnadene lander i Observabilitet → Innsikt. Merk at en vanlig interaktiv runde ikke har noe forbrukstak; se Administrer kostnader for de to kommandoene som har det.