콘텐츠로 이동

에이전트 @멘션

이 가이드에서는 스페이스에서 에이전트와 팀원을 @멘션하는 방법을 설명합니다.

작성기에 @를 입력하고 자동 완성에서 에이전트를 고르거나, 이름을 직접 입력합니다:

@alice fix the login bug

멘션된 에이전트는 아직 참여자가 아니면 스페이스에 참여자로 추가되고, 스페이스의 컨텍스트와 모드로 디스패치됩니다. 멘션되지 않은 참여자는 메시지를 보지만 디스패치되지는 않습니다.

에이전트 멘션 없이 메시지를 보내면 Control Center가 응답자를 직접 고릅니다. 대화에서 마지막으로 말한 에이전트, 그런 에이전트가 없으면 대화의 소유자, 그것도 없으면 스페이스 참여자 중 첫 번째 최상위 에이전트입니다. 에이전트가 하나뿐인 스페이스에서는 언제나 그 유일한 에이전트입니다.

이름이 일치하는 방식 알아두기

섹션 제목: “이름이 일치하는 방식 알아두기”

멘션 토큰은 대소문자를 구분하지 않고 정확한 이름 또는 접두사로 일치합니다. 따라서 @arch는 architect라는 에이전트에 도달하고 @Alice는 alice에 도달합니다.

미리 대비해야 할 두 가지 결과가 있습니다:

  • 짧은 토큰도 오류가 아닙니다. 두 에이전트가 접두사를 공유하면 먼저 발견된 쪽이 이기며, 어느 쪽이 이기는지는 동점 처리 규칙이 아니라 순서에 달려 있습니다. 이름이 겹칠 때는 항상 전체 이름을 사용하세요.
  • 토큰의 일부가 되는 것은 문자, 숫자, 밑줄뿐입니다. 파서는 @(\w+)와 일치하므로 @code-reviewer는 토큰 code로, @my agent는 my로 읽힙니다. 이름에 하이픈, 점, 공백이 들어간 에이전트는 안정적으로 멘션할 수 없습니다 — 이름을 일반 텍스트로 삽입하는 자동 완성을 통해서도 마찬가지입니다. 에이전트 이름은 한 단어로 짓거나 밑줄을 사용하세요.

멘션은 텍스트가 에이전트에 도달하기 전에 제거됩니다. 따라서 멘션만 있는 메시지(@alice)는 아무것도 디스패치하지 않습니다 — 그런 메시지에는 시킬 일을 넣으세요.

여러 에이전트를 한 번에 멘션하기

섹션 제목: “여러 에이전트를 한 번에 멘션하기”
@alice refactor the auth module. @bob write tests for it.

두 에이전트는 같은 대화로 병렬 디스패치되고 둘 다 전체 메시지를 받습니다.

두 에이전트는 그 스페이스의 워크트리도 공유합니다. 저장소 워크트리는 에이전트마다가 아니라 스페이스마다 프로비저닝됩니다. 각 에이전트는 자신의 AGENTS.md, 스킬, 설정을 위한 오버레이 작업 디렉터리를 따로 받고, 공유 저장소는 읽기-쓰기로 연결됩니다. 따라서 함께 멘션된 두 에이전트는 서로의 편집을 볼 수 있고, 그 편집과 충돌할 수도 있습니다.

에이전트와 일치하지 않는 @token은 워크스페이스의 사람 멤버를 대상으로 핸들로 대조되며, 대소문자를 구분하지 않는 동일한 정확한 이름 또는 접두사 규칙이 적용됩니다.

해석된 사람 멘션은 아무것도 디스패치하지 않습니다. 알림 라우터가 그 사람에게 알릴 수 있도록 메시지 메타데이터에 실려 갈 뿐입니다.

에이전트 이름이 항상 먼저 시도되며, 에이전트가 차지한 토큰은 멤버 목록에 넘겨지지 않습니다 — 하나의 @word는 언제나 하나의 주체로만 해석될 수 있습니다.

디스패치된 에이전트는 프롬프트에서 “Summons” 블록을 받습니다. 이 블록은 누가 자신을 호출했는지 밝히고 스페이스 로스터 — 다른 에이전트(최상위 또는 하위로 표시됨)와 사람 멤버 — 를 나열하므로, 누구에게 일을 넘길 수 있는지 알 수 있습니다. 이 블록은 또 답변에서 다른 에이전트를 멘션하면 그 에이전트가 깨어나고, 자신을 멘션하면 무시된다는 것도 알려 줍니다.

에이전트가 에이전트를 멘션할 때

섹션 제목: “에이전트가 에이전트를 멘션할 때”

에이전트는 자신의 답변에서 일을 넘길 수 있습니다. 턴이 깨끗하게 끝나면 그 텍스트의 멘션이 해석되고, 해당 에이전트가 스페이스에 추가되어 같은 대화로 디스패치되며, 멘션한 턴이 그들의 프롬프트가 됩니다. 실패하거나 중단된 턴은 아무도 깨우지 않습니다 — 생각 도중에 멈췄기 때문입니다.

규칙은 작성기의 규칙보다 의도적으로 더 엄격합니다. 잘못된 추측을 바로잡아 줄 사람이 없기 때문입니다:

  • 정확한 이름만. 접두사 일치는 없습니다. @arch는 사람이 입력하면 architect에 도달하지만, 에이전트가 보내면 아무에게도 도달하지 않습니다. 두 에이전트와 일치하는 이름 역시 아무에게도 도달하지 않습니다.
  • 코드는 산문이 아닙니다. 펜스 블록이나 `백틱` 안의 멘션은 무시되므로, @Override 애너테이션이나 pip install foo@1.2를 인용해도 안전합니다. 닫히지 않은 펜스는 그 뒤의 모든 내용을 무효로 만듭니다.
  • 앞 토큰에 붙어 있는 @는 멘션이 아닙니다 — sam@host.com, pkg/@scope, node@20은 아무에게도 해석되지 않습니다.
  • 하이픈은 유지됩니다. 따라서 @code-reviewer는 토큰 code가 아니라 자기 자신으로 해석됩니다.
  • 턴당 최대 세 에이전트. 요약에서 팀원 여섯 명을 나열하는 에이전트는 그저 나열하는 것이지, 호출하는 것이 아닙니다.

웨이크 체인은 위임과 같은 방식으로 제한됩니다: 깊이 3이며, 이미 체인에 있는 에이전트는 그 체인에 의해 다시 깨어날 수 없습니다(A → B → A 없음). 순서 있는 쌍에는 체인을 넘나드는 속도 제한도 걸립니다. 거부된 웨이크는 어떤 멘션이 전달되지 않았고 그 이유가 무엇인지 대화에 시스템 메시지로 게시합니다. 해석되지 않은 이름은 그렇게 하지 않습니다. 그렇지 않으면 문장에 있는 모든 @가 스스로를 설명하게 될 것이기 때문입니다.

산문에 의존해서는 안 되는 인계 — 요청/응답, 또는 스페이스 밖의 에이전트에 도달하기 — 에는 대신 send_to_agent, ask_agent, delegate_task 도구를 사용하세요.