Kotlin logo

Kotlin

A concise multiplatform language developed by JetBrains

Kotlin AI 스택: Koog로 AI 에이전트 구축, Junie로 더 스마트한 코딩 등

Read this post in other languages:

AI는 소프트웨어를 구축하는 방식을 바꾸고 있습니다. Kotlin은 개발자가 AI 기반 앱을 구축할 수 있도록 지원하고 AI 기반 도구를 통해 개발자 경험을 개선하여 이러한 변화에 발맞춰 갑니다.

이 글에서는 두 가지 측면을 살펴보겠습니다. 하나는 JetBrains와 커뮤니티가 제공하는 AI 기반 앱 개발 도구에 관한 것이고, 다른 하나는 Kotlin이 AI 도구를 통합하여 개발 효율성을 개선하는 방식에 관한 것입니다.

주요 내용

Kotlin을 사용한 AI 기반 앱 개발

Kotlin은 AI에 적합할 뿐만 아니라 대규모 AI 시스템에서 이미 사용되고 있습니다. 예를 들어, Deutsche Telekom은 Kotlin을 사용하여 유럽에서 가장 큰 LLM 기반 챗봇 중 하나를 구축했습니다. JetBrains에서도 Kotlin을 사용하여 전체 AI 기술 스택을 구축합니다. JetBrains IDE의 JunieAI Assistant, 에이전트를 위한 Koog, 노코드 앱 제작을 위한 Kineto 모두가 Kotlin으로 작성되었습니다.

Kotlin은 저수준 모델 액세스부터 구조화된 다단계 에이전트 로직까지 다양한 요구 사항을 자연스럽게 지원하므로 AI 개발에 적합합니다. 지금부터 실제 특징을 자세히 살펴보겠습니다.

1. 간단하게 시작: SDK를 통해 AI 모델 호출

Kotlin 앱에 AI를 통합하는 가장 쉬운 방법 중 하나는 OpenAI나 Anthropic의 Java SDK를 사용하는 것입니다(둘 모두 기본적으로 Kotlin으로 작성됨). 이를 통해 모델에 대한 저수준 액세스와 프롬프트, 매개변수 및 데이터 처리에 대한 완전한 제어가 가능합니다.

이 접근 방식은 실험을 실행하거나 빠른 챗봇, 요약 도구, 코드 생성기와 같은 간단한 AI 기능을 구축하는 데 적합합니다.

몇 가지 예를 살펴보겠습니다.

OpenAI SDK

Anthropic SDK 

2. 레벨 업: Spring AI와 같은 고급 라이브러리 사용

원시 API 호출에서 넘어가고 싶을 때, Spring AI는 Kotlin 사용자에게 원활한 경험을 제공합니다.

다음이 지원됩니다.

  • 최소한의 노력으로 모델 공급자를 전환
  • Kotlin 함수를 AI 도구로 등록
  • 구조화된 AI 상호작용을 애플리케이션 로직에 직접 내장

이를 통해 인프라 세부 사항에 얽매이지 않고도 유용한 기능을 더 쉽게 개발할 수 있습니다.

Spring AI

실제로 어떻게 작동하는지 알고 싶다면 Kotlin-AI-Examples 저장소에서 다음 리소스를 확인하세요.

LangChain4j와 같은 다른 옵션도 있으며, 동일한 저장소에서 Kotlin 기반 LangChain4j Spring Boot 예제를 찾을 수 있습니다.

3. 표준화: 모델 컨텍스트 프로토콜(MCP)을 통한 도구 노출

AI 도구가 점차 유용해지면 여러 에이전트, 팀, 심지어 앱에도 이를 공유하고 싶을 수 있습니다. 그런데 이러한 도구의 접근성, 일관성 및 통합 용이성을 보장하려면 어떻게 해야 할까요?

바로 이때 모델 컨텍스트 프로토콜(MCP)이 필요하며, 이를 구현하는 데 도움이 되는 공식 MCP Kotlin SDK도 준비되어 있습니다. MCP는 에이전트가 사용자 지정 통합이나 글루 코드 없이 도구를 검색하고 사용할 수 있는 방식을 정의하는 표준입니다. MCP Kotlin SDK를 사용하면 호환되는 모든 에이전트와 원활하게 작동하는 방식으로 도구를 노출할 수 있습니다. 이런 방식으로 Kotlin 코드를 더 크고 연결된 AI 시스템에 간단히 통합할 수 있습니다.

Kotlin MCP SDK

자세히 알아보기:

4. Koog 사용: Kotlin으로 AI 에이전트 빌드 및 실행

가장 높은 수준에서는 추론하고, 적응하고, 도구를 사용할 수 있는 시스템인 지능형 에이전트를 만들 수 있습니다.

JetBrains는 JVM의 최첨단 AI 프레임워크인 Koog를 오픈 소스로 공개했으며, 이는 백엔드, Android, iOS에 전체 범위의 에이전틱 흐름을 제공하는 최초의 프레임워크입니다. Koog를 사용하면 Kotlin을 실행하는 모든 환경에 배포할 수 있는 관찰 가능하고 테스트 가능한 에이전트를 구축할 수 있습니다.

