Archyl 봇을 채널별로 범위 지정: 올바른 방에, 올바른 프로젝트만

6월에 Archyl을 Slack과 Teams에 넣었을 때, 봇은 모든 채널에서 조직의 모든 프로젝트에 대해 답했습니다. 작은 팀에게는 그것이 올바른 기본값입니다. 하지만 결제팀, 대출팀, 플랫폼팀이 있는 워크스페이스에서는, #payments의 누군가가 "원장에 의존하는 것은?"이라고 물으면 대출 플랫폼의 원장에 대한 답이 엉뚱한 방에 돌아오고, 그 답을 근거로 결정이 내려질 때까지 아무도 알아차리지 못합니다.

오늘부터 채널이 봐야 할 것만 보도록 범위를 좁힐 수 있습니다. 관리자가 Slack 채널이나 Teams 대화를 하나 이상의 팀, 또는 명시적인 프로젝트 목록으로 범위 지정합니다. 조직의 나머지는 모두 그 채널에서 보이지 않게 됩니다. 범위를 지정하지 않은 채널은 조직 전체라는 기본값을 유지합니다.

#payments를 Payments 팀으로 범위 지정하기

Payments 팀이 Checkout, Billing, PaymentService 세 프로젝트를 소유한다고 합시다. Archyl에서 조직 → 봇 → 채널 범위를 열고 채널 범위 지정을 클릭합니다. 세 단계입니다.

  1. 채널이 보는 범위. Payments 팀을 선택합니다. 채널이 특정 팀에 대응하지 않는다면 프로젝트를 하나씩 고를 수도 있습니다.
  2. 어떤 채널. Slack 또는 Teams를 선택하고 목록에 표시할 이름 #payments를 입력합니다. 명령 받기를 클릭합니다.
  3. #payments에 이것을 붙여넣으세요. Archyl이 명령을 보여줍니다. 그것을 채널에 보내세요.
@Archyl scope K7Q4M2PX

봇은 적용한 범위와 그것이 해석된 프로젝트를 채널에서 확인해 줍니다.

✅ This channel is now scoped to team "Payments" — Billing, Checkout, PaymentService.

코드가 적용되는 순간, 페이지를 새로 고치지 않아도 채널이 Archyl의 목록에 나타납니다. 그때부터 #payments는 그 세 프로젝트에 대해서만 답하고 다른 것에는 답하지 않습니다. 대출 플랫폼에 대해 물어봐도 답할 재료가 없습니다. 그 프로젝트는 컨텍스트에 없고, 도구도 가져오기를 거부하기 때문입니다.

범위가 프로젝트 ID 목록이 아니라 팀이기 때문에, 범위는 팀을 따라갑니다. 다음 분기에 Payments가 네 번째 프로젝트를 맡으면, 다음에 누군가 질문하는 시점부터 채널이 그 프로젝트도 다룹니다. 바인딩은 답변 시점에 확장되는 것이지, 만들 때 복사되는 것이 아닙니다.

왜 버튼이 아니라 코드인가

봇은 자신을 연결한 관리자의 권한으로 답하며, 채널에서 누가 입력하는지 알 수 없습니다. 누구나 실행할 수 있는 슬래시 명령이라면 채널의 어떤 멤버든 봇이 드러내는 범위를 넓히거나 좁힐 수 있게 됩니다. 그래서 범위 지정은 Archyl에서 시작합니다. 코드는 조직 관리자가 발급하고, 15분 동안 유효하며, 한 번만 동작합니다.

코드를 채널에 붙여넣는 행위가 어떤 채널을 의미했는지 Archyl에 알려줍니다. 봇은 채널 이름도 읽을 수 없기 때문입니다. 2단계에서 입력한 이름은 목록에 표시할 이름일 뿐입니다. 바인딩 자체는 명령을 붙여넣은 채널에 이루어집니다.

프롬프트가 아니라 도구 계층에서 강제

범위가 지정된 채널은 이야기할 수 있는 프로젝트를 명시한, 더 좁은 시스템 프롬프트를 받기는 합니다. 하지만 그것은 유도일 뿐, 유도는 경계가 아닙니다. 경계는 더 아래에 있습니다.

봇이 Archyl의 MCP 서버에 보내는 모든 호출에는 채널의 프로젝트 허용 목록이 실리고, 서버는 그것을 호출마다 적용합니다. ID로 요소를 요청받은 도구는 그 요소가 어느 프로젝트에 속하는지 확인하고, 범위 밖이면 거부합니다. 목록 도구도 같은 방식으로 결과를 필터링합니다. 도구를 호출하는 대신 컨텍스트 번들로 답하는 직접 모드에서는, 같은 허용 목록이 번들을 좁힙니다. 다른 프로젝트의 container를 ID로 요청해도 동작하지 않습니다. 어떤 데이터를 읽기 전에 거부가 일어나기 때문입니다.

알아둘 만한 결과 두 가지:

  • 조직 수준의 ADR, 문서, API 계약은 범위가 지정된 채널에서도 계속 보입니다. 프로젝트가 아니라 조직에 속하므로 프로젝트 필터가 적용되지 않습니다.
  • 범위는 fail-closed로 동작합니다. 프로젝트를 하나도 소유하지 않은 팀에 바인딩된 채널은 아무것도 답하지 않고 그렇게 말합니다. 조용히 조직 전체로 되돌아가지 않습니다.

다시 넓히기

Archyl의 목록에서 채널 옆의 해제를 클릭합니다. 다음 질문부터 채널은 조직 전체라는 기본값으로 돌아갑니다.

이용 가능한 플랜

Slack 및 Teams 봇은 Business, Scale, Custom 플랜에 포함되며, 채널 범위 지정도 함께 제공됩니다. 전체 안내는 문서의 채널을 팀 또는 프로젝트로 범위 지정하기에 있습니다.

봇이 이미 공유 워크스페이스에 있다면, 가장 먼저 범위를 지정할 채널은 잘못된 답이 가장 큰 비용을 치를 곳입니다. 대부분의 팀에게 그것은 이름에 "payments"가 들어간 채널입니다.