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 多平台项目,甚至 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 客户端的 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 多平台允许在 Android 和 iOS 上运行相同的代理代码,Web 可选 WasmJS 回退。
工具驱动的自动化 定义调用内部服务的自定义工具;Koog 的图工作流协调工具选择和执行。
可观测性密集型部署 OpenTelemetry + 内置导出器将指标/追踪发送到现有监控堆栈。

文档与社区


许可证

Apache 2.0 – 免费用于商业和非商业用途,附带常规专利授权。


TL;DR

Koog 是一个生产级、Kotlin 原生的工具包,用于构建 LLM 驱动的代理。它提供多平台部署、强大的可靠性功能、无缝的 LLM 切换、RAG 支持和深度可观测性——全部封装在类型安全的 DSL 中,可自然融入现有的 JVM/Kotlin 代码库。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目