Koog

JetBrains의 Koog

JVM(Kotlin 또는 Java), Android, iOS, JavaScript 및 WebAssembly를 대상으로 내결함성과 확장성을 갖춘 엔터프라이즈급 AI 에이전트를 구축하세요.

Java용 Koog

엔터프라이즈급 AI 에이전트로 Java 백엔드 성능 극대화

자세히 알아보기

에이전트가 중요한 이유

  • 더 스마트하고 빠른 의사결정

    에이전트는 지속적으로 학습하고 컨텍스트를 해석하며, 실시간으로 적응합니다. 작업을 재조정하고 우선 순위를 다시 설정하며, 문제를 조기에 포착하므로 팀은 신속하고 자신 있게 대응할 수 있습니다.

  • 반복 작업 최소화

    반복적이고 가치가 낮은 작업을 자동화해 전략적 사고, 창의성, 협업 등 진정으로 중요한 일에 집중할 수 있습니다.

  • 효율성 강화

    병렬 작업 실행으로 워크플로가 간소화됩니다. 순차적으로 지시를 내려야 하는 기존 워크플로와 달리, 에이전트가 여러 단계를 동시에 조율해 작업을 빠르게 진행할 수 있습니다.

간단하게 시작

지금 바로 에이전트가 필요하신가요? 기본 범용 전략으로 즉시 실행하고 즉각적인 생산성 향상을 경험하세요.

복잡성 증가

그래프 전략으로 고급 워크플로를 설계하고, 매우 복잡한 상황을 위해 구축된 강력한 기능을 활용하세요.

대규모 환경에서도 완벽하게 제어

자율 시스템을 발전시키는 과정에서 Koog의 추적, 모니터링, 테스트 도구로 완전한 가시성을 계속 확보할 수 있습니다. 빠르게 디버그하고, 동작을 최적화하고, 모든 단계에서 신뢰성을 유지하세요.
  • Kotlin과 Java를 모두 사용

    표현력이 풍부한 Kotlin DSL을 사용하여 AI 에이전트를 구축하거나, Java 친화적인 API를 통해 기존 Java 서비스에 Koog를 도입하세요.

  • 계획 자동화

    에이전트가 견고한 타입 기반 GOAP 플래너 또는 적응형 전략을 위한 LLM 기반 플래너를 사용해 다단계 솔루션을 반복적으로 계획하고, 실행하고, 개선할 수 있도록 하세요.

  • 타입 안전성으로 정확성을 갖춘 모델

    타입 안정성이 보장되는 데이터 기반 접근 방식으로 에이전트 흐름을 구축하세요. 모든 액션의 타입이 견고하게 지정되므로, 불안정한 프롬프트 대신 구조를 기반으로 작업할 수 있습니다.

  • 개방적이고 확장 가능한 설계 활용

    Koog는 오픈 소스이며 모듈식으로 설계되어 투명하고 유연성이 뛰어나며, 사용자의 필요에 맞게 기능을 조합하고 확장할 수 있습니다.

  • 사용 중인 도구를 통합

    에이전트를 외부 시스템이나 API에 연결하거나, 기존 MCP 또는 A2A 서버를 활용해 기능을 강화합니다.

  • 개발을 빠르게 시작

    엔터프라이즈급 지속성, 비용 최적화를 위한 기록 압축 등 사전 구축된 구성 요소를 사용하여 신속하게 배포하고, 흔한 AI 엔지니어링의 문제를 방지하세요.

  • 모든 단계를 추적

    세밀하고 구성 가능한 관측 도구로 에이전트 실행을 디버그하고 모니터링할 수 있습니다.

  • 로직을 그래프로 시각화

    직관적인 그래프 기반 워크플로로 정교한 에이전트 동작을 설계할 수 있습니다.

  • 어디서든 실행

    Kotlin 또는 Java를 사용하여 기존 Spring 또는 Ktor 백엔드 내부에 에이전트를 배포하고 Kotlin Multiplatform을 통해 JS, WasmJS 및 iOS 간에 로직을 공유할 수 있습니다.

자주 하는 질문

Koog는 내결함성 및 확장성이 있고 프로덕션 환경에서 바로 사용할 수 있는 AI 에이전트를 구축하기 위한 오픈 소스 프레임워크입니다. JVM, Android, iOS, JavaScript, WebAssembly 등 다양한 플랫폼을 지원하여, 엔터프라이즈 환경과 크로스 플랫폼 애플리케이션 모두에 사용할 수 있습니다.

