AI 기반 앱 개발을 위한 Kotlin
AI 기반 앱 개발을 위한 Kotlin
Kotlin은 AI 기반 애플리케이션을 만드는 데 현대적이고 실용적인 기반을 제공해요. 여러 플랫폼에서 사용할 수 있고, 검증된 AI 프레임워크와도 잘 어울리며, 흔한 AI 개발 패턴을 잘 지원하죠.
Koog
Koog는 JetBrains가 만든 오픈소스 프레임워크로, 간단한 것부터 복잡한 것까지 AI 에이전트를 구축할 수 있게 해 줘요. 멀티플랫폼을 지원하고, Spring Boot·Ktor 통합, 관용적인(idiomatic) DSL, 그리고 생산 단계에서 바로 쓸 수 있는 기능들을 기본 제공해요.
몇 줄로 간단한 에이전트 만들기
fun main() {
runBlocking {
val agent = AIAgent(
// Use Anthropic, Google, OpenRouter, or any other provider
executor = simpleOpenAIExecutor(System.getenv("OPENAI_API_KEY")),
systemPrompt = "You are a helpful assistant. Answer user questions concisely.",
llmModel = OpenAIModels.Chat.GPT4o
)
val result = agent.run("Hello! How can you help me?")
println(result)
}
}
주요 특징
멀티플랫폼 개발 지원. 멀티플랫폼 지원 덕분에 JVM, JavaScript, WebAssembly, Android, iOS용 에이전트 애플리케이션을 개발할 수 있어요.안정성과 내결함성. 내장된 재시도(retry) 덕분에 Koog는 타임아웃이나 도구 오류 같은 실패 상황을 처리하게 해 줘요. 에이전트 영속화(persistence)를 통해 채팅 메시지뿐 아니라 에이전트 전체 상태 머신(state machine)을 복원할 수 있어요.긴 컨텍스트를 위한 내장 히스토리 압축 기법. Koog는 오래 이어지는 대화를 별도 설정 없이 압축하고 관리하는 고급 전략을 갖추고 있어요.엔터프라이즈 수준 통합. Koog는 Spring Boot, Ktor처럼 인기 있는 JVM 프레임워크와 통합돼요.OpenTelemetry 익스포터로 관측 가능성. Koog는 W&B Weave, Langfuse 같은 인기 있는 관측성 제공자와 즉시 쓸 수 있는 통합을 제공해서 AI 애플리케이션을 모니터링하고 디버깅할 수 있어요.LLM 전환과 매끄러운 히스토리 적응. Koog는 기존 대화 히스토리를 잃지 않으면서, 어느 시점이든 새 도구 세트를 가진 다른 LLM으로 전환할 수 있게 해 줘요. OpenAI, Anthropic, Google 등 여러 LLM 제공자 간에 라우팅을 재조정하는 것도 가능하죠. Koog의 Ollama 통합을 이용하면 로컬 모델로 에이전트를 로컬에서 실행할 수도 있어요.JVM·Kotlin 애플리케이션과의 통합. Koog는 JVM과 Kotlin 개발자를 위해 특화된 관용적이고 타입 안전한 DSL을 제공해요.Model Context Protocol (MCP) 통합. Koog를 쓰면 에이전트에서 MCP 도구를 사용할 수 있어요.지식 검색과 메모리. 임베딩, 순위화된 문서 저장소, 공유 에이전트 메모리를 통해 Koog 자체가 대화 간 지식을 능동적으로 유지해요.스트리밍 기능. Koog는 스트리밍 지원과 병렬 도구 호출로 개발자가 실시간으로 응답을 처리하게 해 줘요.
어디서 시작할까
- 개요에서 Koog의 기능을 살펴보세요.
- 퀵스타트 가이드로 첫 Koog 에이전트를 만들어 보세요.
- Koog 릴리스 노트에서 최신 업데이트를 확인하세요.
- 예제에서 배워 보세요.
Model Context Protocol (MCP) Kotlin SDK
MCP Kotlin SDK는 Model Context Protocol을 Kotlin Multiplatform으로 구현한 것이에요. 이 SDK를 쓰면 Kotlin으로 AI 기반 애플리케이션을 만들고, JVM·WebAssembly·iOS 너머의 LLM 표면과 통합할 수 있어요.
MCP Kotlin SDK로는 이런 것들을 할 수 있어요.
- 컨텍스트 처리를 LLM 상호작용과 분리해서, LLM에 구조화되고 표준화된 방식으로 컨텍스트를 제공해요.
- 기존 서버의 리소스를 소비하는 MCP 클라이언트를 만들어요.
- 프롬프트, 도구, 리소스를 LLM에 노출하는 MCP 서버를 만들어요.
- stdio, SSE, WebSocket 같은 표준 통신 전송 방식을 사용해요.
- 모든 MCP 프로토콜 메시지와 라이프사이클 이벤트를 처리해요.
다른 AI 기반 애플리케이션 시나리오 살펴보기
매끄러운 Java 상호운용성과 Kotlin Multiplatform 덕분에, Kotlin을 검증된 AI SDK·프레임워크와 결합해서 백엔드와 데스크톱/모바일 UI를 구축하고, RAG나 에이전트 기반 작업 흐름 같은 패턴을 채택할 수 있어요.
팁: Kotlin-AI-Examples 저장소에서 예제를 살펴보고 직접 실행해 볼 수 있어요. 각 프로젝트는 자체 완결형(자립적)이라서, Kotlin 기반 AI 애플리케이션을 만들 때 참고 자료 또는 템플릿으로 사용할 수 있어요.
주요 모델 제공자에 연결하기
OpenAI, Anthropic, Google 등 주요 모델 제공자에 Kotlin으로 연결할 수 있어요.
- OpenAI — OpenAI API용 공식 Java SDK예요. 응답과 채팅, 이미지, 오디오를 다뤄요.
- Anthropic (Claude) — Claude Messages API용 공식 Java SDK예요. Vertex AI와 Bedrock 통합 모듈을 포함해요.
- Google AI (Gemini / Vertex AI) — 하나의 클라이언트로 Gemini API와 Vertex AI를 오가는 공식 Java SDK예요.
- Azure OpenAI — Azure OpenAI 서비스용 공식 Java 클라이언트예요. 채팅 완성과 임베딩을 지원해요.
- AWS Bedrock — 기반 모델을 호출하는 공식 SDK들이에요. Bedrock과 Bedrock Runtime용 Kotlin SDK·Java SDK를 포함해요.
RAG 파이프라인과 에이전트 기반 앱 만들기
- Spring AI — 프롬프트, 채팅, 임베딩, 도구·함수 호출, 벡터 저장소를 위한 다중 제공자 추상화예요.
- LangChain4j — 프롬프트, 도구, 검색 증강 생성(RAG) 파이프라인, 에이전트를 위한 Kotlin 확장을 갖춘 JVM 툴킷이에요.
다음은 무엇?
- Spring AI로 질문에 답하는 Kotlin 앱 만들기 튜토리얼을 마쳐서 IntelliJ IDEA에서 Kotlin과 Spring AI를 함께 쓰는 방법을 더 배워 보세요.
- Kotlin 커뮤니티에 참여해서 Kotlin으로 AI 애플리케이션을 만드는 다른 개발자들과 교류해 보세요.
- Kotlin AI 스킬에 대해 알아보세요.