Gå til innholdet

Chat med en agent

Denne veiledningen viser hvordan du jobber med en agent i et område.

  1. Gå til Områder i sidestolpen
  2. Klikk +-knappen ved siden av overskriften Områder
  3. Skriv inn et navn — dette er påkrevd. Et tomt navn avvises; dialogen blir stående åpen
  4. Legg eventuelt til agenter fra arbeidsområdet
  5. Hvis arbeidsområdet har noen repoer, vises en repovelger. Den starter med alle repoer valgt; begrens den (også ved å velge bort et enkelt repo) til repoene dette området skal klargjøre worktrees for
  6. Bekreft

Control Center åpner området og begynner i bakgrunnen å klargjøre et copy-on-write-worktree per valgt repo.

Skriv meldingen din i skrivefeltet og trykk Enter. Agenten sendes ut og begynner å strømme svaret sitt.

Hvis området fortsatt klargjøres, parkeres meldingen din i stedet for å gå tapt — skrivefeltet holder på den og sender den automatisk så snart worktreene er klare.

Mens agenten jobber, ser du turen strømme inn: resonneringssegmenter, verktøykall (fillag, skrivinger, skallkommandoer) og svartekst, alt inne i én melding for agentturen.

Mens en agent jobber, kølegger vanlig samtaletekst ikke en ny tur. Den blir et kølagt styringskort i stripen over skrivefeltet og injiseres i den aktive kjøringen ved neste turgrense. Det kommer ingen toast — kortet er tilbakemeldingen.

Tre ting endrer denne atferden:

  • En melding som inneholder en @-omtale, sendes alltid som en melding, aldri som styring
  • En melding som begynner med en skråstrekkommando, håndteres alltid som den kommandoen
  • En melding med et vedlegg sendes alltid som en melding — styringskøen er bare tekst
  • Hvis hver aktive kjøring allerede er ferdig, faller teksten gjennom og sendes som en vanlig melding

Når en agent treffer en handling som tillatelsesreglene setter bak porten — en destruktiv kommando, et privilegert verktøy — blokkerer serveren kjøringen og publiserer en godkjenningsforespørsel til hver tilkoblet klient. Hvis du har den samtalen åpen, vises forespørselen i chatten, over skrivefeltet, som det samme kortet med nummererte valg som brukes for ask_user (nekt, godkjenn og eventuelt godkjenn i åtte timer). Det finnes ingen «hopp over»: en blokkert agent venter på en beslutning.

Hvis du er et annet sted i appen, viser et panel som alltid ligger øverst i skallet, fortsatt hva som venter, slik at du kan låse opp agenten uten å lete etter området. Overlegget skjuler en forespørsel i det øyeblikket områdets samtale er synlig på skjermen, så du svarer aldri på samme prompt to ganger.

Det finnes ingen tidsavbrudd: en blokkert agent venter til noen bestemmer seg. Den samme forespørselen vises også i oppmerksomhetsstripen i innboksen og i telefonklienten.

En agent som trenger en preferanse, et manglende krav eller et reelt veiskille, må kalle ask_user. Å skrive spørsmålet som en chatmelding avslutter turen, og du må prompte på nytt. Verktøyet viser et kort med nummererte valg i samtalen — alternativer, valgfri fritekst eller begge — og kjøringen venter på svaret ditt.

Trykk på ett enkelt alternativ for å sende det (tallet bakerst blir en pil når du holder pekeren over). Flervalg og skrevne svar bruker Fortsett (⌘↵ / Ctrl↵). Hopp over ber agenten velge et rimelig standardvalg og ikke spørre igjen.

Det er en egen mekanisme, forskjellig fra godkjenningskortet over: en godkjenning er «får jeg lov til dette?», et spørsmål er «hvilken av disse mente du?». Å spørre er tilgjengelig på det innebygde harnesset i alle moduser, også de skrivebeskyttede (det endrer ingenting), og det er bevisst ikke pakket inn i en godkjenningsprompt — en dialog foran en dialog ville feile lukket når ingen godkjenner er tilkoblet. En kjøring uten en samtale å vise det i, får rett og slett ikke verktøyet.

Mens kjøringer er aktive, blir sendeknappen i skrivefeltet en stopp-knapp. Tøm skrivefeltet og trykk på den — dette stopper hver agent som kjører i den samtalen.

Det finnes ingen stoppekontroll i toppteksten til området og ingen tastatursnarvei for det. For å stoppe bare én kjøring når flere er aktive, åpne aktivitetsfanen til den kjøringen — toppteksten der har pause/fortsett og stopp avgrenset til kjøringen (stoppen ber deg bekrefte). Observabilitet → Live viser hver kjørende agent i arbeidsområdet med den samme kontrollen.

En stoppet kjøring merkes som stoppet. Send en ny melding for å sende ut på nytt.

Skriv / i skrivefeltet for å se kommandolisten. Disse endrer hvordan samtalen oppfører seg:

Kommando Hva den gjør
/plan Bytter området til planmodus. En bar /plan armer bare modusen; /plan <request> armer den og sender resten som meldingen din
/goal <text> Registrerer samtalens arbeidsmål
/loop <text> Itererer på en oppgave til den er fullført
/compact Folder eldre historikk inn i et forankret sammendrag og fortsetter på den komprimerte konteksten
/todo … Viser og redigerer denne samtalens lagrede gjøremålsliste

Skills vises i samme liste under sitt eget skill:-navnerom, så de kolliderer aldri med kommandoene over — en skill som heter plan eller compact, forblir tilgjengelig:

Kommando Hva den kjører
/skill:<name> En skill installert i arbeidsområdet, eller knyttet til agenten
/skill:<repo>:<name> En skill som leveres av ett av repoene som er sjekket ut i dette området

Repo-skills merkes med repoet de kom fra, fordi et navn alene ikke sier hvilken tjenestes konvensjoner den koder, og to repoer kan hver levere en testing. Du trenger ikke skrive prefikset for å finne en: å skrive bare skill-navnet matcher også oppføringene med navnerom.

En agent har bare skills fra repoet den jobber i akkurat nå — se Repo-avgrensede skills. Skrivefeltet er ikke avgrenset på den måten: du kan påkalle en skill fra hvilket som helst repo ved å navngi den.

/compact og /todo fanges opp av klienten og lagres aldri som meldinger — en /compact-linje i transkriptet ville dyttet kuttet for neste komprimering én tur tilbake. /plan vipper områdets lagrede modus i stedet for å reise som tekst. Så ingen av de tre er «en melding du sender agenten»; ikke forvent å se dem i historikken.

Før en kompleks endring kan du bytte området til planmodus med /plan, modusnedtrekksmenyen på verktøylinjen i skrivefeltet eller Shift+Tab. Agenten undersøker da i skrivebeskyttet modus og leverer en typet plan som du godkjenner før noe arbeid starter. Se Bruk planmodus.

Du trenger ikke ett område per agent. I et hvilket som helst område:

@alice can you look at the failing tests in src/auth_test.dart?

Den omtalte agenten legges til i området og sendes ut med områdets kontekst. Se @-nevn agenter for hvordan navn matches.