AI 에이전트(‘에이전틱 AI'라고도 함)는 일정 수준의 자율성을 가지고 작동하며, 의사결정을 내리고, 필요한 단계를 식별하고, 목표를 달성하기 위한 행동을 수행하는 시스템입니다. 전통적 AI가 정해진 규칙을 따르거나 직접 입력에만 반응하는 것과 달리, AI 에이전트는 변화하는 환경에 적응하고 여러 단계를 조율하며 외부 도구나 서비스와 상호작용할 수 있습니다.

시작할 때 Kotlin이 반드시 필요한 것은 아닙니다. Koog는 JVM 백엔드를 위해 Java 친화적인 API를 제공합니다. Kotlin은 여전히 필수 언어로 지원되며, Kotlin DSL, 코루틴, Kotlin Multiplatform 타깃 등 가장 표현력 높은 개발 환경을 원할 때 사용할 수 있습니다.

Koog는 Java로 자연스럽게 사용할 수 있도록 설계되었으며, 일반적인 워크플로에 맞춘 API를 제공합니다. 가능한 모든 사용 사례에 대해 Kotlin 래퍼 모듈을 작성하지 않아도 Java로 바로 Koog를 사용할 수 있습니다. 이제 Koog는 Kotlin과 Java에 완벽하게 동일한 기능을 제공합니다.

Java API에 부족한 부분이 있더라도 Kotlin 코어와는 계속해서 상호 운용이 가능합니다.

LangChain/LangGraph와 같이 널리 사용되는 Python이나 JavaScript 프레임워크와 달리, Koog는 JVM과 Kotlin 개발자를 위해 특별히 설계된 Kotlin 도메인 특화 언어(DSL)를 제공합니다. 이를 통해 Kotlin 및 Java 기반 애플리케이션에 매끄럽게 통합할 수 있으며, 생산성을 크게 높이고 전반적인 개발자 경험을 향상합니다.

이에 더해, Koog는 에이전틱 시스템 개발을 단순화하고 속도를 높이기 위한 사전 빌드 및 구성 가능한 솔루션을 포함하고 있어, 기본 구성 요소만 제공하는 다른 프레임워크와 차별화됩니다.

Koog의 멀티플랫폼 지원을 통해 JVM, JS, WasmJS, iOS를 대상으로 에이전틱 애플리케이션을 배포할 수 있습니다.

또한 Koog는 W&B WeaveLangfuse 같은 인기 있는 관측 도구 공급자를 즉각적으로 사용할 수 있도록 통합하여, AI 애플리케이션의 모니터링과 디버그를 지원합니다.

Google, OpenAI, Anthropic, DeepSeek, OpenRouter, Ollama, Bedrock 등의 다양한 LLM 공급자 및 플랫폼 중에서 선택할 수 있습니다. 자세한 내용은 여기에서 확인하세요.

Koog를 사용하면 Kotlin Multiplatform을 통해 JVM, JS, WasmJS, Android, iOS를 대상으로 에이전트를 배포할 수 있습니다.

Koog에서는 에이전트 체크포인트 기능이 제공되므로 실행 중에 특정 지점에 에이전트 상태를 저장하고 복원할 수 있습니다. 에이전트 지속성 기능을 사용하려면 에이전트 전략 내 모든 노드에 고유한 이름을 지정하고, 에이전트 구성에 추가해야 합니다. 자세한 사용 방법은 여기에서 확인할 수 있습니다.

Koog 프레임워크는 MCP SDKagent-mcp 모듈의 추가 API 확장 프로그램을 사용하여 MCP와 통합됩니다. 이 통합으로 Koog 에이전트는 여러 전송 메커니즘(stdio, SSE)을 통해 MCP 서버에 연결하고, MCP 서버에서 사용 가능한 도구를 가져와 이를 Koog 도구 인터페이스로 변환하며, 변환된 도구를 도구 레지스트리에 등록하고, LLM이 제공한 인수를 사용해 MCP 도구를 호출할 수 있습니다. 자세한 내용은 Koog 문서에서 확인할 수 있습니다.

예. Koog를 사용하면 Google의 Agent2Agent 프로토콜(A2A)을 통해 연결된 AI 에이전트를 구축할 수 있습니다. Koog는 핵심 에이전트 로직과 도구 통합을 제공하며, A2A는 에이전트 간 표준화된 통신을 보장합니다.

Koog는 오픈 소스이며, Apache 2.0 라이선스로 배포됩니다.

Slack 커뮤니티에 참여해 질문을 하거나 피드백을 공유하고 아이디어를 보내 주세요. 공식 Koog YouTrack 프로젝트를 사용해 기능 요청이나 버그 보고서를 추가할 수 있습니다.

Koog와 Spring AI는 스택의 서로 다른 계층에서 동작합니다. Spring AI는 모델 통합과 인프라에 중점을 두는 반면, Koog는 에이전트 런타임 및 오케스트레이션 계층을 제공합니다. 아키텍처에 따라 Koog는 Spring AI상에서 또는 독립적으로 사용할 수 있습니다.

Spring AI는 LLM, 임베딩, 벡터 저장소와 상호 작용하기 위한 기본 구성 요소를 제공합니다. Koog는 이러한 구성 요소를 기반으로 구조화되고 안정적인 에이전트 시스템을 설계하고 실행할 수 있도록 지원합니다.

애플리케이션의 복잡성이 증가하여 더 많은 조정, 상태 관리, 지속 가능한 실행(내결함성), 실행 제어가 요구되는 경우 Koog가 적합합니다.

Koog는 다음과 같은 이점을 제공합니다.

  • 분기 로직, 가드레일, 맞춤형 제어 단계를 활용해 복잡한 워크플로를 오케스트레이션할 수 있습니다.
  • 영구 상태와 복구 기능을 갖춰 오래 사용 가능한 에이전트를 실행할 수 있습니다.
  • 메시지 기록 압축을 위한 전략이 내장되어 스토리지 사용량과 LLM 토큰 사용량이 최적화됩니다.
  • 재시도, 내결함성, 제어된 실행을 통해 안정성이 향상됩니다.
  • AI 워크플로가 병렬로 실행되어 성능이 향상됩니다.
  • OpenTelemetry, Langfuse, W&B Weave, Datadog와 같은 도구를 지원하여 에이전트 실행에 대한 가시성을 제공합니다.

요약하면, Spring AI는 AI 기능에 연결할 수 있도록 지원하고, Koog는 이러한 기능을 프로덕션 환경에서 사용할 수 있는 안정적인 에이전트 시스템으로 구현할 수 있도록 지원합니다.