KIRA(KRAFTON Intelligence Rookie Agent): 크래프톤이 공개한 개인용 AI 비서 (feat. Slack & Claude)

KIRA 소개

KIRA는 'KRAFTON Intelligence Rookie Agent'의 약자로, 크래프톤(KRAFTON)이 사내 업무 효율을 높이기 위해 개발하여 사용하던 AI 시스템인 'KRIS(KRafton Intelligence System)'를 기반으로 일반 사용자 및 개발자들도 사용할 수 있도록 재설계하여 오픈소스로 공개한 개인용 AI 비서(Virtual Coworker) 입니다.

단순한 챗봇을 넘어, 사용자의 PC에 설치되어 슬랙(Slack) 메신저를 통해 자연어로 소통하며 실제 업무를 수행하는 '동료'와 같은 역할을 지향합니다. 사용자는 KIRA와 대화하며 문서 작성, 정보 검색, 일정 관리 등의 업무를 위임할 수 있으며, 이 모든 과정은 사용자의 로컬 환경을 중심으로 안전하게 처리됩니다.

최근 AI 에이전트 기술이 발전함에 따라 많은 기업이 업무 자동화를 시도하고 있습니다. 하지만 클라우드 기반 서비스의 경우, 기업의 민감한 데이터 유출 우려로 인해 도입이 제한적인 경우가 많습니다. 크래프톤은 이러한 문제를 해결하기 위해 'Local-First(로컬 우선)' 보안 아키텍처를 적용한 KIRA를 공개함으로써, 데이터 주권은 사용자가 가지면서도 강력한 AI 기능을 활용할 수 있는 대안을 제시합니다.

KIRA 주요 특징

두 가지 운용 모드: 개인 비서 vs. 가상 동료

KIRA는 배포 환경과 목적에 따라 유연하게 역할을 변경할 수 있도록 설계되었습니다. 개인 비서 모드(Bot Mode) 는 개인 사용자의 PC에 KIRA를 직접 설치하여 해당 사용자의 업무만을 전담 보조하는 형태입니다. 설치 후에는 사용자의 개인 슬랙 계정 혹은 봇 앱을 통해 소통하며, 컴퓨터가 켜져 있을 때만 동작합니다. 개인의 업무 보조에 최적화되어 있습니다.

반면, 가상 동료 모드(Virtual Coworker Mode) 는 팀 단위 협업을 위해 고안되었습니다. 이 모드에서는 KIRA를 별도의 서버나 전용 머신에 설치하여 24시간 상시 가동시키며, 슬랙 채널에 상주하는 '가상 팀원'으로서 여러 구성원의 요청을 동시에 처리하고 팀 공통의 업무를 지원합니다. 이는 KIRA가 단순한 도구가 아니라 조직 구성의 일부로 확장될 수 있음을 의미합니다.

맥락을 이해하고 장기 기억을 유지하는 스마트 메모리 시스템

KIRA의 가장 차별화된 핵심 기술은 단순한 대화형 AI를 넘어 사용자와의 과거 상호작용을 기억하고 이를 현재의 업무에 반영한다는 점입니다. 일반적인 LLM 서비스가 세션이 종료되면 문맥을 잃어버리는 것과 달리, KIRA는 대화 내용과 업무 데이터를 벡터화(Embedding)하여 사용자의 로컬 저장소(ChromaDB 등)에 영구적으로 보관합니다. 이를 통해 사용자가 "지난주에 이야기했던 그 프로젝트 기획안 요약해줘"와 같이 불완전한 지시를 내려도, KIRA는 저장된 기억(Vector DB)에서 관련 맥락을 검색(Retrieval)하여 정확한 답변을 제공합니다. 이는 RAG(Retrieval-Augmented Generation) 기술이 개인화된 데스크톱 환경에 최적화되어 적용된 사례입니다.

능동적으로 업무를 수행하는 에이전트

