IT 소식

Kotlin 기반 AI 에이전트 프레임워크 Koog 한 눈에 살펴보기

silbaram 2025. 6. 29. 18:24
728x90

 

 

 

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()
    )
}

주요 포인트

  1. ToolRegistry: 여러 MCP Tool 모음을 합성(+ 연산자)하여 하나로 전달.
  2. AIAgent:
    • executor: LLM 호출 전략 (여기서는 Google Gemini)
    • llmModel: 사용할 모델 식별자
    • toolRegistry: 에이전트가 호출할 수 있는 모든 툴
  3. 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를 도입해 보면서 생산성 향상을 직접 체험해 보세요!

 

 

728x90