본문 바로가기

인공지능

Slack에서 직접 운영하는 오픈소스 AI 에이전트, OpenTag 기술 정리

728x90
반응형
728x170

이 글은 Slack 환경에서 동작하는 오픈소스 AI 에이전트 OpenTag에 대해 정리한 기술 블로그입니다. OpenTag는 Slack 대화 스레드를 읽고, 응답을 생성하며, 도구를 호출하고, 결과를 대화 안에서 바로 시각적으로 보여주는 AI 에이전트입니다. 특히 상용 서비스에 종속되지 않고, 직접 모델과 인프라를 선택해 운영할 수 있다는 점에서 개발자와 기술 조직에 큰 의미를 가집니다. 이 글에서는 OpenTag의 개념, 등장 배경, 주요 특징, 아키텍처 구성, 실행 방법, 그리고 기대 효과까지 차분히 살펴봅니다.

반응형

OpenTag란 무엇인가

OpenTag는 Slack 안에서 실행되는 AI 에이전트로, 대화 스레드를 이해하고 요약하거나, 표와 차트 같은 결과물을 바로 렌더링하고, 사람의 승인 이후에만 실제 작업을 수행하도록 설계된 시스템입니다.

가장 큰 특징은 Claude와 유사한 사용자 경험을 Slack에서 제공하면서도, 오픈소스이자 셀프 호스팅이 가능하다는 점입니다. 즉, 런타임과 모델, 도구 연동까지 모두 직접 소유하고 제어할 수 있습니다. 좌석 수 기반 과금이나 벤더 종속(lock-in) 없이 AI 에이전트를 운영하고 싶은 팀을 겨냥한 구조입니다.


OpenTag가 등장한 배경

많은 조직이 Slack을 업무의 중심 허브로 사용하고 있지만, AI를 본격적으로 연결하려고 하면 다음과 같은 문제에 부딪힙니다.

  • 외부 SaaS 기반 AI 도구는 데이터 통제와 보안이 불안하다
  • 좌석 수 기반 요금이 빠르게 부담으로 커진다
  • 커스텀 도구 연동이나 승인 프로세스(human-in-the-loop)가 어렵다

OpenTag는 이런 문제를 해결하기 위해 만들어졌습니다. 오픈소스로 공개되어 있고, 직접 모델(OpenAI, Anthropic 등)을 선택해 연결할 수 있으며, Slack 내부에서 바로 실행되는 구조를 제공합니다.


CopilotKit 기반의 구조

OpenTag는 CopilotKit에서 제공하는 오픈 SDK 위에 구축된 예제 프로젝트입니다. Slack을 시작으로 Discord, Telegram, WhatsApp까지 동일한 코드베이스로 확장할 수 있도록 설계돼 있습니다.

핵심은 “채팅 플랫폼용 에이전트”를 만들기 위한 공통 레이어를 제공한다는 점입니다. OpenTag는 이 SDK를 활용한 실제 동작 예시이자, 바로 운영 가능한 레퍼런스 구현체라고 볼 수 있습니다.


OpenTag의 핵심 기능과 특징

Slack 대화 맥락 이해

OpenTag는 단순히 메시지 하나에 반응하는 봇이 아닙니다. Slack의 스레드를 읽고, 맥락을 이해한 뒤 그 흐름에 맞는 응답을 생성합니다. 예를 들어 “이 스레드 요약해줘”라는 요청을 받으면, 앞선 대화를 모두 분석해 핵심만 정리합니다.

Generative UI 지원

응답은 텍스트에 그치지 않습니다. 표, 리스트, 차트 같은 결과물을 Slack 대화 안에 바로 렌더링합니다. 데모에서는 이슈 분석 결과를 표로 보여주고, 막대 차트까지 함께 표시하는 모습이 소개됩니다.

Human-in-the-loop 승인 구조