기존의 챗봇이 사용자의 질문에 반응(Reactive)하는 수동적 존재였다면, KIRA는 정해진 규칙이나 트리거에 따라 스스로 업무를 시작하는 능동성(Proactivity)을 갖추고 있습니다. 즉, 사용자가 시키지 않아도 정해진 규칙이나 모니터링 결과에 따라 먼저 말을 겁니다.

백그라운드에서 실행되는 모니터링 프로세스는 아웃룩(Outlook)의 수신함에 새로운 이메일이 도착했는지를 살펴보거나, Jira의 티켓 변경 사항 등을 주기적으로 감지합니다. 만약 사용자가 놓쳐서는 안 될 중요한 이슈나 업무 할당이 감지되면, KIRA는 사용자에게 먼저 슬랙 메시지를 보내 알림을 제공하거나 요약 보고를 수행합니다.

또한, 사용자는 KIRA에게 "내일 오전 10시에 회의록 정리해서 보내줘"와 같은 예약 작업(Task Scheduling)을 수행할 수 있습니다. KIRA는 이러한 예약 작업을 기억해두었다가, 사용자가 원하는 시간에 원하는 동작을 수행합니다.

MCP(Model Context Protocol) 기반의 확장 지원

KIRA는 외부 도구와의 연동을 위해 Anthropic이 제안한 개방형 표준인 MCP(Model Context Protocol) 를 채택했습니다. 이는 KIRA가 특정 벤더에 종속되지 않고, MCP 표준을 따르는 모든 외부 서비스와 손쉽게 연결될 수 있음을 의미합니다. 사용자는 복잡한 API 연동 코드를 직접 짤 필요 없이, 설정 파일 수정만으로 Google Calendar, GitHub, Linear 등 다양한 SaaS 도구를 KIRA의 '손과 발'로 장착하여 업무 자동화 범위를 확장할 수 있습니다.

로컬 우선(Local-First) 보안 아키텍처

기업 내 도입 시 가장 큰 장벽인 데이터 보안 문제를 해결하기 위해, KIRA는 철저한 로컬 중심 설계를 따릅니다. 사용자의 대화 로그, 생성된 문서, 벡터 인덱스 등 모든 민감 데이터는 사용자의 물리적 디바이스 내부에만 저장됩니다.

외부로 전송되는 데이터는 사용자가 설정한 LLM API 호출(Claude API 또는 Google Cloud Vertex AI) 및 명시적으로 허용한 MCP 서버와의 통신으로만 엄격히 제한됩니다. 즉, 중앙 서버로 데이터를 수집하지 않는 구조를 통해 데이터 주권을 사용자에게 완벽하게 이양했습니다.

KIRA 사용 데모 영상

자료 조사 및 PPT 프레젠테이션 작성

가상의 동료(KIRA)에게 특정 주제에 대한 인터넷 검색을 지시하고, 수집된 정보를 바탕으로 파워포인트(PPTX) 프레젠테이션 초안을 작성해달라고 요청하는 데모입니다.

코드 리뷰 및 PDF 리포트 생성

지정된 GitHub 저장소의 코드를 검토(Review)하게 하고, 분석한 내용을 정리하여 PDF 문서로 요약해달라고 요청하는 기능입니다. 개발자의 코드 파악 시간을 단축시켜 줍니다.

음성 인터페이스 및 위키 업데이트

웹 인터페이스를 통해 KIRA와 음성(Voice)으로 대화하며 업무를 지시하고, 대화 내용을 바탕으로 사내 위키(Wiki) 페이지를 수정하거나 업데이트하는 모습입니다.

맥락 기반의 능동적 지원 (Proactive)

KIRA가 과거의 업무 내용이나 대화 맥락을 기억하고 있다가, 사용자가 관련 업무를 진행할 때 먼저 개입하여 "도와드릴까요?"라고 제안하는 능동적인 비서의 역할을 보여줍니다.

