Kotlin 기반 AI 에이전트 프레임워크 Koog 한 눈에 살펴보기
1. Koog란 무엇인가?
올해 KotlinConf 2025에서 공개된 Koog는 “순수 Kotlin 코드만으로 AI 에이전트를 만들고 실행할 수 있게 해 주는” 신생 프레임워크입니다. JetBrains가 주도하며, 기존 Kotlin 생태계·멀티플랫폼 전략(MPP/KMP)·MCP(Model Context Protocol)와 긴밀히 맞물려 돌아간다는 점이 특징입니다.
Koog의 핵심 키워드
- 순수 Kotlin: Java interop이 아닌 idiomatic Kotlin API
- MCP 통합: 외부 툴·서비스를 Tool 형태로 연결
- 멀티 LLM 엔진: Google Gemini, OpenAI GPT-4o, Anthropic Claude, Ollama 등 선택 가능
- 단일 실행 에이전트 & 워크플로우 에이전트: 간단한 태스크부터 복잡한 플로우까지 대응
2. 프로젝트 시작하기
Gradle 의존성
dependencies {
implementation("ai.koog:koog-agents:0.2.1") // 최신 버전 확인 권장
}
위 한 줄이면 핵심 라이브러리를 가져올 수 있습니다.
필수 준비물
항목 설명
LLM API Key | OpenAI, Google AI 등 사용하려는 모델에 맞춰 발급 |
MCP 서버 | 예제에서는 ① mcp-jetbrains(IDE 제어) ② 기후 데이터용 ClimateTrace 서버 두 개를 사용 |
3. 예제 코드 뜯어보기
fun main() = runBlocking {
val toolRegistry = createAndStartMCPServers() // ① MCP 서버 기동
val agent = AIAgent( // ② 에이전트 생성
executor = simpleGoogleAIExecutor(apiKeyGoogle),
llmModel = GoogleModels.Gemini1_5Pro,
toolRegistry = toolRegistry
)
agent.run( // ③ 프롬프트 실행
"""
Get emissions for France, Germany and Spain for 2023 and 2024.
Create Compose UI file using Material3 showing the data in a grid
and add it to the composeApp module. Also make a @Preview.
""".trimIndent()
)
}
주요 포인트
- ToolRegistry: 여러 MCP Tool 모음을 합성(+ 연산자)하여 하나로 전달.
- AIAgent:
- executor: LLM 호출 전략 (여기서는 Google Gemini)
- llmModel: 사용할 모델 식별자
- toolRegistry: 에이전트가 호출할 수 있는 모든 툴
- agent.run(...): Koog가 알아서 LLM에게 프롬프트를 보내고, 필요한 툴을 순차 호출하며 결과물을 생성.
4. 실행 결과
실행 로그를 보면 Koog가 내부적으로
tool get-emissions → tool create_new_file_with_text
순서로 climate 데이터를 가져오고, JetBrains MCP 툴을 통해 Compose UI 파일을 Android Studio 프로젝트에 자동 삽입합니다. 최종적으로 다음이 생성됩니다.
- Material 3 Card를 이용한 국가-연도별 배출량 그리드
- @Preview가 포함된 EmissionsGrid 컴포저블
즉, “데이터 질의 → 코드 생성 → IDE 삽입” 전 과정을 한 번에 자동화한 셈입니다.
5. 다양한 LLM 교체도 한 줄이면 끝!
val agent = AIAgent(
executor = simpleOpenAIExecutor(openAIApiKey),
llmModel = OpenAIModels.Chat.GPT4o,
toolRegistry = toolRegistry
)
LLM 엔진과 모델 지정만 바꾸면 동일한 비즈니스 로직을 그대로 재사용할 수 있습니다.
6. Koog 활용 아이디어
시나리오 사용 예
모바일 앱 초기화 | “로그인 화면·다크모드 지원 Compose 코드 생성해 프로젝트에 추가” |
데이터 분석 | MCP Tool로 사내 데이터 API 연결 후 “올해 매출 통계 그래프 UI 만들고 붙이기” |
자동 리팩터링 | JetBrains MCP를 이용해 대규모 패키지 구조 개편 스크립트 작성 |
7. Koog의 장단점 한눈에
✅ 장점 ❗️주의할 점
Kotlin 개발자 친화적 DSL | 아직 0.x 버전: API 변동 가능성 |
MCP 통합으로 강력한 툴 체인 | 복잡한 ToolRegistry 조합 시 디버깅이 필요 |
멀티 LLM 지원·교체가 쉬움 | LLM 호출 비용·지연시간 고려 필요 |
8. 마무리
Koog는 “코틀린 개발자에게 가장 자연스러운 AI 에이전트 프레임워크”라는 슬로건다운 생산성을 보여줍니다. 특히 MCP Tool과 LLM을 조합해 IDE·외부 시스템·코드 생성을 모두 자동화할 수 있다는 점이 놀랍습니다. 아직은 실험적인 단계이지만, Kotlin Multiplatform 생태계와 맞물려 빠르게 성장할 가능성이 큽니다. 앞으로 개인/팀 프로젝트 자동화에 Koog를 도입해 보면서 생산성 향상을 직접 체험해 보세요!