AI Tech Brief · 2026-08-06 · 오픈소스 / 에이전트 런타임

CopilotKit, AG-UI 에이전트를 슬랙·팀즈에서 돌리는 Channels SDK를 MIT 라이선스로 오픈소스 공개

CopilotKit · Channels SDK · AG-UI · Slack · Microsoft Teams

대부분의 팀은 이미 Slack이나 Microsoft Teams에서 일하고 있습니다. 반면 AI 에이전트는 보통 별도의 웹 챗봇 화면에 머물러 있습니다. CopilotKit이 공개한 Channels SDK는 이 간극을 없애기 위한 라이브러리입니다. 핵심 아이디어는 단순합니다 — "에이전트가 어디서 실행되든, 채널이 뭐든, 중간 규약만 같으면 된다." 그 공통 규약이 바로 AG-UI입니다.

1. Channels SDK가 해결하려는 문제

같은 에이전트를 Slack에서도, Teams에서도, Discord에서도 쓰고 싶을 때마다 우리는 매번 채널별 SDK를 새로 붙여야 했습니다. 메시지 포맷도, 버튼 카드 규칙도, 인증 방식도 제각각이었습니다.

Channels SDK는 채널 쪽 어댑터를 한 곳에 모으고, 에이전트 쪽은 AG-UI라는 단일 이벤트 스트림만 알도록 설계했습니다. 결과적으로 개발자는 한 번 만든 에이전트를 그대로 재사용할 수 있습니다.

2. 한 번의 대화 턴이 실제로 흘러가는 모습

사용자가 Slack에서 에이전트에게 "이번 주 매출 요약 알려줘" 라고 입력하면, 어떤 순서로 일이 진행되는지 살펴보겠습니다.

  1. 사용자 메시지 수신: Slack 어댑터가 입력 텍스트와 메타데이터(보낸 사람, 채널 ID, 스레드 정보)를 표준 이벤트로 변환합니다.
  2. 에이전트 컨텍스트 생성: 전달받은 이벤트를 에이전트가 읽고, 대화 기억·도구 사용 가능 여부·시스템 지시사항을 묶어 LLM 호출을 준비합니다.
  3. 스트리밍 응답: 에이전트는 텍스트를 한 줄씩 흘려 보냅니다. Channels SDK는 이를 받아 Slack Block Kit 메시지 / Teams Adaptive Cards 메시지로 점진적 렌더링합니다.
  4. 도구 호출: 매출 DB나 사내 검색이 필요해지면 MCP(Model Context Protocol) 같은 외부 도구를 호출하고, 결과를 다시 같은 카드 UI에 채워 넣습니다.
  5. Human-in-the-Loop 게이트: "회계팀에 보고서 발송" 같은 민감 작업은 사람의 승인 버튼을 통과해야만 실행됩니다.
  6. 상태 저장: 마지막 카드와 스레드 위치를 기억해, 다음 대화 턴에서 같은 컨텍스트를 이어갑니다.

3. 런타임 계약: "채널이 달라도 이벤트는 같다"

Channels SDK의 가장 중요한 약속은 런타임 계약(runtime contract)입니다. 이는 단순히 메시지 포맷의 문제가 아니라, 다음 네 가지를 채널과 무관하게 통일한다는 뜻입니다.

① 전송 모델. 사용자 입력 → 토큰 스트림 → 도구 호출 → 카드 업데이트 → 최종 응답까지의 흐름을 단일 이벤트 스트림으로 표현합니다.

② 세션 규칙. 채팅방, 스레드, DM 등 모든 채널을 "한 개의 세션" 으로 추상화합니다.

③ 권한 정책. 채널별 OAuth 토큰을 그대로 쓰되, 에이전트에는 "이 세션에서 무엇을 할 수 있는지" 만 노출합니다.

④ 응답 UI. Generative UI 원칙에 따라, 에이전트가 결과를 카드·버튼·표 등으로 즉시 구성해 사용자에게 제시합니다.

이 계약 덕분에 LangGraph·CrewAI 같은 프레임워크로 만든 에이전트도 동일한 방식으로 채널에 붙을 수 있습니다.

4. 채널 안에서 에이전트가 실제로 할 수 있는 것들

4-1. 구조화된 UI 카드 (Generative UI)

