Chatten met een agent
Deze gids laat je zien hoe je met een agent in een ruimte werkt.
Een ruimte maken
Sectie getiteld “Een ruimte maken”- Ga in de zijbalk naar Ruimtes
- Klik op de +-knop naast de kop Ruimtes
- Typ een naam — dit is verplicht. Een lege naam wordt geweigerd; het dialoogvenster blijft open
- Voeg optioneel agenten uit de werkruimte toe
- Als de werkruimte repo’s heeft, verschijnt er een repokiezer. Alle repo’s zijn eerst geselecteerd; beperk de selectie (desgewenst door één repo uit te vinken) tot de repo’s waarvoor deze ruimte worktrees moet aanmaken
- Bevestig
Control Center opent de ruimte en begint op de achtergrond een copy-on-write-worktree per geselecteerde repo aan te maken.
Het eerste bericht versturen
Sectie getiteld “Het eerste bericht versturen”Typ je bericht in de composer en druk op Enter. De agent wordt gedispatcht en begint zijn antwoord te streamen.
Als de ruimte nog wordt voorbereid, wordt je bericht geparkeerd in plaats van verloren — de composer houdt het vast en verstuurt het automatisch zodra de worktrees klaar zijn.
Terwijl de agent werkt, zie je zijn beurt binnenstromen: redeneersegmenten, toolaanroepen (het lezen en schrijven van bestanden, shell-commando’s) en antwoordtekst, allemaal binnen één bericht van een agentbeurt.
Een draaiende agent bijsturen
Sectie getiteld “Een draaiende agent bijsturen”Terwijl een agent werkt, zet gewone gesprekstekst geen nieuwe beurt in de wachtrij. De tekst wordt een wachtende stuurkaart in de strook boven de composer en wordt bij de volgende beurtgrens in de lopende run geïnjecteerd. Er is geen toast — de kaart is de feedback.
Drie dingen veranderen dat gedrag:
- Een bericht met een @-vermelding wordt altijd als bericht verstuurd, nooit als sturing
- Een bericht dat begint met een slash-commando wordt altijd als dat commando afgehandeld
- Een bericht met een bijlage wordt altijd als bericht verstuurd — de stuurwachtrij is alleen tekst
- Als elke lopende run al klaar is, wordt de tekst alsnog als een gewoon bericht verstuurd
Een geblokkeerde actie goedkeuren
Sectie getiteld “Een geblokkeerde actie goedkeuren”Wanneer een agent stuit op een actie waar zijn beveiligingen een poort voor zijn
— een destructief commando, een geprivilegieerde tool — blokkeert de server de
run en publiceert hij een goedkeuringsverzoek naar elke verbonden client. Als
je dat gesprek open hebt, verschijnt het verzoek in de chat, boven de
composer, als dezelfde kaart met genummerde opties die ook voor ask_user wordt
gebruikt (weigeren, goedkeuren en eventueel acht uur lang goedkeuren). Overslaan
bestaat niet: een geblokkeerde agent wacht op een beslissing.
Ben je ergens anders in de app, dan laat een paneel dat altijd op de voorgrond blijft in de shell nog steeds zien wat er wacht, zodat je de agent kunt deblokkeren zonder naar de ruimte te zoeken. De overlay verbergt een verzoek op het moment dat het gesprek van die ruimte in beeld is, zodat je nooit twee keer dezelfde vraag beantwoordt.
Er is geen time-out: een geblokkeerde agent wacht tot iemand beslist. Hetzelfde verzoek verschijnt ook in de strook “Vraagt je aandacht” van het postvak en op de telefoonclient.
Een vraag van een agent beantwoorden
Sectie getiteld “Een vraag van een agent beantwoorden”Een agent die een voorkeur, een ontbrekende eis of een echte vertakking nodig
heeft, moet ask_user aanroepen. De vraag als chatbericht schrijven
beëindigt de beurt en dan moet je het opnieuw vragen. De tool toont een kaart met
genummerde opties in het gesprek — opties, optionele vrije tekst, of beide — en
de run wacht op je antwoord.
Tik op één optie om die te versturen (het cijfer erachter wordt een pijl als je
eroverheen zweeft). Bij meervoudige selectie en getypte antwoorden gebruik je
Doorgaan (⌘↵ / Ctrl↵). Overslaan zegt tegen de agent dat hij een
redelijke standaard moet kiezen en het niet meer moet vragen.
Het is een apart mechanisme, los van de goedkeuringskaart hierboven: een goedkeuring is “mag ik dit doen?”, een vraag is “welke van deze bedoelde je?”. Vragen stellen is op de ingebouwde harness in elke modus beschikbaar, ook in de alleen-lezen modi (het wijzigt niets), en het is bewust niet in een goedkeuringswrapper gestopt — een dialoog vóór een dialoog valt gesloten wanneer er geen goedkeurder is verbonden. Een run zonder gesprek om in te renderen krijgt de tool simpelweg niet.
Een agent stoppen
Sectie getiteld “Een agent stoppen”Terwijl er runs lopen, wordt de verzendknop van de composer een stopknop. Maak de composer leeg en druk erop — dit stopt elke agent die in dat gesprek draait.
Er is geen stopbediening in de kop van de ruimte en geen sneltoets ervoor. Om maar één run te stoppen terwijl er meerdere lopen, open je het tabblad Activiteit van die run — de kop daarvan bevat een aan de run gebonden pauzeren/hervatten en stoppen (het stoppen vraagt om bevestiging). Observeerbaarheid → Live toont elke draaiende agent in de werkruimte met dezelfde bediening.
Een gestopte run wordt als gestopt gemarkeerd. Stuur een nieuw bericht om opnieuw te dispatchen.
Slash-commando’s gebruiken
Sectie getiteld “Slash-commando’s gebruiken”Typ / in de composer om de commandolijst te zien. Deze veranderen het gedrag
van het gesprek:
| Commando | Wat het doet |
|---|---|
/plan |
Zet de ruimte in planmodus. Een kaal /plan zet de modus alleen scherp; /plan <request> zet hem scherp en stuurt de rest als je bericht |
/goal <text> |
Legt het werkdoel van het gesprek vast |
/loop <text> |
Itereert op een taak tot die klaar is |
/compact |
Vouwt oudere geschiedenis tot een verankerde samenvatting en gaat verder op de gecompacteerde context |
/todo … |
Bekijkt en bewerkt de persistente todolijst van dit gesprek |
Skills verschijnen in dezelfde lijst onder hun eigen skill:-naamruimte, zodat
ze nooit botsen met de commando’s hierboven — een skill met de naam plan of
compact blijft bereikbaar:
| Commando | Wat het uitvoert |
|---|---|
/skill:<name> |
Een skill die in de werkruimte is geïnstalleerd of aan de agent is gekoppeld |
/skill:<repo>:<name> |
Een skill die door een van de repo’s wordt meegeleverd die in deze ruimte zijn uitgecheckt |
Reposkills krijgen een label met de repo waar ze vandaan komen, want een naam
alleen zegt niet welke conventies van welke service erin zitten en twee repo’s
kunnen elk een testing meeleveren. Je hoeft het voorvoegsel niet te typen om
er een te vinden: de kale skillnaam typen matcht ook de vermeldingen met
naamruimte.
Een agent draagt altijd alleen de skills van de repo waarin hij op dat moment werkt — zie Repogebonden skills. De composer is niet op die manier afgebakend: je kunt de skill van elke repo aanroepen door hem bij naam te noemen.
/compact en /todo worden door de client onderschept en nooit als bericht
bewaard — een /compact-regel in het transcript zou de grens van de volgende
compactie een beurt terugschuiven. /plan zet de opgeslagen modus van de ruimte
om in plaats van als tekst mee te reizen. Geen van de drie is dus “een bericht
dat je naar de agent stuurt”; verwacht niet dat je ze in de geschiedenis ziet.
Vraag eerst om een plan
Sectie getiteld “Vraag eerst om een plan”Schakel de ruimte vóór een complexe wijziging om naar planmodus met /plan, de
modusvervolgkeuzelijst in de werkbalk van de composer, of Shift+Tab. De agent
doet dan alleen-lezen onderzoek en levert een getypeerd plan dat je goedkeurt
voordat er werk begint. Zie Planmodus gebruiken.
Een agent bereiken zonder eigen ruimte
Sectie getiteld “Een agent bereiken zonder eigen ruimte”Je hebt niet voor elke agent een eigen ruimte nodig. In elke ruimte:
@alice can you look at the failing tests in src/auth_test.dart?De vermelde agent wordt aan de ruimte toegevoegd en met de context van die ruimte gedispatcht. Zie Agenten @-vermelden voor hoe namen worden gematcht.
Gerelateerde gidsen
Sectie getiteld “Gerelateerde gidsen”- Ruimtes gebruiken
- Agenten @-vermelden
- Planmodus gebruiken
- Slack-integratie instellen om hetzelfde vanuit Slack te doen