Koog가 제공하는 기능:

  • 지속성 및 체크포인트를 통해 에이전트를 마지막 중단 지점에서 재개
  • Langfuse 및 W&B Weave와 OpenTelemetry 통합을 통한 관찰 기능
  • 구조화된 출력과 유형화된 스트리밍을 통해 예측 가능한 결과와 실시간 UI 지원
  • 워크플로와 클라이언트 수준 모두에서 지능적인 재시도와 강력한 오류 처리
  • Spring Boot와 직접 통합할 수 있으며 새로운 Ktor 플러그인 제공
  • 다중 모델 유연성을 통해 컨텍스트를 잃지 않고 LLM 간에 작업을 전환하거나 라우팅
  • 고급 에이전트 로직을 설계하기 위한 MCP 도구 지원, RAG, 메모리 및 그래프 기반의 재사용 가능 전략

Koog는 Kotlin Multiplatform을 기반으로 하므로 에이전트는 JVM뿐만 아니라 Android, JS/WasmJS, iOS에서도 실행될 수 있습니다. 간단한 에이전트를 프로토타입으로 제작하든, 도구 및 메모리 기능을 갖춘 더 복잡한 시스템을 구축하든, Koog는 소규모로 시작하여 프로젝트가 성장함에 따라 확장할 수 있는 유연성을 제공합니다.

Koog 사용해 보기

Kotlin 에코시스템에는 다음을 포함한 다른 에이전트 프레임워크도 등장하고 있습니다.

  • Arc – LLM 기반 챗봇을 위해 Deutsche Telekom이 개발한 맞춤형 에이전트 프레임워크
  • Embable – Spring과 LangChain4j를 기반으로 구축된 오픈 소스 Kotlin 기반 프레임워크
  • Spring AI Alibaba – LLM 도구 오케스트레이션에 초점을 맞춘 Spring AI의 확장 버전

서로 다른 접근 방식과 통합 방법을 가지고 있는 이러한 솔루션은 Kotlin으로 에이전트를 구축하는 데 관심이 커지고 있음을 보여줍니다.

Kotlin을 위한 AI 도구

Kotlin 자체도 AI 시스템을 구축하기 위한 강력한 언어이지만, 개발 워크플로를 더 효율적이고 즐겁게 만들도록 설계된 AI 기반 도구의 지원도 받습니다. 개발에 집중하고 프로세스를 통제할 수 있도록 JetBrains는 이러한 AI 도구를 IDE 환경에 통합하고 있습니다.

Junie: JetBrains IDE의 AI 코딩 에이전트

Junie는 JetBrains의 새로운 AI 코딩 에이전트입니다. 이 도구는 반복적인 작업을 대신 처리하고, 프로젝트의 복잡한 부분을 업데이트하며, 일부 작업은 완전히 맡을 수도 있습니다. 덕분에 코딩의 재미있고 창의적인 부분에 더 많은 시간을 쓸 수 있습니다. 그리고 특히 Kotlin과 함께 사용할 때 최적의 성능을 발휘합니다.

일반적인 자동 완성 도구와 달리 Junie는 구조화된 작업을 처리할 수 있습니다. 구체적으로 다음과 같습니다.

  • 완벽한 엔드 투 엔드 기능 구축(예: KotlinConf 앱용 무작위 대화 생성기)
  • 아키텍처 변경 계획
  • 테스트 실행
  • 개선 사항 제안

JetBrains는 또한 Junie가 오픈 소스 프로젝트에 코드를 기여할 수 있도록 노력하고 있습니다. 현재 GitHub에서 얼리 액세스 프로그램의 일부로 제공되고 있으며 문제 분석, 수정 제안, 풀 리퀘스트 생성 기능이 제공됩니다. 대기자 명단에 등록하여 무료로 사용해 보세요.

Mellum: 이제 오픈 소스로 제공

Junie가 기반을 두고 있으며 JetBrains에서 코드에 사용 중인 사내 LLM인 Mellum은 이미 프로덕션 단계에 있으며 현재는 오픈 소스입니다. Mellum은 JetBrains IDE의 코드 완성 기능을 강화하며 Kotlin에 맞게 세부 조정된 버전도 있습니다.

즉, Kotlin 커뮤니티는 이제 Mellum을 기반으로 실험하고, 코드를 기여하고, 사용자 지정 도구를 구축할 수 있습니다.

Kotlin의 강점

Kotlin이 AI 시스템 개발 및 지원에 적합한 이유를 요약하면 다음과 같습니다.

  • 코드를 명확하고 안전하며 간결하게 만드는 최신 언어 기능
  • 기존 AI SDK 및 라이브러리에 액세스할 수 있도록 Java와의 원활한 상호 운용성 지원
  • 멀티플랫폼 지원을 제공하여 서버 측, 모바일 및 웹 애플리케이션 간에 로직 공유 가능
  • Koog, MCP Kotlin SDK, Spring AI 통합을 포함하여 Kotlin 기반 AI 라이브러리와 프레임워크의 에코시스템이 계속 성장
  • JetBrains AI Assistant와 Junie를 통해 AI 기반 개발 환경 제공. 이 환경은 IntelliJ IDEA에 통합되어 있으며 플러그인을 통해 Android Studio에서 사용 가능

기타 문서 및 동영상 리소스

게시물 원문 작성자

Alyona Chernyaeva

Alyona Chernyaeva

image description

Discover more