에이전트는 단순 텍스트가 아니라 카드 UI를 동적으로 생성할 수 있습니다. Slack은 Block Kit, Teams는 Adaptive Cards 포맷을 사용합니다. SDK는 AG-UI에서 정의한 카드 스키마를 두 포맷으로 자동 변환합니다.

4-2. 사람 승인 단계 (Human-in-the-Loop)

카드 안에 승인 / 거부 버튼을 넣어, 에이전트가 실제 부수효과를 일으키기 전 사람의 결정을 받게 할 수 있습니다. 이는 엔터프라이즈 환경에서 거의 필수적인 통제 장치입니다.

4-3. 외부 도구 호출 (MCP 연동)

사내 데이터베이스, ERP, 검색 엔진 같은 시스템은 MCP(Model Context Protocol) 서버로 노출되는 경우가 많습니다. Channels SDK는 에이전트와 MCP 서버 사이의 호출을 동일 세션 안에서 안전하게 중개합니다.

4-4. 멀티 프레임워크 호환

LangGraph, CrewAI, 그 외 AG-UI 규약을 만족하는 모든 에이전트 런타임을 그대로 끌어와 채널에 배치할 수 있습니다. CopilotKit Intelligence 같은 CopilotKit 자체 스택과도 자연스럽게 함께 동작합니다.

5. 왜 "MIT 라이선스" 인가가 중요한가

엔터프라이즈 영역에서 가장 큰 진입장벽 중 하나는 라이선스입니다. 상용 SDK는 도입 심사 단계에서 자주 걸림돌이 됩니다. MIT 라이선스는 "소스 공개 의무 없이 자유롭게 사용·수정·배포 가능" 이라는 명확한 조건을 제공하기 때문에, 도입 팀이 법무·보안 검토를 빠르게 통과할 수 있습니다.

또한 오픈소스 생태계에서 흔히 쓰이는 AG-UI·MCP 같은 개방형 규약 위에서 동작하도록 설계되어, 특정 벤더에 종속되지 않는 이식성 있는 에이전트 아키텍처를 지향합니다.

6. Channels SDK 사용 전 체크리스트

7. 핵심 정리 (Key Takeaways)

#CopilotKit #ChannelsSDK #AGUI #Slack #MicrosoftTeams #BlockKit #AdaptiveCards #GenerativeUI #HumanInTheLoop #MCP #MITLicense #OpenSource

자주 묻는 질문 (FAQ)

Q. Channels SDK란 무엇인가요?

A. CopilotKit이 MIT 라이선스로 공개한 라이브러리로, AG-UI 규약을 따르는 어떤 에이전트든 Slack과 Microsoft Teams 같은 협업 채널에서 그대로 실행하도록 만들어 주는 채널 런타임입니다.

Q. AG-UI는 어떤 역할을 하나요?

A. AG-UI(Agent-User Interaction Protocol)는 에이전트와 사용자 인터페이스 사이의 메시지·이벤트 계약을 정의한 개방형 규약입니다. 채널과 모델이 달라도 같은 이벤트로 대화하므로 한 번 만든 에이전트를 여러 채널에 재사용할 수 있습니다.

Q. Slack과 Teams에서 각각 무엇을 사용하나요?

A. Slack에서는 Block Kit, Microsoft Teams에서는 Adaptive Cards를 사용해 채널 UI를 구성합니다. Channels SDK는 AG-UI 이벤트를 두 카드 시스템으로 자동 변환합니다.

Q. Human-in-the-Loop는 왜 중요한가요?

A. 민감한 작업에서는 사람 승인이 필요하기 때문입니다. Channels SDK는 카드 안에 확인·취소 버튼을 넣어, 에이전트가 본문 전송·결제 같은 동작을 실행하기 전에 사람이 직접 승인하도록 강제할 수 있습니다.

Q. 외부 도구는 어떻게 붙이나요?

A. MCP(Model Context Protocol) 서버를 연결하면, 에이전트가 채널 안에서 외부 데이터베이스·API·내부 시스템의 도구를 호출할 수 있습니다. 동일한 AG-UI 이벤트가 그대로 재사용됩니다.

Q. 라이선스 조건은 어떻게 되나요?

A. MIT 라이선스이므로 상업적 사용·수정·배포가 자유롭고, 소스 공개 의무는 없습니다. 단, 저작권 표시와 라이선스 본문 표시는 유지해야 합니다.