Kotlin
A concise multiplatform language developed by JetBrains
Kotlin AI 技术栈:使用 Koog 构建 AI 智能体,使用 Junie 更智能地编码,等等
AI 正在改变我们构建软件的方式,而 Kotlin 已准备好迎接这一变革 ,它既能助力开发者打造 AI 赋能的应用,又能通过基于 AI 的工具提升开发者体验。
本文将从两个角度展开探讨:一方面是来自 JetBrains 和社区的用于开发 AI 赋能应用的工具;另一方面是 Kotlin 如何通过整合 AI 工具实现演进,从而提升开发效率。
亮点
- Koog – 一款用于构建和运行 AI 智能体的 Kotlin 原生框架。
- Junie – 集成到 JetBrains IDE 中的 AI 编码智能体(GitHub EAP 已可用)。
使用 Kotlin 开发 AI 赋能的应用
Kotlin 不仅非常适合 AI,早已在大规模 AI 系统中投入应用。 例如,Deutsche Telekom 就使用 Kotlin 构建了欧洲最大的由 LLM 赋能的聊天机器人之一。 而在 JetBrains 内部,我们也完全依赖 Kotlin 来构建整个 AI 技术栈。 我们 IDE 中的 Junie 与 AI Assistant、用于开发智能体的 Koog,以及用于无代码应用创建的 Kineto,均使用 Kotlin 编写。
Kotlin 之所以非常适合 AI 开发,在于它能自然支持从低级模型访问到结构化、多步骤智能体逻辑的各类需求。 我们来看看这在实践中是如何实现的。
1. 从简单入手:通过 SDK 调用 AI 模型
要在 Kotlin 应用中集成 AI,最简单的方式之一是使用 OpenAI 或 Anthropic 的 Java SDK,而这两款 SDK 的底层均使用 Kotlin 编写。 借助这种方式,您能实现对模型的低级访问,并且可以完全控制提示、参数和数据处理。
这种方式非常适合开展实验,或构建简易 AI 功能,例如快速聊天机器人、总结工具或代码生成器。
以下是一些可供探索的示例:
OpenAI SDK
Anthropic SDK
2. 进阶提升:使用 Spring AI 等高级库
当您希望超越原始 API 调用时,Spring AI 能为 Kotlin 用户提供流畅体验。
使用这个库,您可以:
- 以最小工作量切换模型提供商。
- 将 Kotlin 函数注册为 AI 工具。
- 将结构化 AI 交互直接嵌入到应用程序逻辑中。
这样一来,您能更轻松地开发实用功能,无需在基础架构细节上耗费过多精力。

如果您想了解其实际应用,可以查看 Kotlin-AI-Examples 仓库中的这些资源:
- spring-ai-examples 包含分类、聊天和总结用例。
- springAI-demo 展示了如何借助 Qdrant 和 OpenAI,将 LLM 的回答完全集成到应用程序逻辑中。
- 使用 Spring AI 构建 Kotlin 应用(教程)将逐步引导您构建一个基于 Qdrant 中存储的文档来回答问题的 Kotlin 应用
还有 LangChain4j 等其他选择,您可以在同一个仓库中找到基于 Kotlin 的 LangChain4j Spring Boot 示例。
3. 标准化:通过 Model Context Protocol (MCP) 公开工具
随着您的 AI 工具愈发实用,您可能希望跨智能体、团队甚至应用共享工具。 但如何确保这些工具可供获取、一致且易于接入呢?
Model Context Protocol (MCP) 正是为此而生,并且有官方的 MCP Kotlin SDK 帮助您实现这一协议。 MCP 是一项标准,它定义了智能体如何在不使用自定义集成或粘合代码的情况下发现和使用工具。 借助 MCP Kotlin SDK,您可以通过一种能与任何兼容智能体无缝协作的方式公开工具。 这是让您的 Kotlin 代码融入更大规模互联 AI 系统的简便方式。

