Menziona gli agenti con @
Questa guida mostra come @-menzionare agenti e colleghi in uno spazio.
Menziona un agente
Sezione intitolata “Menziona un agente”Digita @ nel composer e scegli un agente dal completamento automatico, oppure
digita il nome da solo:
@alice fix the login bugL’agente menzionato viene aggiunto allo spazio come partecipante se non lo è già e inviato con il contesto e la modalità dello spazio. I partecipanti non menzionati vedono il messaggio ma non vengono inviati.
Se invii un messaggio senza alcuna menzione di agente, Control Center sceglie da sé chi deve rispondere: l’agente che ha parlato per ultimo nella conversazione, altrimenti il proprietario della conversazione quando ne ha uno, altrimenti il primo agente di primo livello tra i partecipanti dello spazio. In uno spazio con un solo agente è sempre l’unico agente.
Come viene associato un nome
Sezione intitolata “Come viene associato un nome”Un token di menzione viene associato senza distinguere maiuscole e minuscole,
per nome esatto o prefisso. Quindi @arch raggiunge un agente chiamato
architect e @Alice raggiunge alice.
Due conseguenze da tenere presenti quando pianifichi:
- Un token breve non è un errore. Se due agenti condividono un prefisso, vince il primo che viene trovato e quale sia dipende dall’ordinamento, non da una regola di spareggio. Usa il nome completo ogni volta che i nomi si sovrappongono.
- Di un token fanno parte solo lettere, cifre e underscore. Il parser individua
@(\w+), quindi@code-reviewerviene letto come il tokencodee@my agentcomemy. Un agente il cui nome contiene un trattino, un punto o uno spazio non può essere menzionato in modo affidabile, nemmeno tramite il completamento automatico, che inserisce il nome come testo normale. Assegna agli agenti nomi di una sola parola, o con gli underscore.
Le menzioni vengono rimosse dal testo prima che raggiunga l’agente. Un messaggio
che è solo menzioni (@alice) quindi non invia nulla: dagli qualcosa da fare.
Menziona più agenti contemporaneamente
Sezione intitolata “Menziona più agenti contemporaneamente”@alice refactor the auth module. @bob write tests for it.Entrambi gli agenti vengono inviati in parallelo nella stessa conversazione ed entrambi ricevono il messaggio completo.
Condividono anche i worktree di quello spazio. I worktree dei repo vengono
creati per spazio, non per agente; ogni agente riceve la propria directory di
lavoro overlay per il suo AGENTS.md, le sue skill e la sua configurazione, con
i repo condivisi collegati in lettura-scrittura. Quindi due agenti menzionati
insieme possono vedere le modifiche l’uno dell’altro, e andare in collisione.
Menziona un collega
Sezione intitolata “Menziona un collega”Qualsiasi @token che non corrisponde a un agente viene provato sui membri umani
dello spazio di lavoro, tramite handle, con la stessa regola di nome esatto o
prefisso senza distinzione tra maiuscole e minuscole.
Una menzione di una persona risolta non invia nulla. Viaggia sui metadati del messaggio solo perché il router delle notifiche possa avvisare quella persona.
I nomi degli agenti vengono sempre provati per primi e un token rivendicato da un
agente non viene mai proposto all’elenco dei membri: un singolo @word può
risolversi solo in un unico soggetto.
Che cosa riceve l’agente
Sezione intitolata “Che cosa riceve l’agente”Un agente inviato riceve nel suo prompt un blocco «Summons» che indica chi lo ha convocato ed elenca i partecipanti dello spazio — gli altri agenti (contrassegnati come di primo livello o subordinati) e i membri umani — così sa a chi può passare il lavoro. Il blocco gli dice anche che menzionare un altro agente nella sua risposta risveglia quell’agente e che menzionare se stesso viene ignorato.
Quando un agente menziona un agente
Sezione intitolata “Quando un agente menziona un agente”Un agente può passare il lavoro nella propria risposta. Quando un turno termina in modo pulito, le menzioni nel suo testo vengono risolte e quegli agenti vengono aggiunti allo spazio e inviati nella stessa conversazione, con il turno che li menziona come prompt. Un turno che ha avuto esito negativo o è stato interrotto non risveglia nessuno: si è fermato a metà ragionamento.
Le regole sono deliberatamente più rigorose di quelle del composer, perché nessuno sta guardando per correggere un’ipotesi sbagliata:
- Solo nomi esatti. Nessuna corrispondenza per prefisso.
@archraggiungearchitectquando lo digita una persona; da un agente non raggiunge nessuno. Anche un nome che corrisponde a due agenti non raggiunge nessuno. - Il codice non è prosa. Le menzioni dentro blocchi recintati o tra
`backtick`vengono ignorate, quindi citare un’annotazione@Overrideo unpip install foo@1.2è sicuro. Un blocco recintato non terminato azzera tutto ciò che segue. - Una
@attaccata al token precedente non è una menzione —sam@host.com,pkg/@scopeenode@20non si risolvono in nessuno. - I trattini vengono mantenuti, quindi
@code-reviewersi risolve in se stesso anziché nel tokencode. - Al massimo tre agenti per turno. Un agente che elenca sei colleghi in un riepilogo li sta elencando, non li sta convocando.
Una catena di risvegli è limitata allo stesso modo della delega: profondità 3,
e un agente già presente nella catena non può essere risvegliato di nuovo da essa
(niente A → B → A). Anche una coppia ordinata è soggetta a un limite di
frequenza tra le catene. Un risveglio rifiutato pubblica un messaggio di sistema
nella conversazione che indica quale menzione non è stata recapitata e perché;
un nome non risolto no, perché altrimenti ogni @ in una frase finirebbe per
raccontarsi da sé.
Per un passaggio di lavoro che non deve dipendere dalla prosa — una
richiesta/risposta, o il raggiungimento di un agente fuori dallo spazio — usa
invece gli strumenti send_to_agent, ask_agent e delegate_task.