Chatta con un agente
Questa guida mostra come lavorare con un agente in uno spazio.
Crea uno spazio
Sezione intitolata “Crea uno spazio”- Vai su Spazi nella barra laterale
- Fai clic sul pulsante + accanto al titolo Spazi
- Digita un nome — è obbligatorio. Un nome vuoto viene rifiutato; la finestra di dialogo resta aperta
- Facoltativamente, aggiungi agenti dallo spazio di lavoro
- Se lo spazio di lavoro ha almeno un repo, compare un selettore di repo. Parte con tutti i repo selezionati; restringilo (anche deselezionando un singolo repo) ai repo per cui questo spazio deve creare i worktree
- Conferma
Control Center apre lo spazio e avvia in background la creazione di un worktree copy-on-write per ogni repo selezionato.
Invia il primo messaggio
Sezione intitolata “Invia il primo messaggio”Digita il messaggio nel composer e premi Invio. L’agente viene inviato e inizia a trasmettere la sua risposta in streaming.
Se lo spazio è ancora in fase di preparazione, il messaggio viene messo in attesa anziché perso: il composer lo trattiene e lo invia automaticamente quando i worktree sono pronti.
Mentre l’agente lavora, vedi il suo turno arrivare in streaming: segmenti di ragionamento, chiamate di strumenti (letture e scritture di file, comandi di shell) e testo della risposta, tutto dentro un unico messaggio di turno dell’agente.
Guida un agente in esecuzione
Sezione intitolata “Guida un agente in esecuzione”Mentre un agente lavora, un semplice testo conversazionale non accoda un nuovo turno. Diventa una scheda di guida in coda nella striscia sopra il composer e viene iniettato nell’esecuzione in corso al confine del turno successivo. Non c’è alcun avviso a comparsa: la scheda stessa è il riscontro.
Tre cose cambiano questo comportamento:
- Un messaggio che contiene una @menzione viene sempre inviato come messaggio, mai come guida
- Un messaggio che inizia con un comando slash viene sempre gestito come quel comando
- Un messaggio con un allegato viene sempre inviato come messaggio: la coda di guida accetta solo testo
- Se ogni esecuzione in corso è già terminata, il testo passa oltre e viene inviato come messaggio normale
Approva un’azione bloccata
Sezione intitolata “Approva un’azione bloccata”Quando un agente incontra un’azione sottoposta al gate dei suoi guardrail — un
comando distruttivo, uno strumento privilegiato — il server blocca
l’esecuzione e pubblica una richiesta di approvazione a ogni client connesso.
Se hai quella conversazione aperta, la richiesta compare nella chat, sopra il
composer, come la stessa scheda a opzioni numerate usata per ask_user (nega,
approva e, facoltativamente, approva per otto ore). Non si può saltare: un agente
bloccato è in attesa di una decisione.
Se ti trovi altrove nell’app, un pannello sempre in primo piano nella shell elenca comunque ciò che è in attesa, così puoi sbloccare l’agente senza andare a cercare lo spazio. Il pannello nasconde una richiesta nel momento in cui la conversazione di quello spazio è sullo schermo, così non rispondi mai due volte allo stesso prompt.
Non c’è alcun timeout: un agente bloccato attende finché qualcuno decide. La stessa richiesta compare anche nella striscia delle attenzioni della posta in arrivo e sul client del telefono.
Rispondi alla domanda di un agente
Sezione intitolata “Rispondi alla domanda di un agente”Un agente che ha bisogno di una preferenza, di un requisito mancante o di un vero
bivio deve chiamare ask_user. Scrivere la domanda come messaggio di chat
termina il turno e devi sollecitare di nuovo. Lo strumento mostra una scheda
numerata nella conversazione — opzioni, testo libero facoltativo o entrambi — e
l’esecuzione attende la tua risposta.
Tocca una singola opzione per inviarla (il numero finale diventa una freccia al
passaggio del mouse). Le risposte a selezione multipla e quelle digitate usano
Continua (⌘↵ / Ctrl↵). Salta dice all’agente di scegliere un valore
predefinito ragionevole e di non chiedere più.
È un meccanismo separato dalla scheda di approvazione qui sopra: un’approvazione è «posso farlo?», una domanda è «quale di questi intendevi?». La possibilità di chiedere è disponibile sull’harness integrato in ogni modalità, comprese quelle di sola lettura (non muta nulla), e di proposito non è avvolta in un prompt di approvazione — una finestra davanti a un’altra finestra fallirebbe chiusa quando non è collegato alcun approvatore. Un’esecuzione senza una conversazione in cui mostrarlo semplicemente non riceve lo strumento.
Ferma un agente
Sezione intitolata “Ferma un agente”Mentre ci sono esecuzioni in corso, il pulsante di invio del composer diventa il pulsante Ferma agente. Svuota il composer e premilo: ferma ogni agente in esecuzione in quella conversazione.
Non esiste un controllo di arresto nell’intestazione dello spazio né una scorciatoia da tastiera per farlo. Per fermare una sola esecuzione quando ce ne sono diverse in corso, apri la scheda delle attività di quell’esecuzione: la sua intestazione ha pausa/riprendi e arresto limitati all’esecuzione (l’arresto chiede conferma). Osservabilità → Dal vivo elenca ogni agente in esecuzione nello spazio di lavoro con lo stesso controllo.
Un’esecuzione fermata viene contrassegnata come arrestata. Invia un nuovo messaggio per inviare di nuovo.
Usa i comandi slash
Sezione intitolata “Usa i comandi slash”Digita / nel composer per vedere l’elenco dei comandi. Quelli che cambiano il
comportamento della conversazione:
| Comando | Che cosa fa |
|---|---|
/plan |
Porta lo spazio in modalità piano. Un /plan da solo si limita ad attivare la modalità; /plan <request> la attiva e invia il resto come tuo messaggio |
/goal <text> |
Registra l’obiettivo di lavoro della conversazione |
/loop <text> |
Itera su un’attività finché non è completa |
/compact |
Ripiega la cronologia più vecchia in un riepilogo ancorato e prosegue sul contesto compattato |
/todo … |
Visualizza e modifica l’elenco delle cose da fare persistente di questa conversazione |
Le skill compaiono nello stesso elenco sotto il proprio namespace skill:, quindi
non entrano mai in collisione con i comandi qui sopra — una skill chiamata plan
o compact resta raggiungibile:
| Comando | Che cosa esegue |
|---|---|
/skill:<name> |
Una skill installata nello spazio di lavoro o collegata all’agente |
/skill:<repo>:<name> |
Una skill fornita da uno dei repo di cui è stato fatto il checkout in questo spazio |
Le skill dei repo sono contrassegnate con il repo da cui provengono, perché il
solo nome non dice quali convenzioni di quale servizio codifichi e due repo
possono fornire ciascuno una testing. Non devi digitare il prefisso per
trovarne una: digitando il semplice nome della skill si trovano anche le voci con
namespace.
Un agente porta sempre e solo le skill del repo in cui sta lavorando — vedi Skill con ambito di repository. Il composer non è limitato in quel modo: puoi invocare la skill di qualsiasi repo nominandola.
/compact e /todo vengono intercettati dal client e non vengono mai
memorizzati come messaggi — una riga /compact nella trascrizione sposterebbe
indietro di un turno il taglio della compattazione successiva. /plan cambia la
modalità memorizzata dello spazio anziché viaggiare come testo. Quindi nessuno
dei tre è «un messaggio che invii all’agente»; non aspettarti di vederli nella
cronologia.
Chiedi prima un piano
Sezione intitolata “Chiedi prima un piano”Prima di una modifica complessa, porta lo spazio in modalità piano con /plan,
il menu a discesa della modalità sulla barra degli strumenti del composer, oppure
Shift+Tab. L’agente conduce poi la ricerca in sola lettura e consegna un piano
tipizzato che approvi prima che inizi qualsiasi lavoro. Vedi
Usa la modalità piano.
Raggiungi un agente senza uno spazio dedicato
Sezione intitolata “Raggiungi un agente senza uno spazio dedicato”Non serve uno spazio per ogni agente. In qualsiasi spazio:
@alice can you look at the failing tests in src/auth_test.dart?L’agente menzionato viene aggiunto allo spazio e inviato con il contesto di quello spazio. Vedi Menziona gli agenti con @ per come vengono associati i nomi.
Guide correlate
Sezione intitolata “Guide correlate”- Usa gli spazi
- Menziona gli agenti con @
- Usa la modalità piano
- Configura l’integrazione Slack per fare lo stesso da Slack