Tovább a tartalomhoz

Ügynökök @-említése

Ez az útmutató bemutatja, hogyan említhet meg ügynököket és munkatársakat @-tel egy térben.

Írjon egy @ jelet a beviteli mezőbe, és válasszon ügynököt az automatikus kiegészítésből, vagy gépelje be a nevet saját maga:

@alice fix the login bug

A megemlített ügynök résztvevőként bekerül a térbe, ha még nem az, és a tér kontextusával és módjával indul el. A nem említett résztvevők látják az üzenetet, de nem indulnak el.

Ha olyan üzenetet küld, amelyben egyetlen ügynököt sem említ meg, a Control Center maga választ válaszolót: azt az ügynököt, amelyik utoljára beszélt a beszélgetésben, ha ilyen nincs, a beszélgetés tulajdonosát, amennyiben van neki, ha az sincs, a tér résztvevői közül az első legfelső szintű ügynököt. Egyetlen ügynököt tartalmazó térben ez mindig az az egyetlen ügynök.

Az említési token illesztése kis- és nagybetűt nem megkülönböztető módon, pontos név vagy előtag alapján történik. Így a @arch eléri a architect nevű ügynököt, a @Alice pedig az alice-t.

Két következmény, amelyre érdemes felkészülni:

  • A rövid token nem hiba. Ha két ügynök osztozik egy előtagon, az elsőként megtalált nyer, és hogy melyik lesz az, a sorrendtől függ — nem valamilyen holtversenyt feloldó szabálytól. Amikor a nevek átfednek, használja a teljes nevet.
  • A tokennek csak betűk, számjegyek és aláhúzásjel lehet a része. Az elemző a @(\w+) mintára illeszt, így a @code-reviewer a code tokenként, a @my agent pedig a my tokenként értelmeződik. Az olyan ügynök, amelynek a nevében kötőjel, pont vagy szóköz van, nem említhető meg megbízhatóan — még az automatikus kiegészítéssel sem, amely a nevet sima szövegként szúrja be. Az ügynökök nevét egyetlen szóban vagy aláhúzásjelekkel írja.

Az említéseket a rendszer eltávolítja a szövegből, mielőtt az eljutna az ügynökhöz. Az az üzenet, amely csak említésekből áll (@alice), ezért semmit nem indít el — adjon neki valami tennivalót.

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

Mindkét ügynök párhuzamosan indul el ugyanabba a beszélgetésbe, és mindketten megkapják a teljes üzenetet.

Ráadásul megosztják az adott tér worktree-it. A repók worktree-i térenként készülnek el, nem ügynökönként; mindegyik ügynök saját overlay-munkakönyvtárat kap az AGENTS.md fájljához, a készségeihez és a konfigurációjához, a megosztott repók pedig írás-olvasás módban vannak beléjük kapcsolva. Így előfordulhat, hogy két együtt megemlített ügynök látja egymás módosításait — és össze is ütközik.

Bármely @token, amely nem illeszkedik egyetlen ügynökre sem, a munkaterület emberi tagjai között kerül feloldásra, handle alapján, ugyanazzal a kis- és nagybetűt nem megkülönböztető, pontos vagy előtag-egyezés szabályával.

Egy feloldott emberi említés semmit nem indít el. Kizárólag az üzenet metaadatain utazik, hogy az értesítés-útválasztó értesíthesse az illetőt.

Az ügynöknevek mindig elsőbbséget élveznek, és egy ügynök által lefoglalt tokent soha nem kínál fel a rendszer a tagok listájának — egy @word soha nem oldódhat fel egynél több jogalanyra.

Az elindított ügynök a promptjában egy „Summons” blokkot kap, amely megnevezi, ki hívta, és felsorolja a tér névsorát — a többi ügynököt (legfelső szintűként vagy beosztottként megjelölve) és az emberi tagokat —, hogy tudja, kinek adhatja át a munkát. A blokk azt is elmondja neki, hogy ha a válaszában megemlít egy másik ügynököt, az felébred, a saját maga megemlítése pedig figyelmen kívül marad.

Amikor egy ügynök megemlít egy ügynököt

Szekció neve “Amikor egy ügynök megemlít egy ügynököt”

Az ügynök a saját válaszában is átadhatja a munkát. Amikor egy kör tisztán fejeződik be, a szövegében szereplő említések feloldódnak, az érintett ügynökök bekerülnek a térbe, és ugyanabba a beszélgetésbe indulnak el, promptként az említést tevő kört kapva. Az a kör, amely meghiúsult vagy megszakadt, senkit nem ébreszt fel — gondolat közben állt le.

A szabályok szándékosan szigorúbbak, mint a beviteli mezőéi, mert nincs ott senki, aki kijavítaná a téves találgatást:

  • Csak pontos nevek. Előtag-egyezés nincs. A @arch eléri a architect ügynököt, ha ember gépeli be; ügynöktől kiindulva senkit nem ér el. Az a név, amely két ügynökre is illeszkedik, szintén senkit nem ér el.
  • A kód nem prózaszöveg. A kerített kódblokkokban vagy `backticks` között lévő említéseket a rendszer figyelmen kívül hagyja, így biztonságos egy @Override annotációt vagy egy pip install foo@1.2 parancsot idézni. Egy lezáratlan kerítés hatására minden utána következő rész semmissé válik.
  • Az előző tokenhez ragadt @ nem említés — a sam@host.com, a pkg/@scope és a node@20 senkit nem ér el.
  • A kötőjelek megmaradnak, így a @code-reviewer önmagaként oldódik fel, nem pedig a code tokenként.
  • Körönként legfeljebb három ügynök. Az az ügynök, amely hat csapattársat sorol fel egy összefoglalóban, csak felsorolja őket, nem hívja meg őket.

Az ébresztési láncot ugyanúgy korlátozza a rendszer, ahogy a delegálást: legfeljebb 3 mélységig terjed, és egy már a láncon lévő ügynököt az nem ébresztheti fel újra (nincs A → B → A). Egy adott rendezett páros a láncokon átívelve is sebességkorlátozott. A visszautasított ébresztés rendszerüzenetet helyez el a beszélgetésben, amely megmondja, melyik említés nem került kézbesítésre és miért — a feloldatlan név azonban nem tesz ilyet, mert különben a mondatban szereplő bármely @ magáról mesélne.

Ha olyan átadásra van szükség, amely nem függhet a prózaszövegtől — kérés/válasz esetén, vagy amikor a téren kívüli ügynököt kell elérni —, használja helyette a send_to_agent, az ask_agent és a delegate_task eszközt.