了解详情:
4. 使用 Koog:在 Kotlin 中构建和运行 AI 智能体
概括来讲,您可以创建智能体,即具备推理、适应能力并能使用工具的系统。
JetBrains 已开源 Koog,它是 JVM 上最先进的 AI 框架,也是首个能将完整规模的智能体化流程引入后端、Android 和 iOS 的框架。 借助 Koog,您可以构建具备可观测性、可测试性的智能体,并且这些智能体能够部署在任何运行 Kotlin 的环境中。
Koog 提供以下功能:
- 持久性和检查点,使智能体可以从上次中断的地方恢复。
- 通过 OpenTelemetry 与 Langfuse 和 W&B Weave 实现可观测性。
- 结构化输出和类型化流式处理,实现可预测的结果和实时 UI。
- 在工作流和客户端层面均具备智能重试和强大的错误处理能力。
- 直接与 Spring Boot 集成,并提供全新的 Ktor 插件。
- 多模型灵活性,支持在 LLM 间切换或路由任务,且不丢失上下文。
- MCP 工具支持、RAG、内存以及基于图的可重用策略(用于设计高级智能体逻辑)。
由于 Koog 基于 Kotlin Multiplatform,您的智能体不仅能在 JVM 上运行,还可以在 Android、JS/WasmJS 和 iOS 上运行。 无论您是要设计一个简单智能体的原型,还是构建带有工具和内存功能的更复杂系统,Koog 都能为您提供足够的灵活性,让您从小处着手,随项目发展逐步拓展。
在 Kotlin 生态系统中,其他智能体框架也在不断涌现,其中包括:
- Arc – 由 Deutsche Telekom 开发的自定义智能体框架,用于其 LLM 赋能的聊天机器人。
- Embable – 基于 Spring 和 LangChain4j 构建的开源 Kotlin 框架。
- Spring AI Alibaba – Spring AI 的扩展项目,聚焦于 LLM 工具编排。
这些方案各有不同的理念与集成,体现出使用 Kotlin 构建智能体正受到越来越多的关注。
适用于 Kotlin 的 AI 工具
尽管 Kotlin 本身是构建 AI 系统的强大语言,但目前也有各类基于 AI 的工具对其形成补充,旨在让您的开发工作流更高效、体验更愉悦。 为帮助您专注于开发并掌控过程,我们正将这些 AI 工具集成到您的 IDE 体验中。
Junie:JetBrains IDE 中的 AI 编码智能体
Junie 是 JetBrains 推出的全新 AI 编码智能体。 它能够处理您的日常任务、更新项目中的复杂部分,甚至能完全接管部分工作,让您有更多时间专注于编码中有趣且富有创造性的环节。 并且,它与 Kotlin 搭配使用的效果尤为出色。
不同于普通的自动补全工具,Junie 可以处理结构化任务,具体包括:
- 端到端构建完整功能(例如,为 KotlinConf 应用开发随机对话生成器)。
- 计划架构更改。
- 执行测试。
- 提出改进建议。
JetBrains 还在提升 Junie 向开源项目贡献代码的能力。 目前,它已作为抢先体验计划的一部分在 GitHub 中提供,能够分析问题、提出修正建议以及创建拉取请求。 加入等候名单,免费试用该功能。
Mellum:现已开源
为 Junie 提供支持的是 Mellum,这是 JetBrains 内部的代码专用 LLM,已投入生产,目前已开源。 它为 JetBrains IDE 中的代码补全提供支持,并且有一个专门针对 Kotlin 微调的版本。
这意味着 Kotlin 社区现在可以基于 Mellum 进行实验、贡献代码以及构建自定义工具。
为什么选择 Kotlin?
简而言之,Kotlin 之所以天然适合 AI 开发与 AI 支持,具体原因如下:
- 具备现代语言功能 ,能确保代码清晰、安全且简洁。
- 支持与 Java 无缝互操作,可以访问现有的 AI SDK 和库。
- 提供多平台支持,可以在服务器端、移动端与 Web 应用程序之间共享逻辑。
- Kotlin 原生 AI 库与框架生态系统持续壮大,涵盖 Koog、MCP Kotlin SDK 和 Spring AI 集成。
- 借助 JetBrains AI Assistant 与 Junie 实现 AI 赋能的开发体验,二者已集成到 IntelliJ IDEA 中,也可以通过插件在 Android Studio 中使用。
其他可供阅读与观看的资源
- 📖 Kotlin for AI-Powered App Development(Kotlin 用于 AI 赋能的应用开发)
- 📖 Smarter Kotlin Development With JetBrains AI: Junie and AI Assistant in IntelliJ IDEA(借助 JetBrains AI 实现更智能的 Kotlin 开发:IntelliJ IDEA 中的 Junie 与 AI Assistant)
- 🎥 Building Smarter AI Agents With Koog(借助 Koog 构建更智能的 AI 智能体)| Vadim Brilliantov 与 Andrey Bragin
- 🎥 Kotlin and Spring: The modern server side stack(Kotlin 与 Spring:现代服务器端技术栈)| Rod Johnson
- 🎥 From 0 to h-AI-ro: high-speed track to AI for Kotlin developers(从零基础到 AI 达人:Kotlin 开发者的 AI 速成之路)| Urs Peter
- 🎥 Model Context Protocol in Kotlin(Kotlin 中的 Model Context Protocol)| Alexander Sysoev
- 🎥 LangChain4j with Quarkus(LangChain4j 与 Quarkus)| Max Rydahl Andersen 与 Konstantin Pavlov
- 🎥 Large Scale Changes with AI – Migrating millions of lines of Java to Kotlin at Uber(借助 AI 实现大规模更改 – Uber 将数百万行 Java 代码迁移至 Kotlin)| Ty Smith
- 🎥Kotlin’s Gamebit: LLM less AI for Board Games(Kotlin 的 Gamebit:面向桌游的轻量无 LLM AI 方案)| Dmytro Kurets
- 🎥Building an Agentic Platform with Kotlin: Powering one of Europe’s Largest LLM Bot(使用 Kotlin 构建智能体化平台:为欧洲最大规模的 LLM 机器人之一提供支持)| Patrick Whelan
本博文英文原作者:
Subscribe to Kotlin Blog updates
Discover more
Kotlin AI 스택: Koog로 AI 에이전트 구축, Junie로 더 스마트한 코딩 등
AI는 소프트웨어를 구축하는 방식을 바꾸고 있습니다. Kotlin은 개발자가 AI 기반 앱을 구축할 수 있도록 지원하고 AI 기반 도구를 통해 개발자 경험을 개선하여 이러한 변화에 발맞춰 갑니다.
이 글에서는 두 가지 측면을 살펴보겠습니다. 하나는 JetBrains와 커뮤니티가 제공하는 AI 기반 앱 개발 도구에 관한 것이고, 다른 하나는 Kotlin이 AI 도구를 통합하여 개발 효율성을 개선하는 방식에 관한 것입니다.
주요 내용
- Koog – AI 에이전트를 구축하고 실행하기 위한 Kotlin 기반 프레임워크
- Junie – JetBrains IDE에 통합된 AI 코딩 에이전트(GitHub EAP 사용 가능)
Kotlin을 사용한 AI 기반 앱 개발
Kotlin은 AI에 적합할 뿐만 아니라 대규모 AI 시스템에서 이미 사용되고 있습니다. 예를 들어, Deutsche Telekom은 Kotlin을 사용하여 유럽에서 가장 큰 LLM 기반 챗봇 중 하나를 구축했습니다. JetBrains에서도 Kotlin을 사용하여 전체 AI 기술 스택을 구축합니다. JetBrains IDE의 Junie와 AI 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 상호작용을 애플리케이션 로직에 직접 내장
이를 통해 인프라 세부 사항에 얽매이지 않고도 유용한 기능을 더 쉽게 개발할 수 있습니다.

