JetBrains/koog

Koog is a JVM (Java and Kotlin) framework for building predictable, fault-tolerant and enterprise-ready AI agents across all platforms – from backend services to Android and iOS, JVM, and even in-browser environments. Koog is based on our AI products expertise and provides proven solutions for complex LLM and AI problems

Koog – AI 에이전트를 구축하기 위한 Kotlin 우선 프레임워크

무엇인가요 – Koog는 JetBrains에서 인큐베이션 중인 오픈소스 라이브러리로, Kotlin(또는 Java)으로 AI 에이전트를 완전히 작성, 실행, 관리할 수 있게 해줍니다. 타입 안전한 DSL과 런타임 서비스(지속성, 재시도, 가시성, 기록 압축, RAG, 스트리밍 등)를 제공하여 개발자는 에이전트 로직에 집중할 수 있도록 하며, 프레임워크가 하위 처리를 담당합니다.

왜 중요한가요 – 기존의 LLM 에이전트 툴킷 대부분은 Python 중심입니다. Koog는 Kotlin/Java 생태계에도 동일한 기능을 제공하여 JVM 기반 백엔드, Android 앱, Kotlin-Multiplatform 프로젝트, 심지어 WebAssembly에도 에이전트를 쉽게 통합할 수 있게 합니다. 이는 이미 Kotlin/Java에 의존하는 기업이 새로운 언어 스택을 도입하지 않고도 LLM 기반 기능을 추가할 수 있도록 합니다.


핵심 기능 (README에 기재된 내용)

카테고리 기능
멀티플랫폼 Kotlin Multiplatform을 통해 JVM, JavaScript, WasmJS, Android, iOS에서 한 번 작성하고 여러 플랫폼에서 실행 가능.
신뢰성 장애에 강한 에이전트를 위한 내장 재시도, 상태 지속성, 체크포인트 기반 복원.
토큰 효율성 긴 대화를 압축하면서도 컨텍스트를 유지하는 기록 압축 알고리즘.
기업 통합 Spring Boot, Ktor, 기타 JVM 프레임워크용 사전 구축된 어댑터 제공.
가시성 OpenTelemetry 내보내기 기능; W&B Weave, Langfuse 등과의 기본 지원.
LLM 유연성 실시간 모델 전환 가능; OpenAI, Anthropic, Google, DeepSeek, OpenRouter, Ollama, Bedrock 지원.
표준 프로토콜 상호 운용성을 위한 Model Context Protocol (MCP) 및 Agent Client Protocol (ACP) 구현.
RAG 및 메모리 벡터 기반 임베딩, 지식 검색, 장기 메모리 저장.
스트리밍 및 병렬성 실시간 응답 스트리밍 및 동시 도구 호출.
모듈식 아키텍처 기능을 조합 가능; 필요에 따라 필요한 기능만 활성화 가능.
그래프 워크플로우 복잡한 의사결정 트리와 도구 호출 시퀀스를 선언적으로 기술하는 DSL.
사용자 정의 도구 외부 API나 서비스를 "도구"로 노출하여 에이전트가 호출할 수 있도록 쉽게 제공.
트레이싱 디버깅을 위한 상세하고 구성 가능한 실행 추적.

빠른 시작 예제 (README에서)

fun main() = runBlocking {
    val apiKey = System.getenv("OPENAI_API_KEY")
    val agent = AIAgent(
        promptExecutor = MultiLLMPromptExecutor(OpenAILLMClient(apiKey)),
        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)
}

이 스니펫은 일반적인 흐름을 보여줍니다: 구체적인 LLM 클라이언트에 바인딩된 promptExecutor로 AIAgent를 생성하고, 시스템 프롬프트를 제공한 후, 사용자 메시지로 run을 호출합니다.


Koog를 프로젝트에 추가하는 방법

Maven Central에서 아티팩트를 추가하세요:

// Gradle Kotlin DSL
dependencies {
    implementation("ai.koog:koog-agents:1.3.0")
    implementation("ai.koog:koog-agents-additions:1.3.0-beta")
}

또는 동등한 Groovy/Maven 좌표 (README 참조). 라이브러리는 JDK 17+ 및 Kotlin 2.3.10+를 필요로 합니다.


일반적인 사용 사례

시나리오 Koog가 어떻게 도움이 되는가
고객 지원 챗봇 지속적인 대화 상태, 기록 압축, Spring Boot 백엔드와의 간편한 통합.
기업용 RAG 어시스턴트 벡터 기반 지식 저장소, MCP 호환 컨텍스트 전달, LLM 제공업체 전환 시 기록 유지 가능.
모바일 AI 어시스턴트 Kotlin-Multiplatform으로 Android와 iOS에서 동일한 에이전트 코드 실행 가능. 웹용으로는 선택적 WasmJS 백업 제공.
도구 기반 자동화 내부 서비스를 호출하는 사용자 정의 도구 정의; Koog의 그래프 워크플로우가 도구 선택 및 실행을 오케스트레이션.
가시성 중심 배포 OpenTelemetry + 내장 내보내기 기능을 통해 기존 모니터링 스택에 메트릭/트레이스 전달.

문서 및 커뮤니티


라이선스

Apache 2.0 – 상용 및 비상용 모두 자유롭게 사용 가능하며, 일반적인 특허 제공 포함.


TL;DR

Koog는 생산 환경용, Kotlin 네이티브 도구 모음으로, LLM 기반 에이전트를 구축할 수 있습니다. 멀티플랫폼 배포, 견고한 신뢰성 기능, 원활한 LLM 전환, RAG 지원, 깊이 있는 가시성 등을 제공하며, 기존 JVM/Kotlin 코드베이스에 자연스럽게 통합되는 타입 안전한 DSL로 제공됩니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트