内容提要
Koog是JetBrains开源的JVM生态AI Agent框架,为Kotlin和Java提供类型安全DSL与流式API,支持多平台部署。它定位为Agent运行时与编排层,强调结构化状态机、工作流、工具调用、记忆、持久化与可观测性,解决Agent如何思考与执行的问题。
延伸解读
Koog 与 Spring AI、LangChain4j 的定位差异
三者虽同属 JVM 生态,但核心定位不同。Spring AI 侧重将 AI 能力融入 Spring 应用,解决模型集成与基础设施问题;LangChain4j 是覆盖模型、RAG、工具等的大而全 SDK;而 Koog 专注于 Agent 运行时与编排层,解决 Agent 如何思考、调用工具、维护状态和编排流程。JetBrains 官方明确 Koog 可构建在 Spring AI 之上,也可独立使用。
Kotlin Multiplatform 带来的跨平台部署能力
Koog 的一大差异点是支持 Kotlin Multiplatform。除了 JVM 后端,还能面向 Android、iOS、JS、WasmJS 等目标部署。这是 Spring AI 和 LangChain4j 定位中基本没有的。对于需要将 Agent 能力扩展到移动端或前端的团队,Koog 提供了更统一的技术栈选择,但需注意跨平台部署的具体限制和成熟度。
版本策略与 Beta 功能的使用注意
Koog 遵循语义化版本,稳定模块的公共 API 不会在没有主版本号变更的情况下被破坏。但文档中标注为 Beta 的功能属于 1.3.0-beta 模块,API 可能在后续版本发生变化。后续涉及 MCP、A2A、ACP、Ktor plugin、Spring Boot integration、RAG 等内容时,官方会按 Beta 状态标注。生产环境采用时需评估这些功能的稳定性风险。
Q&A
Koog 是什么?它主要面向哪些开发者?
Koog 是 JetBrains 开源的 AI Agent 框架,面向 JVM 生态设计。它为 Kotlin 开发者提供类型安全的 DSL,为 Java 开发者提供 fluent builder 风格 API,主要面向 Kotlin 和 Java 开发者。
Koog 和 Spring AI、LangChain4j 的核心区别是什么?
Spring AI 和 LangChain4j 主要解决“怎么使用 AI 能力”,而 Koog 解决“Agent 怎么思考、调用工具、执行步骤、维护状态、编排流程”。Koog 定位为 Agent runtime / orchestration 层,可以独立使用,也可以构建在 Spring AI 之上。
Koog 中的 Agent 是如何定义的?
在 Koog 中,Agent 不是只包装一次 LLM 调用,而是被描述为结构化、类型安全的状态机。Agent 可以通过 strategy 定义工作流,通过 tools 访问外部数据和服务,通过 features 增强运行能力。
Koog 支持哪些部署平台?
Koog 主要面向 JVM 生态,同时 Kotlin 开发者可以通过 Kotlin Multiplatform 将 agents 部署到 JS、WasmJS、Android 和 iOS 等目标平台。
Koog 的关键特性有哪些?
Koog 的关键特性包括:结构化 workflow、branching、持久状态、恢复、并发执行、Tracing 等。它强调 Agent 的 Strategy、Node、条件判断、Retry、并发、Tools、Memory、State、Persistence、Observability 和 LLM 集成。
Koog 支持哪些 LLM 提供商?
Koog 可与主流 LLM provider 配合使用,也支持使用 Ollama 运行本地模型。
Koog 的版本管理策略是怎样的?
Koog 遵循 Semantic Versioning,版本格式为 X.Y.Z。稳定模块发布后,公共 API 不会在没有 major version bump 的情况下被破坏。文档中标注为 Beta 的功能属于 1.3.0-beta 模块,API 可能在后续版本发生变化。