Managed Deep Agent를 Slack에 연결하기

Managed Deep Agent를 Slack에 연결하기

Slack 메시지에서 Managed Deep Agents 실행을 시작하고 응답을 Slack 대화로 보낼 수 있어요.

Slack 채널을 사용하면 사람들이 앱 언급, 직접 메시지, 활성 Slack 스레드의 답변을 통해 관리형 딥 에이전트를 호출할 수 있습니다. Managed Deep Agents는 Slack 이벤트를 검증하고, 각 대화를 스레드에 매핑하고, 에이전트를 해석된 호출자로 실행하고, 응답을 Slack에 다시 게시합니다.

Managed Deep Agents는 Slack을 배포된 에이전트에 연결하는 리소스를 만들고 구성합니다. 에이전트 프로젝트에 채널 선언을 추가한 다음 배포하세요.

Managed Deep Agents는 공개 베타 상태이며 LangSmith Cloud의 미국 지역에서만 사용할 수 있어요.

출처: 문서

본문

프로젝트 구조 (Project structure)

my-agent/
  agent.ts
  channels/
    slack.ts

Slack 채널 추가하기 (Add a Slack channel)

관리형 딥 에이전트 배포는 하나의 Slack 채널을 지원합니다.

채널 선언은 channels/slack.ts에 있습니다.

프로젝트를 만들 때 Slack을 포함하려면 --channel slack을 전달하세요:

npx managed-deepagents init my-agent --channel slack
pnpm dlx managed-deepagents init my-agent --channel slack
bunx managed-deepagents init my-agent --channel slack

기존 프로젝트에 Slack을 추가하려면 프로젝트 루트에서 채널 초기화 명령을 실행하세요:

npx mda channels init slack
pnpm exec mda channels init slack
bunx mda channels init slack
import { channels } from "managed-deepagents";

export const channel = channels.slack();

Slack에서 에이전트 외관 구성하기 (Configure your agent's appearance in Slack)

채널 선언을 편집해 에이전트가 Slack에 어떻게 나타나는지 제어합니다.

  • name (string): Slack의 에이전트 이름. 이름은 1–35자여야 하며 문자, 숫자, 공백, 밑줄, 대시, 마침표를 포함할 수 있습니다. 공백이나 대시로 시작하거나 끝날 수 없습니다.
  • description (string): 에이전트가 하는 일에 대한 설명. 설명은 최대 139자까지 포함할 수 있습니다.
  • icon (string): Slack에 표시되는 에이전트 아이콘 경로로, channels/ 디렉터리에 상대적입니다. 아이콘은 1MB 이하의 512 x 512 픽셀 PNG 파일이어야 합니다. 이 파라미터를 생략하면 Managed Deep Agents가 아이콘을 생성해 줍니다.
  • backgroundColor (string): 에이전트 아이콘 뒤의 배경색으로, #1d4ed8 같은 여섯 자리 16진수 색상.

예를 들어 채널 선언 옆에 아이콘을 넣습니다:

my-agent/
  agent.ts
  channels/
    slack.ts
    support-agent.png
import { channels } from "managed-deepagents";

export const channel = channels.slack({
  name: "Support Agent",
  description: "Answers customer questions about orders and returns",
  icon: "support-agent.png",
  backgroundColor: "#1d4ed8",
});

실행을 시작하는 메시지 구성하기 (Configure which messages start runs)

  • triggerOnAllMessages (boolean, default false): 모든 새 채널 메시지가 에이전트 실행을 시작할 수 있는지 여부. false이면 채널 메시지는 에이전트를 언급할 때만 실행을 시작합니다. 직접 메시지는 여전히 실행을 시작합니다.
  • allowBotTriggers (boolean, default false): 다른 Slack 봇의 메시지가 에이전트 실행을 시작할 수 있는지 여부.

에이전트 배포하기 (Deploy the agent)

배포 중에 Managed Deep Agents는 채널 선언에서 Slack에 에이전트를 프로비저닝합니다.

에이전트 배포하기 (Deploy your agent)

프로젝트 루트에서 배포 명령을 실행합니다:

npx mda deploy
pnpm exec mda deploy
bunx mda deploy

Managed Deep Agents는 에이전트를 배포하고 Slack에 나타나는 데 필요한 리소스를 설정합니다.

요청 시 Slack 승인하기 (Authorize Slack if prompted)

이전에 LangSmith를 승인하지 않았다면 CLI가 HTTPS 승인 링크를 표시합니다. 링크를 열고 Slack 워크스페이스를 선택한 다음 요청된 접근을 승인합니다.

터미널로 돌아가 Enter를 누릅니다. CLI가 승인을 다시 확인하고 프로비저닝을 계속합니다. Slack 워크스페이스에 관리자 승인이 필요한 경우 계속하기 전에 해당 승인을 완료하세요.

Slack에서 에이전트 사용하기 (Use the agent in Slack)

첫 배포 후 에이전트가 Slack에서 직접 메시지를 보냅니다. 메시지에 답하면 에이전트 실행이 시작됩니다. 최종 응답이 Slack 대화에 나타납니다.

Slack의 Human-in-the-loop 요청은 approvereject 의사결정 유형만 지원합니다.

Slack이 이미 승인되어 있으면 승인 프롬프트 없이 배포가 완료됩니다.

Slack 채널 선언에서 에이전트의 이름, 설명, 아이콘 또는 배경색을 변경한 후에는 에이전트를 재배포하여 Slack에 변경 사항을 적용하세요.

참고 (See also)

  • 채널 개요: 채널이 메시징 서비스를 에이전트에 연결하는 방식을 이해합니다.
  • 에이전트 배포: 관리형 딥 에이전트를 구성하고 배포합니다.
  • CLI 참조: Managed Deep Agents 명령과 플래그를 검토합니다.

더 알아보기 (Learn more)