OpenTag는 자동으로 작업을 실행하지 않습니다. 예를 들어 버그 티켓을 생성하는 작업이라면, 반드시 사용자의 Approve 승인 이후에만 실제 실행이 이뤄집니다. 이 구조는 기업 환경에서 특히 중요한 통제와 신뢰성을 제공합니다.

완전한 셀프 호스팅

OpenTag는 상용 서비스가 아니라, 직접 실행하고 운영하는 구조입니다.

  • 런타임: AI 에이전트와 도구 실행
  • 봇: Slack과의 연결 담당
  • 모델: OpenAI, Anthropic 등 직접 선택

이 모든 것을 직접 소유하기 때문에 데이터 흐름과 비용 구조를 명확하게 관리할 수 있습니다.


OpenTag 아키텍처 구성

OpenTag는 두 개의 프로세스로 실행됩니다.

  1. 에이전트(Runtime)
    LLM과 도구를 실행하는 백엔드입니다. CopilotKit Runtime 위에서 동작하며, AG-UI 방식으로 응답을 제공합니다.
  2. 봇(Bot)
    Slack과 연결되는 프로세스로, 메시지 수신과 응답 전송을 담당합니다.

이 둘은 분리돼 있어 확장성과 운영 유연성이 높습니다.


사용되는 주요 패키지 구성

OpenTag는 CopilotKit의 여러 패키지를 얇게 조합한 구조입니다.

필수 패키지 구성은 다음과 같습니다.

  • bot 엔진: 스레딩, 도구 호출, 승인 게이트 처리
  • runtime: LLM과 도구를 실행하는 에이전트 백엔드
  • bot UI: Slack에 맞는 리치 메시지 렌더링
  • Slack 어댑터: Slack 플랫폼 연결 담당

필요에 따라 다른 플랫폼 어댑터나 추가 도구를 선택적으로 붙일 수 있습니다.


OpenTag 실행 방식 요약

셀프 호스팅 기준으로 OpenTag는 다음 흐름으로 실행됩니다.

  1. Slack 앱 생성 및 토큰 발급
  2. 환경 변수에 Slack 토큰과 LLM API 키 설정
  3. CopilotKit 모노레포에서 패키지 설치
  4. 런타임과 봇 프로세스 각각 실행
  5. Slack에서 봇을 멘션해 대화 시작

이 과정을 통해 Slack 안에서 바로 AI 에이전트와 상호작용할 수 있습니다.


OpenTag의 확장성과 커스터마이징

OpenTag는 의도적으로 작고 단순하게 설계돼 있습니다.

  • system prompt 하나만 바꿔도 완전히 다른 성격의 에이전트를 만들 수 있습니다
  • 도구 연동을 통해 이슈 트래커, 문서 도구, 데이터베이스 등과 연결할 수 있습니다
  • 하나의 코드로 여러 채팅 플랫폼에 동시에 배포할 수 있습니다

즉, OpenTag는 “완성된 제품”이라기보다, 자신만의 Slack AI 에이전트를 만들기 위한 출발점에 가깝습니다.


728x90

OpenTag는 Slack 안에서 동작하는 오픈소스 AI 에이전트의 현실적인 대안을 제시합니다. 상용 AI 서비스의 편리함을 유지하면서도, 인프라와 데이터, 모델 선택권을 직접 가져갈 수 있다는 점이 가장 큰 가치입니다.

특히 보안과 비용, 커스터마이징이 중요한 조직이라면 OpenTag는 충분히 검토할 만한 선택지입니다. 앞으로 관리형 서비스가 더해질 경우, 운영 부담 없이도 같은 구조를 활용할 수 있을 것으로 기대됩니다.

Slack을 단순한 메신저가 아니라, 실제 업무를 수행하는 AI 인터페이스로 확장하고 싶다면 OpenTag는 매우 의미 있는 기술적 시도라고 볼 수 있습니다.

300x250

https://github.com/CopilotKit/OpenTag

 

GitHub - CopilotKit/OpenTag: OpenTag

OpenTag. Contribute to CopilotKit/OpenTag development by creating an account on GitHub.

github.com

728x90
반응형
그리드형