이메일 연동을 통한 일정 등록

KIRA에게 이메일을 보내는 것만으로 일정을 등록하는 기능입니다. KIRA가 수신된 이메일의 내용을 파악하여 사용자의 캘린더에 자동으로 스케줄을 추가합니다.

문서 자동 감지 및 번역

업무 흐름 중 외국어 문서가 공유되면 KIRA가 이를 자동으로 감지하고, 사용자가 요청하지 않아도 먼저 번역을 수행해 주겠다고 제안하는 기능입니다.

KIRA 시스템 구성

┌─────────────────────────────────────────────────────────────┐
│  SLACK MESSAGE RECEIVED                                     │
└─────────────────────────────────────────────────────────────┘
                            ↓
┌─────────────────────────────────────────────────────────────┐
│  DEBOUNCING (2 sec)                                         │
│  - Merge consecutive messages from same user                │
└─────────────────────────────────────────────────────────────┘
                            ↓
┌─────────────────────────────────────────────────────────────┐
│  BOT CALL DETECTOR (Haiku)                                  │
│  - Determine if message requires bot response               │
│  - DM: Always respond                                       │
│  - Channel: Only when mentioned                             │
│  - Thread: Additional context analysis                      │
└─────────────────────────────────────────────────────────────┘
                 ↓                              ↓
    ┌────────────────────┐         ┌────────────────────────┐
    │  SIMPLE CHAT       │         │  OPERATOR              │
    │  (Haiku, no MCP)   │         │  (Opus, full MCP)      │
    │  - Quick responses │         │  - Complex tasks       │
    │  - Casual chat     │         │  - Tool execution      │
    └────────────────────┘         └────────────────────────┘
              ↓                              ↓
              └──────────────┬───────────────┘
                             ↓
              ┌────────────────────────────────┐
              │  MEMORY MANAGER (Sonnet)       │
              │  - Save conversation context   │
              │  - Organize into categories    │
              └────────────────────────────────┘

KIRA의 아키텍처는 사용자의 로컬 자원을 효율적으로 활용하면서도 복잡한 AI 추론 과정을 안정적으로 처리하기 위해 하이브리드 애플리케이션 구조정교한 큐(Queue) 시스템을 기반으로 구축되었습니다.

Electron과 Python의 유기적 결합

전체 시스템은 사용자 인터페이스와 시스템 제어를 담당하는 Electron 프론트엔드와, 실제 AI 로직 및 데이터 처리를 담당하는 Python 백엔드로 구성됩니다. Electron은 macOS 앱 형태로 패키징되어 설치 편의성을 제공하며, 앱 실행 시 자동으로 내장된 Python 환경을 부트스트랩(Bootstrap)합니다. 이 구조 덕분에 사용자는 복잡한 Python 가상환경 설정 없이도 데스크톱 앱처럼 간편하게 KIRA를 실행할 수 있으며, 백엔드에서는 강력한 Python 생태계(LangChain, ChromaDB 등)를 그대로 활용할 수 있습니다.

멀티 에이전트 파이프라인 (Multi-Agent Pipeline)

사용자의 요청은 단일 모델이 아닌, 역할이 분담된 여러 에이전트의 협업을 통해 처리됩니다:

  • Router Agent: 사용자의 발화가 단순 대화인지, 도구 사용이 필요한지, 혹은 검색이 필요한지 의도를 분류하여 적절한 처리 경로를 결정합니다.

  • Executor Agent: 도구 사용이 필요할 때 호출되며, MCP를 통해 연결된 외부 API를 실행하거나 로컬 시스템 명령을 수행합니다.

  • Writer Agent: 수집된 정보와 실행 결과를 종합하여, 사용자가 읽기 편한 자연어 형태로 최종 답변을 생성합니다.

안정성을 위한 3-Tier 큐(Queue) 시스템

