Discută cu un agent
Acest ghid îți arată cum să lucrezi cu un agent într-un spațiu.
Creează un spațiu
Secțiune intitulată „Creează un spațiu”- Navighează la Spații în bara laterală
- Dă clic pe butonul + de lângă titlul Spații
- Scrie un nume — acesta este obligatoriu. Un nume gol este refuzat; dialogul rămâne deschis
- Opțional, adaugă agenți din spațiul de lucru
- Dacă spațiul de lucru are vreun repo, apare un selector de repo-uri. El pornește cu toate repo-urile selectate; restrânge-l (inclusiv deselectând un singur repo) la repo-urile pentru care acest spațiu ar trebui să provisioneze worktree-uri
- Confirmă
Control Center deschide spațiul și începe să provisioneze în fundal un worktree copy-on-write pentru fiecare repo selectat.
Trimite primul mesaj
Secțiune intitulată „Trimite primul mesaj”Scrie mesajul în composer și apasă Enter. Agentul este trimis și începe să transmită în flux răspunsul său.
Dacă spațiul încă se provisionează, mesajul tău este pus în așteptare în loc să fie pierdut — composerul îl păstrează și îl trimite automat odată ce worktree-urile sunt gata.
Pe măsură ce agentul lucrează, vezi turul lui venind în flux: segmente de raționament, apeluri de instrumente (citiri de fișiere, scrieri, comenzi shell) și textul răspunsului, toate în interiorul unui singur mesaj de tur de agent.
Direcționează un agent aflat în rulare
Secțiune intitulată „Direcționează un agent aflat în rulare”În timp ce un agent lucrează, textul conversațional simplu nu pune în coadă un tur nou. El devine un card de direcționare pus în coadă, în banda de deasupra composerului, și este injectat în rularea activă la următoarea limită de tur. Nu există nicio notificare tip toast — cardul este feedback-ul.
Trei lucruri schimbă acest comportament:
- Un mesaj care conține o mențiune @ este mereu trimis ca mesaj, niciodată ca direcționare
- Un mesaj care începe cu o comandă slash este mereu tratat ca acea comandă
- Un mesaj cu un atașament este mereu trimis ca mesaj — coada de direcționare acceptă doar text
- Dacă fiecare rulare activă s-a terminat deja, textul trece mai departe și este trimis ca un mesaj normal
Aprobă o acțiune blocată
Secțiune intitulată „Aprobă o acțiune blocată”Când un agent ajunge la o acțiune filtrată de guardrail-urile sale — o comandă
distructivă, un instrument privilegiat —, serverul blochează rularea și
publică o cerere de aprobare către fiecare client conectat. Dacă ai acea
conversație deschisă, cererea apare în chat, deasupra composerului, ca același
card cu opțiuni numerotate folosit pentru ask_user (refuză, aprobă și, opțional,
aprobă pentru opt ore). Nu există nicio variantă de a sări peste: un agent blocat
așteaptă o decizie.
Dacă ești în altă parte a aplicației, un panou mereu deasupra celorlalte, din shell, listează totuși ce așteaptă, așa că poți debloca agentul fără să vânezi spațiul. Suprapunerea ascunde o cerere în momentul în care conversația acelui spațiu este pe ecran, așa că nu răspunzi niciodată de două ori la aceeași solicitare.
Nu există niciun timeout: un agent blocat așteaptă până când cineva decide. Aceeași cerere apare și în banda de atenție a inbox-ului, și pe clientul de pe telefon.
Răspunde la întrebarea unui agent
Secțiune intitulată „Răspunde la întrebarea unui agent”Un agent care are nevoie de o preferință, de o cerință lipsă sau de o bifurcație
reală trebuie să apeleze ask_user. Scrierea întrebării ca mesaj de chat
încheie turul și trebuie să reiei promptul. Instrumentul redă un card numerotat în
conversație — opțiuni, text liber opțional sau ambele —, iar rularea așteaptă
răspunsul tău.
Atinge o singură opțiune pentru a o trimite (numărul din coadă devine o săgeată la
hover). Răspunsurile cu selecție multiplă și cele tastate folosesc Continuă
(⌘↵ / Ctrl↵). Omite îi spune agentului să aleagă o valoare implicită
rezonabilă și să nu mai întrebe.
Este un mecanism separat de cardul de aprobare de mai sus: o aprobare înseamnă „pot să fac asta?”, o întrebare înseamnă „pe care dintre acestea ai vrut să spui?”. Întrebarea este disponibilă pe harnessul încorporat în orice mod, inclusiv în cele doar în citire (nu modifică nimic), și, în mod deliberat, nu este învelită într-un prompt de aprobare — un dialog în fața unui dialog ar eșua închis fără niciun aprobator conectat. O rulare fără nicio conversație în care să redea pur și simplu nu primește instrumentul.
Oprește un agent
Secțiune intitulată „Oprește un agent”Cât timp rulările sunt active, butonul de trimitere al composerului devine un buton de oprire. Golește composerul și apasă-l — asta oprește fiecare agent care rulează în acea conversație.
Nu există niciun control de oprire în antetul spațiului și nicio scurtătură de tastatură pentru el. Pentru a opri doar o singură rulare când mai multe sunt active, deschide fila de activitate a acelei rulări — antetul ei are o pauză/reluare și o oprire la nivel de rulare (oprirea îți cere confirmarea). Observabilitate → Live listează fiecare agent aflat în rulare din spațiul de lucru, cu același control.
O rulare oprită este marcată ca oprită. Trimite un mesaj nou pentru a declanșa din nou o trimitere.
Folosește comenzile slash
Secțiune intitulată „Folosește comenzile slash”Scrie / în composer pentru a vedea lista de comenzi. Cele care schimbă
comportamentul conversației:
| Comandă | Ce face |
|---|---|
/plan |
Comută spațiul în modul plan. Un /plan simplu doar armează modul; /plan <cerere> îl armează și trimite restul ca mesajul tău |
/goal <text> |
Înregistrează obiectivul de lucru al conversației |
/loop <text> |
Iterează asupra unei sarcini până când aceasta este finalizată |
/compact |
Pliază istoricul mai vechi într-un rezumat ancorat și continuă pe contextul compactat |
/todo … |
Vizualizează și editează lista de todo persistată a acestei conversații |
Skill-urile apar în aceeași listă, sub propriul lor spațiu de nume skill:, așa că
nu se ciocnesc niciodată cu comenzile de mai sus — un skill numit plan sau
compact rămâne accesibil:
| Comandă | Ce rulează |
|---|---|
/skill:<name> |
Un skill instalat în spațiul de lucru sau atașat agentului |
/skill:<repo>:<name> |
Un skill livrat de unul dintre repo-urile cu checkout în acest spațiu |
Skill-urile de repo sunt marcate cu repo-ul din care provin, pentru că un nume
singur nu spune convențiile cărui serviciu le codifică și două repo-uri pot livra
fiecare câte un testing. Nu trebuie să tastezi prefixul ca să găsești unul:
tastarea numelui simplu al skill-ului potrivește și intrările cu spațiu de nume.
Un agent poartă mereu doar skill-urile repo-ului în care lucrează în acel moment — vezi Skill-uri limitate la repo. Composerul nu este limitat astfel: poți invoca skill-ul oricărui repo numindu-l.
/compact și /todo sunt interceptate de client și niciodată persistate ca
mesaje — o linie /compact în transcriere ar împinge tăietura următoarei
compactări cu un tur înapoi. /plan comută modul stocat al spațiului în loc să
circule ca text. Deci niciuna dintre cele trei nu este „un mesaj pe care îl
trimiți agentului”; nu te aștepta să le vezi în istoric.
Cere mai întâi un plan
Secțiune intitulată „Cere mai întâi un plan”Înainte de o schimbare complexă, comută spațiul în modul plan cu /plan, meniul
derulant de mod de pe bara de instrumente a composerului sau Shift+Tab. Agentul
cercetează apoi doar în citire și livrează un plan tipizat pe care îl aprobi
înainte să înceapă orice muncă. Vezi
Folosește modul plan.
Ajunge la un agent fără un spațiu dedicat
Secțiune intitulată „Ajunge la un agent fără un spațiu dedicat”Nu ai nevoie de un spațiu pentru fiecare agent. În orice spațiu:
@alice can you look at the failing tests in src/auth_test.dart?Agentul menționat este adăugat în spațiu și trimis cu contextul acelui spațiu. Vezi Menționează agenți cu @ pentru cum sunt potrivite numele.
Ghiduri conexe
Secțiune intitulată „Ghiduri conexe”- Folosește spațiile
- Menționează agenți cu @
- Folosește modul plan
- Configurează integrarea Slack pentru a face același lucru din Slack