Sari la conținut

Menționează agenți cu @

Acest ghid îți arată cum să menționezi agenți și colegi cu @ într-un spațiu.

Scrie @ în composer și alege un agent din autocomplete, sau scrie singur numele:

@alice fix the login bug

Agentul menționat este adăugat în spațiu ca participant dacă nu este deja unul și este trimis cu contextul și modul spațiului. Participanții nementionați văd mesajul, dar nu sunt trimiși.

Dacă trimiți un mesaj fără nicio mențiune de agent, Control Center alege singur un respondent: agentul care a vorbit ultima dată în conversație, altfel proprietarul conversației când aceasta are unul, altfel primul agent de nivel superior dintre participanții spațiului. Într-un spațiu cu un singur agent, acesta este mereu singurul agent.

Un token de mențiune este potrivit insensibil la majuscule și minuscule, după numele exact sau prefix. Astfel, @arch ajunge la un agent numit architect, iar @Alice ajunge la alice.

Două consecințe de care merită să ții cont:

  • Un token scurt nu este o eroare. Dacă doi agenți împart un prefix, câștigă primul găsit, iar care anume este atârnă de ordonare — nu de vreo regulă de departajare. Folosește numele complet ori de câte ori numele se suprapun.
  • Doar literele, cifrele și liniile de subliniere fac parte dintr-un token. Parserul potrivește @(\w+), așa că @code-reviewer este citit ca tokenul code, iar @my agent ca my. Un agent al cărui nume conține o cratimă, un punct sau un spațiu nu poate fi menționat în mod fiabil — nici măcar prin autocomplete, care inserează numele ca text simplu. Denumește agenții într-un singur cuvânt sau cu linii de subliniere.

Mențiunile sunt eliminate din text înainte ca acesta să ajungă la agent. Prin urmare, un mesaj care este doar mențiuni (@alice) nu trimite nimic — dă-i ceva de făcut.

@alice refactor the auth module. @bob write tests for it.

Ambii agenți sunt trimiși în paralel în aceeași conversație și amândoi primesc mesajul complet.

De asemenea, ei împart worktree-urile acelui spațiu. Worktree-urile de repo sunt provisionate per spațiu, nu per agent; fiecare agent primește propriul director de lucru de tip overlay pentru AGENTS.md, skill-urile și configurația lui, cu repo-urile partajate legate în citire-scriere. Așa că doi agenți menționați împreună pot vedea — și se pot ciocni cu — modificările celuilalt.

Orice @token care nu se potrivește cu un agent este încercat împotriva membrilor umani ai spațiului de lucru, după handle, cu aceeași regulă insensibilă la majuscule și minuscule de potrivire exactă sau pe prefix.

O mențiune de om rezolvată nu trimite nimic. Ea se află doar în metadatele mesajului, strict pentru ca routerul de notificări să poată notifica acea persoană.

Numele de agent sunt mereu încercate primele, iar un token revendicat de un agent nu este niciodată oferit listei de membri — un @word nu se poate rezolva niciodată decât la un singur principal.

Un agent trimis primește în promptul lui un bloc „Summons” care numește cine l-a convocat și listează participanții spațiului — ceilalți agenți (marcați ca de nivel superior sau subordonați) și membrii umani — astfel încât să știe cui poate preda. Blocul îi mai spune că menționarea unui alt agent în răspunsul lui trezește acel agent și că menționarea proprie este ignorată.

Un agent poate preda în propriul răspuns. Când un tur se încheie curat, mențiunile din textul lui sunt rezolvate, iar acei agenți sunt adăugați în spațiu și trimiși în aceeași conversație, cu turul care i-a menționat ca prompt. Un tur care a eșuat sau a fost întrerupt nu trezește pe nimeni — s-a oprit la mijlocul gândului.

Regulile sunt în mod deliberat mai stricte decât cele ale composerului, pentru că nimeni nu urmărește să corecteze o presupunere greșită:

  • Doar nume exacte. Fără potrivire pe prefix. @arch ajunge la architect când îl tastează un om; de la un agent nu ajunge la nimeni. Un nume care se potrivește cu doi agenți, de asemenea, nu ajunge la nimeni.
  • Codul nu este proză. Mențiunile din interiorul blocurilor delimitate sau dintre `backticks` sunt ignorate, așa că citarea unei adnotări @Override sau a unei comenzi pip install foo@1.2 este sigură. O delimitare neterminată golește tot ce urmează după ea.
  • Un @ lipit de tokenul anterior nu este o mențiune — sam@host.com, pkg/@scope și node@20 nu se rezolvă la nimeni.
  • Cratimele sunt păstrate, așa că @code-reviewer se rezolvă ca el însuși, nu ca tokenul code.
  • Cel mult trei agenți per tur. Un agent care enumeră șase colegi într-un rezumat îi enumeră, nu îi convoacă.

Un lanț de trezire este plafonat la fel cum este delegarea: adâncime 3, iar un agent aflat deja pe lanț nu mai poate fi trezit din nou de el (fără A → B → A). O pereche ordonată este, de asemenea, supusă unei limite de rată între lanțuri. O trezire refuzată publică un mesaj de sistem în conversație, care spune ce mențiune nu a fost livrată și de ce — un nume nerezolvat nu face asta, căci altfel orice @ dintr-o propoziție s-ar povesti singur.

Pentru o predare care nu trebuie să depindă de proză — o cerere/răspuns sau atingerea unui agent din afara spațiului — folosește în schimb instrumentele send_to_agent, ask_agent și delegate_task.