실제로 어떻게 작동하는지 알고 싶다면 Kotlin-AI-Examples 저장소에서 다음 리소스를 확인하세요.
- spring-ai-examples에는 분류, 채팅 및 요약 사용 사례가 포함되어 있습니다.
- springAI-demo는 Qdrant와 OpenAI를 사용하여 LLM 응답을 애플리케이션 로직에 완전히 통합하는 방법을 보여줍니다.
- Spring AI를 사용하여 Kotlin 앱 구축(튜토리얼)에서는 Qdrant에 저장된 문서를 기반으로 질문에 답하는 Kotlin 앱을 구축하는 과정을 안내합니다.
LangChain4j와 같은 다른 옵션도 있으며, 동일한 저장소에서 Kotlin 기반 LangChain4j Spring Boot 예제를 찾을 수 있습니다.
3. 표준화: 모델 컨텍스트 프로토콜(MCP)을 통한 도구 노출
AI 도구가 점차 유용해지면 여러 에이전트, 팀, 심지어 앱에도 이를 공유하고 싶을 수 있습니다. 그런데 이러한 도구의 접근성, 일관성 및 통합 용이성을 보장하려면 어떻게 해야 할까요?
바로 이때 모델 컨텍스트 프로토콜(MCP)이 필요하며, 이를 구현하는 데 도움이 되는 공식 MCP Kotlin SDK도 준비되어 있습니다. MCP는 에이전트가 사용자 지정 통합이나 글루 코드 없이 도구를 검색하고 사용할 수 있는 방식을 정의하는 표준입니다. MCP Kotlin SDK를 사용하면 호환되는 모든 에이전트와 원활하게 작동하는 방식으로 도구를 노출할 수 있습니다. 이런 방식으로 Kotlin 코드를 더 크고 연결된 AI 시스템에 간단히 통합할 수 있습니다.

