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 + 内置导出器将指标/追踪发送到现有监控堆栈。 |
文档与社区
- 文档 – https://docs.koog.ai/
- API 参考 – https://api.koog.ai/
- Slack 频道 – 文档中链接,提供实时帮助。
- 问题追踪器 – YouTrack 项目
KG(https://youtrack.jetbrains.com/issues/KG)。
许可证
Apache 2.0 – 免费用于商业和非商业用途,附带常规专利授权。
TL;DR
Koog 是一个生产级、Kotlin 原生的工具包,用于构建 LLM 驱动的代理。它提供多平台部署、强大的可靠性功能、无缝的 LLM 切换、RAG 支持和深度可观测性——全部封装在类型安全的 DSL 中,可自然融入现有的 JVM/Kotlin 代码库。
相关
- 项目
- 项目
- 项目
- 项目
- 项目