エージェントを @メンション
このガイドでは、スペース内でエージェントとチームメイトを @メンションする方法を説明します。
エージェントをメンションする
「エージェントをメンションする」というセクションコンポーザーで @ を入力してオートコンプリートからエージェントを選ぶか、名前を自分で
入力します:
@alice fix the login bugメンションされたエージェントは、まだ参加者でなければスペースに参加者として追加され、 そのスペースのコンテキストとモードでディスパッチされます。メンションされなかった 参加者はメッセージを見ますが、ディスパッチはされません。
エージェントのメンションを含まないメッセージを送ると、Control Center が応答者を自分で 選びます。会話で最後に発言したエージェント、それがいなければ会話にオーナーがいれば そのオーナー、それもいなければスペースの参加者の中で最初のトップレベルエージェント です。エージェントが 1 体だけのスペースでは、常にその唯一のエージェントです。
名前がどう照合されるかを知る
「名前がどう照合されるかを知る」というセクションメンショントークンは大文字と小文字を区別せず、完全一致または前方一致で照合され
ます。つまり @arch は architect という名前のエージェントに届き、@Alice は alice
に届きます。
これに備えて計画しておく価値のある帰結が 2 つあります:
- 短いトークンはエラーではありません。 2 体のエージェントが同じプレフィックスを 共有している場合、最初に見つかった方が勝ち、どちらが勝つかは順序に依存します — 同点を解決する規則によるものではありません。名前が重なる場合は、常に完全な名前を 使ってください。
- トークンの一部になるのは英字、数字、アンダースコアだけです。 パーサーは
@(\w+)にマッチするため、@code-reviewerはトークンcodeとして、@my agentはmyとして 読まれます。名前にハイフン、ドット、空白を含むエージェントを確実にメンションすることは できません — 名前をプレーンテキストとして挿入するオートコンプリートを使っても同じ です。エージェントの名前は 1 語にするか、アンダースコアで付けてください。
メンションは、テキストがエージェントに届く前にそこから取り除かれます。したがって、
メンション_だけ_のメッセージ(@alice)は何もディスパッチしません — やることを
与えてください。
複数のエージェントを一度にメンションする
「複数のエージェントを一度にメンションする」というセクション@alice refactor the auth module. @bob write tests for it.両方のエージェントが同じ会話に並行してディスパッチされ、どちらもメッセージ全体を 受け取ります。
両者はそのスペースのワークツリーを共有もします。リポジトリのワークツリーは
エージェントごとではなくスペースごとにプロビジョニングされます。各エージェントは
自分の AGENTS.md、スキル、設定のためのオーバーレイ作業ディレクトリを独自に持ち、
共有リポジトリは読み書き可能でリンクされます。そのため、一緒にメンションされた
2 体のエージェントは、互いの編集を見ることができ、衝突もします。
チームメイトをメンションする
「チームメイトをメンションする」というセクションエージェントにマッチしなかった @token はすべて、同じ大文字と小文字を区別しない
完全一致または前方一致の規則で、ワークスペースの人間のメンバーに対してハンドルで
試されます。
解決された人間のメンションは何もディスパッチしません。それは、通知ルーターが その人にピングを送れるようにするためだけに、メッセージのメタデータに乗っています。
エージェントの名前は常に最初に試され、エージェントが確保したトークンがメンバー一覧に
回されることはありません — 1 つの @word が解決できるプリンシパルは常に 1 つだけです。
エージェントが受け取るもの
「エージェントが受け取るもの」というセクションディスパッチされたエージェントは、プロンプトの中に「Summons」ブロックを受け取ります。 そこには、誰が自分を呼び出したかが書かれ、スペースの名簿 — 他のエージェント (トップレベルまたはサブとして印が付けられています)と人間のメンバー — が一覧表示 されるため、誰にハンドオフできるかを把握できます。このブロックは、返信の中で別の エージェントをメンションするとそのエージェントが起きること、自分自身をメンションしても 無視されることも伝えます。
エージェントがエージェントをメンションする場合
「エージェントがエージェントをメンションする場合」というセクションエージェントは自分の返信の中でハンドオフできます。ターンがきれいに終了したとき、 そのテキスト内のメンションが解決され、それらのエージェントはスペースに追加されて同じ 会話にディスパッチされます。メンションしたターンが彼らのプロンプトになります。失敗 したターンや中断されたターンは誰も起こしません — 思考の途中で止まったからです。
規則は、コンポーザーのものより意図的に厳しくなっています。誤った推測を直してくれる人を 誰も見ていないからです:
- 完全な名前だけ。 前方一致はしません。
@archは人間が入力したときはarchitectに 届きますが、エージェントからは誰にも届きません。2 体のエージェントにマッチする名前も 誰にも届きません。 - コードは散文ではありません。 フェンス付きブロック内や
`backticks`内の メンションは無視されるため、@Overrideアノテーションやpip install foo@1.2を 引用しても安全です。閉じられていないフェンスは、それ以降すべてを空白にします。 - 前のトークンに連結した
@はメンションではありません —sam@host.com、pkg/@scope、node@20は誰にも解決されません。 - ハイフンは保持されます — そのため
@code-reviewerはcodeというトークンとして ではなく、それ自体として解決されます。 - 1 ターンにつき最大 3 体のエージェント。 サマリーで 6 人のチームメイトを挙げている エージェントは、それを並べているのであって、召喚しているのではありません。
ウェイクチェーンは委任と同じように制限されます。深さ 3 で、すでにチェーン上にいる
エージェントをそのチェーンで再び起こすことはできません(A → B → A は不可)。順序付き
のペアは、チェーンをまたいでもレート制限されます。拒否されたウェイクは、どのメンションが
なぜ届かなかったのかを伝えるシステムメッセージを会話に投稿します — 解決されなかった
名前の場合は投稿しません。そうでなければ、文中のあらゆる @ が自らを語り出すことに
なるからです。
散文に依存してはならないハンドオフ — リクエスト/応答、またはスペース外のエージェントに
到達すること — には、代わりに send_to_agent、ask_agent、delegate_task ツールを
使ってください。