Zum Inhalt springen

Agenten mit @ erwähnen

Diese Anleitung zeigt, wie du Agenten und Teammitglieder in einem Bereich mit @ erwähnst.

Tippe @ in den Composer und wähle einen Agenten aus der Autovervollständigung, oder schreib den Namen selbst:

@alice fix the login bug

Der erwähnte Agent wird dem Bereich als Teilnehmer hinzugefügt, falls er es noch nicht ist, und mit Kontext und Modus des Bereichs losgeschickt. Teilnehmer ohne Erwähnung sehen die Nachricht, werden aber nicht losgeschickt.

Schickt du eine Nachricht ohne Erwähnung eines Agenten, wählt Control Center selbst, wer antwortet: den Agenten, der in der Unterhaltung zuletzt gesprochen hat, sonst den Eigentümer der Unterhaltung, falls es einen gibt, sonst den ersten Agenten der obersten Ebene unter den Teilnehmern des Bereichs. In einem Bereich mit nur einem Agenten ist das immer dieser eine.

Ein Erwähnungstoken wird ohne Unterscheidung der Groß- und Kleinschreibung zugeordnet, nach exaktem Namen oder Präfix. @arch erreicht also einen Agenten namens architect, und @Alice erreicht alice.

Zwei Folgen, die du einplanen solltest:

  • Ein kurzes Token ist kein Fehler. Teilen sich zwei Agenten ein Präfix, gewinnt der zuerst gefundene, und welcher das ist, hängt von der Reihenfolge ab — nicht von einer Gleichstandsregel. Nimm den vollen Namen, sobald sich Namen überlappen.
  • Zum Token gehören nur Buchstaben, Ziffern und Unterstriche. Der Parser erkennt @(\w+), deshalb wird @code-reviewer als Token code gelesen und @my agent als my. Ein Agent, dessen Name einen Bindestrich, einen Punkt oder ein Leerzeichen enthält, lässt sich nicht zuverlässig erwähnen — auch nicht über die Autovervollständigung, die den Namen als reinen Text einfügt. Benenne Agenten in einem Wort oder mit Unterstrichen.

Erwähnungen werden aus dem Text entfernt, bevor er den Agenten erreicht. Eine Nachricht, die nur aus Erwähnungen besteht (@alice), schickt deshalb niemanden los — gib ihr etwas zu tun.

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

Beide Agenten werden parallel in dieselbe Unterhaltung losgeschickt, und beide bekommen die volle Nachricht.

Sie teilen sich außerdem die Worktrees dieses Bereichs. Repo-Worktrees werden je Bereich bereitgestellt, nicht je Agent; jeder Agent bekommt ein eigenes Overlay-Arbeitsverzeichnis für seine AGENTS.md, seine Skills und seine Konfiguration, und die gemeinsamen Repos sind lesend und schreibend verknüpft. Zwei gemeinsam erwähnte Agenten sehen die Änderungen des anderen also — und können damit kollidieren.

Jedes @token, das keinem Agenten entspricht, wird gegen die menschlichen Mitglieder des Arbeitsbereichs geprüft, nach Handle, mit derselben Regel ohne Unterscheidung der Groß- und Kleinschreibung: exakter Name oder Präfix.

Eine aufgelöste Erwähnung eines Menschen schickt niemanden los. Sie sitzt nur in den Metadaten der Nachricht, damit der Benachrichtigungsrouter diese Person anpingen kann.

Agentennamen werden immer zuerst geprüft, und ein Token, das ein Agent beansprucht, kommt nie in die Mitgliederliste — ein @word löst sich immer nur zu genau einem Prinzipal auf.

Ein losgeschickter Agent bekommt in seinem Prompt einen Block „Summons“. Der nennt, wer ihn gerufen hat, und listet die Teilnehmer des Bereichs auf — die anderen Agenten (markiert als „top-level agent“ oder „subordinate agent“) und die menschlichen Mitglieder —, damit er weiß, an wen er übergeben kann. Der Block sagt ihm außerdem, dass die Erwähnung eines anderen Agenten in der Antwort diesen Agenten weckt und dass die Erwähnung seiner selbst ignoriert wird.

Ein Agent kann in der eigenen Antwort übergeben. Endet ein Zug sauber, werden die Erwähnungen in seinem Text aufgelöst, diese Agenten dem Bereich hinzugefügt und in dieselbe Unterhaltung losgeschickt, mit dem erwähnenden Zug als ihrem Prompt. Ein Zug, der fehlgeschlagen ist oder unterbrochen wurde, weckt niemanden — er ist mitten im Gedanken stehen geblieben.

Die Regeln sind absichtlich strenger als die des Composers, weil niemand zusieht, der eine falsche Zuordnung korrigieren könnte:

  • Nur exakte Namen. Keine Präfix-Übereinstimmung. @arch erreicht architect, wenn ein Mensch es tippt; von einem Agenten aus erreicht es niemanden. Ein Name, der zwei Agenten trifft, erreicht ebenfalls niemanden.
  • Code ist kein Fließtext. Erwähnungen in eingezäunten Blöcken oder in `backticks` werden ignoriert, deshalb ist das Zitieren einer @Override-Annotation oder von pip install foo@1.2 ungefährlich. Ein nicht abgeschlossener Zaun blendet alles danach aus.
  • Ein @, das am vorherigen Token klebt, ist keine Erwähnung — sam@host.com, pkg/@scope und node@20 lösen sich zu niemandem auf.
  • Bindestriche bleiben erhalten, deshalb löst sich @code-reviewer als ganzer Name auf und nicht als das Token code.
  • Höchstens drei Agenten je Zug. Listet ein Agent in einer Zusammenfassung sechs Teammitglieder auf, listet er sie, er ruft sie nicht.

Eine Aufwachkette ist genauso begrenzt wie die Delegation: Tiefe 3, und ein Agent, der schon auf der Kette steht, lässt sich von ihr nicht noch einmal wecken (kein A → B → A). Ein geordnetes Paar wird außerdem über Ketten hinweg gedrosselt. Eine abgelehnte Aufweckung schreibt eine Systemnachricht in die Unterhaltung und sagt, welche Erwähnung nicht zugestellt wurde und warum — ein unaufgelöster Name tut das nicht, sonst würde jedes @ in einem Satz von sich selbst erzählen.

Für eine Übergabe, die nicht vom Fließtext abhängen darf — eine Anfrage mit Antwort oder das Erreichen eines Agenten außerhalb des Bereichs —, nimm stattdessen die Werkzeuge send_to_agent, ask_agent und delegate_task.