자세히 알아보기:
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는 소규모로 시작하여 프로젝트가 성장함에 따라 확장할 수 있는 유연성을 제공합니다.
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에서 사용 가능
기타 문서 및 동영상 리소스
- 📖 Kotlin for AI-Powered App Development(AI 기반 앱 개발을 위한 Kotlin)
- 📖 Smarter Kotlin Development With JetBrains AI: Junie and AI Assistant in IntelliJ IDEA(JetBrains AI를 활용해 더 스마트하게 Kotlin 개발: IntelliJ IDEA의 Junie와 AI Assistant)
- 🎥 Building Smarter AI Agents With Koog(Koog를 사용하여 더 스마트한 AI 에이전트 구축) | Vadim Brilliantov 및 Andrey Bragin
- 🎥 Kotlin and Spring: The modern server side stack(Kotlin과 Spring: 최신 서버 측 스택) | Rod Johnson
- 🎥 From 0 to h-AI-ro: high-speed track to AI for Kotlin developers(0에서 h-AI-ro까지: Kotlin 개발자를 위한 AI 고속 트랙) | Urs Peter
- 🎥 Model Context Protocol in Kotlin(Kotlin의 모델 컨텍스트 프로토콜) | Alexander Sysoev
- 🎥 LangChain4j with Quarkus(LangChain4j와 Quarkus) | Max Rydahl Andersen 및 Konstantin Pavlov
- 🎥 Large Scale Changes with AI – Migrating millions of lines of Java to Kotlin at Uber(AI가 가져오는 거대한 변화 – Uber의 수백만 줄의 Java를 Kotlin으로 마이그레이션) | Ty Smith
- 🎥Kotlin’s Gamebit: LLM less AI for Board Games(Kotlin의 Gamebit: 보드 게임을 위한 LLM 없는 AI) | Dmytro Kurets
- 🎥Building an Agentic Platform with Kotlin: Powering one of Europe’s Largest LLM Bot(Kotlin을 활용한 에이전트 플랫폼 구축: 유럽 최대 규모의 LLM 봇 중 하나를 구축) | Patrick Whelan
게시물 원문 작성자