Gå til innholdet

@-nevn agenter

Denne veiledningen viser deg hvordan du @-nevner agenter og teamkamerater i et område.

Skriv @ i skrivefeltet og velg en agent fra autofullføringen, eller skriv navnet selv:

@alice fix the login bug

Den nevnte agenten legges til i området som deltaker hvis den ikke allerede er det, og sendes ut med områdets kontekst og modus. Deltakere som ikke er nevnt, ser meldingen, men blir ikke sendt ut.

Hvis du sender en melding der ingen agent er nevnt, velger Control Center selv en som skal svare: agenten som sist snakket i samtalen, ellers samtalens eier når den har en, ellers den første agenten på toppnivå blant områdets deltakere. I et område med én agent er det alltid den eneste agenten.

Et omtaletoken matches uten hensyn til store og små bokstaver, etter eksakt navn eller prefiks. Så @arch treffer en agent som heter architect, og @Alice treffer alice.

To konsekvenser det er verdt å ta høyde for:

  • Et kort token er ikke en feil. Hvis to agenter deler et prefiks, vinner den første som blir funnet, og hvilken det er, avhenger av rekkefølgen — ikke av noen regel for å avgjøre likhet. Bruk det fulle navnet når navn overlapper.
  • Bare bokstaver, sifre og understreker er en del av et token. Parseren matcher @(\w+), så @code-reviewer leses som tokenet code og @my agent som my. En agent hvis navn inneholder en bindestrek, et punktum eller et mellomrom, kan ikke nevnes pålitelig — heller ikke gjennom autofullføringen, som setter inn navnet som ren tekst. Gi agenter navn i ett ord, eller med understreker.

Omtaler fjernes fra teksten før den når agenten. En melding som bare består av omtaler (@alice), utløser derfor ingen utsending — gi den noe å gjøre.

@alice refactor the auth module. @bob write tests for it.

Begge agentene sendes ut parallelt i den samme samtalen, og begge mottar hele meldingen.

De deler også områdets worktreer. Repo-worktreer klargjøres per område, ikke per agent; hver agent får sin egen overlay-arbeidskatalog for sin AGENTS.md, sine skills og sin konfigurasjon, med de delte repoene koblet inn med lese- og skrivetilgang. Så to agenter som nevnes sammen, kan se — og kollidere med — hverandres endringer.

Ethvert @token som ikke matcher en agent, prøves mot arbeidsområdets menneskelige medlemmer, etter brukernavn, med den samme regelen om eksakt navn eller prefiks, uten hensyn til store og små bokstaver.

En omtale av et menneske som løses opp, sender ikke ut noe. Den ligger bare på meldingens metadata, slik at varselruteren kan sende den personen et varsel.

Agentnavn prøves alltid først, og et token som en agent har tatt, tilbys aldri medlemslisten — ett @word kan aldri løses opp til mer enn én principal.

En agent som sendes ut, får en «Summons»-blokk i prompten sin som navngir hvem som tilkalte den, og som lister opp områdets deltakeroversikt — de andre agentene (merket som på toppnivå eller underordnet) og de menneskelige medlemmene — slik at den vet hvem den kan overlate arbeid til. Blokken forteller den også at det å nevne en annen agent i svaret vekker den agenten, og at det å nevne seg selv blir ignorert.

En agent kan overlate arbeid i sitt eget svar. Når en tur avsluttes rent, løses omtalene i teksten opp, og de agentene legges til i området og sendes ut i den samme samtalen, med turen som nevnte dem, som prompt. En tur som mislyktes eller ble avbrutt, vekker ingen — den stoppet midt i en tanke.

Reglene er bevisst strengere enn skrivefeltets, fordi ingen følger med og retter opp en feil gjetning:

  • Bare eksakte navn. Ingen prefiksmatching. @arch treffer architect når et menneske skriver det; fra en agent treffer det ingen. Et navn som matcher to agenter, treffer heller ingen.
  • Kode er ikke prosa. Omtaler inne i inngjerdede blokker eller `backticks` ignoreres, så det er trygt å sitere en @Override-annotasjon eller en pip install foo@1.2. En inngjerding uten avslutning fjerner alt etter seg.
  • En @ som er klistret til forrige token, er ingen omtale — sam@host.com, pkg/@scope og node@20 løses ikke opp til noen.
  • Bindestreker beholdes, så @code-reviewer løses opp som seg selv i stedet for som tokenet code.
  • Høyst tre agenter per tur. En agent som lister opp seks teamkamerater i et sammendrag, lister dem opp — den tilkaller dem ikke.

En vekkekjede er begrenset på samme måte som delegering: dybde 3, og en agent som allerede er i kjeden, kan ikke vekkes på nytt av den (ingen A → B → A). Et ordnet par er også underlagt en rategrense på tvers av kjeder. En avvist vekking legger inn en systemmelding i samtalen som sier hvilken omtale som ikke ble levert, og hvorfor — et navn som ikke løses opp, gjør det ikke, siden enhver @ i en setning ellers ville fortalt om seg selv.

For en overlevering som ikke må avhenge av prosa — en forespørsel/svar, eller å nå en agent utenfor området — bruk verktøyene send_to_agent, ask_agent og delegate_task i stedet.