Přeskočit na obsah

Zmiňujte agenty přes @

Tenhle návod ukáže, jak v prostoru zmiňovat agenty a kolegy přes @.

Do composeru napiš @ a agenta vyber z našeptávače, nebo jméno napiš sám:

@alice fix the login bug

Zmíněný agent se do prostoru přidá jako účastník, pokud jím ještě není, a odešle se s kontextem a režimem toho prostoru. Účastníci bez zmínky zprávu uvidí, ale neodešlou se.

Když pošleš zprávu bez zmínky agenta, Control Center si vybere, kdo odpoví: agenta, který v konverzaci mluvil naposledy, jinak vlastníka konverzace, když nějakého má, jinak prvního agenta nejvyšší úrovně mezi účastníky prostoru. V prostoru s jedním agentem je to vždycky ten jediný.

Token zmínky se páruje bez rozlišení velikosti písmen, podle přesného jména nebo předpony. @arch tedy dosáhne na agenta jménem architect a @Alice na alice.

Dva důsledky, se kterými se vyplatí počítat:

  • Krátký token není chyba. Když dva agenti sdílejí předponu, vyhraje první nalezený a který to je, záleží na pořadí, ne na pravidle pro shodu. Když se jména překrývají, piš celé jméno.
  • Do tokenu patří jen písmena, číslice a podtržítka. Parser páruje @(\w+), takže @code-reviewer se čte jako token code a @my agent jako my. Agenta, jehož jméno obsahuje spojovník, tečku nebo mezeru, spolehlivě zmínit nejde, a to ani přes našeptávač, který jméno vloží jako prostý text. Pojmenuj agenty jedním slovem, nebo s podtržítky.

Zmínky se z textu vystřihnou, než se dostanou k agentovi. Zpráva, která je jen zmínky (@alice), proto nic neodešle. Dej jí, co má udělat.

Zmiň víc agentů najednou

Sekce “Zmiň víc agentů najednou”
@alice refactor the auth module. @bob write tests for it.

Oba agenti se odešlou paralelně do stejné konverzace a oba dostanou celou zprávu.

Taky sdílejí worktree toho prostoru. Worktree repozitářů se připravují na prostor, ne na agenta. Každý agent dostane vlastní overlay pracovní adresář pro své AGENTS.md, skilly a konfiguraci a sdílené repozitáře jsou v něm připojené pro čtení i zápis. Dva agenti zmínění společně si proto navzájem vidí úpravy a můžou do nich narazit.

Každý @token, který nesedí na agenta, se zkusí proti lidským členům pracovního prostoru, podle handle, se stejným pravidlem přesné shody nebo předpony bez rozlišení velikosti písmen.

Rozlišená zmínka člověka nic neodešle. Veze se v metadatech zprávy jen proto, aby směrovač oznámení toho člověka upozornil.

Jména agentů se zkoušejí vždy první a token, který už patří agentovi, se do seznamu členů nikdy nedostane. Jedno @word se vždycky rozliší jen na jednoho principála.

Odeslaný agent dostane v promptu blok „Summons“. Ten jmenuje, kdo ho přivolal, a vypíše sestavu prostoru: ostatní agenty (označené jako top-level nebo subordinate) a lidské členy, aby věděl, komu může práci předat. Blok mu taky řekne, že zmínka jiného agenta v odpovědi toho agenta probudí a že zmínka sebe sama se ignoruje.

Když agent zmíní agenta

Sekce “Když agent zmíní agenta”

Agent může předat práci ve vlastní odpovědi. Když tah doběhne v pořádku, zmínky v jeho textu se rozliší, ti agenti se přidají do prostoru a odešlou se do stejné konverzace s tahem, který je zmínil, jako promptem. Tah, který selhal nebo byl přerušený, nikoho neprobudí. Zastavil se uprostřed úvahy.

Pravidla jsou schválně přísnější než u composeru, protože se nikdo nedívá, aby špatný odhad opravil:

  • Jen přesná jména. Shoda podle předpony neplatí. @arch dosáhne na architect, když to napíše člověk. Od agenta nedosáhne na nikoho. Jméno, které sedí na dva agenty, taky nedosáhne na nikoho.
  • Kód není běžný text. Zmínky uvnitř bloků v plotu nebo `backticks` se ignorují, takže citovat anotaci @Override nebo pip install foo@1.2 je bezpečné. Neukončený plot vymaže všechno, co po něm následuje.
  • @ přilepené k předchozímu tokenu není zmínka. sam@host.com, pkg/@scope a node@20 se nerozliší na nikoho.
  • Spojovníky zůstanou, takže @code-reviewer se rozliší samo o sobě, ne jako token code.
  • Nanejvýš tři agenti na tah. Když agent v souhrnu vyjmenuje šest kolegů, jen je vyjmenovává, nepřivolává je.

Řetěz probuzení má stejný strop jako delegování: hloubka 3 a agenta, který už v řetězu je, tentýž řetěz znovu neprobudí (žádné A → B → A). Uspořádaná dvojice má navíc limit četnosti napříč řetězy. Odmítnuté probuzení vloží do konverzace systémovou zprávu, která řekne, která zmínka se nedoručila a proč. Nerozlišené jméno takovou zprávu nevloží, protože jinak by se každé @ ve větě samo hlásilo.

K předání, které nesmí záviset na textu, ať už jde o požadavek s odpovědí, nebo o dosažení agenta mimo prostor, použij místo toho nástroje send_to_agent, ask_agent a delegate_task.