┌─────────────────────────────────────────────────────────────┐
│  CHANNEL QUEUES (per-channel)                               │
│  - 8 workers per channel                                    │
│  - Fast response for simple messages                        │
│  - Independent processing per channel                       │
└─────────────────────────────────────────────────────────────┘
                            ↓
┌─────────────────────────────────────────────────────────────┐
│  ORCHESTRATOR QUEUE (global)                                │
│  - 3 workers                                                │
│  - Heavy tasks requiring MCP tools                          │
│  - Prevents API rate limiting                               │
└─────────────────────────────────────────────────────────────┘
                            ↓
┌─────────────────────────────────────────────────────────────┐
│  MEMORY QUEUE (global)                                      │
│  - 1 worker (sequential)                                    │
│  - Ensures consistent file system writes                    │
│  - Prevents race conditions in memory storage               │
└─────────────────────────────────────────────────────────────┘

로컬 PC 환경은 서버에 비해 리소스가 제한적이므로, KIRA는 동시 다발적인 요청으로 인한 시스템 과부하와 데이터 충돌을 방지하기 위해 3단계 큐 시스템을 도입했습니다.

  • Channel Queue: 슬랙 채널별로 요청을 격리하여 관리합니다. 특정 채널에서 대량의 요청이 발생하더라도 다른 채널의 응답 속도에 영향을 주지 않도록 합니다.

  • Orchestrator Queue: 시스템 전체의 리소스 사용량을 조절하는 중앙 제어 장치입니다. CPU나 메모리를 많이 점유하는 무거운 작업의 동시 실행 개수를 제한하여 PC 성능 저하를 막습니다.

  • Memory Queue: 로컬 파일 시스템(SQLite, ChromaDB)에 대한 쓰기 작업을 순차적으로 처리합니다. 여러 에이전트가 동시에 기억을 저장하려 할 때 발생할 수 있는 데이터베이스 잠금(Lock)이나 충돌 문제를 원천적으로 방지합니다.

기술 스택 (Tech Stack) 상세

  • Runtime & Packaging: Node.js (Electron), Python 3.12+

  • Package Management: uv (Rust 기반의 고성능 Python 패키지 매니저를 사용하여 의존성 설치 속도를 극대화함)

  • LLM Integration: Anthropic Claude 3.5 Sonnet (기본), Google Vertex AI

  • Interface: Slack Bolt for Python (Socket Mode 지원)

  • Local Database: ChromaDB (Vector Store), SQLite (Metadata)

KIRA 설치 및 시작하기

KIRA를 설치 및 사용하기 위해서는 다음의 몇 가지 항목들이 필요합니다:

  1. Slack 워크스페이스: 관리자(Admin) 권한이 있는 워크스페이스가 필요합니다. (무료 플랜도 가능)
  2. 컴퓨터 사양: macOS 10.15 (Catalina) 이상. (최소 500MB 여유 공간)
  3. Claude Pro Plan: KIRA는 내부적으로 Claude Code CLI를 사용하므로 Anthropic의 Claude Pro 이상의 계정이 필요합니다.
  4. Node.js: 18 버전 이상 설치 필요 (npm 사용을 위해).

위 항목들이 준비되었다면, 다음 문서를 참고하여 설치를 진행할 수 있습니다:

설치 후, 상세한 KIRA 설정은 다음의 설정 문서를 참고해주세요:

라이선스

KIRA 프로젝트는 Apache-2.0 라이선스로 공개 및 배포되고 있습니다.

:house: KIRA 공식 홈페이지

:books: KIRA 프로젝트 공식 문서

:github: KIRA 프로젝트 GitHub 저장소

https://github.com/krafton-ai/KIRA




이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. :hugs:

:pytorch:파이토치 한국 사용자 모임:south_korea:이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일:love_letter:로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)

:wrapped_gift: 아래:down_right_arrow:쪽에 좋아요:+1:를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ :star_struck:

2개의 좋아요