Koog 智能体框架

用 Kotlin 和 Java 构建可恢复、可观测的跨平台 AI 智能体。

Star 数
★ 4.6k
最近更新
今天
License
Apache-2.0
主语言
Kotlin

30 秒速览

可在哪里用
通用 · 跨平台OpenAI API · Claude API
开始前需要
JDK 17 or higher for JVMKotlin 2.3.10 or higher in existing projects网络访问MCP Server
典型场景
Kotlin 后端团队需要在 JVM 服务中通过 AIAgent 调用 OpenAI、Anthropic 或其他已列出的模型提供商。
主要局限
JVM 使用明确要求 JDK 17+;现有项目还需显式满足 Kotlin 2.3.10+。

这个 Agent 能做什么,适合哪些场景?

Koog 是 JetBrains 提供的 Kotlin AI 智能体框架,也提供 Java API,面向 JVM、JS、WasmJS、Android 和 iOS 目标。开发者可通过类型安全的 Kotlin DSL、AIAgent 和图式工作流组织模型调用、工具交互与复杂流程。框架支持 OpenAI、Anthropic、Google、DeepSeek、OpenRouter、Ollama 和 Bedrock,并可在执行中切换或路由 LLM,同时适配已有会话历史。它提供重试、在执行点恢复状态的持久化、历史压缩、流式响应与并行工具调用等运行能力。对于生产服务,Koog 还列出 Spring Boot、Ktor、MCP、ACP、向量嵌入/RAG,以及 W&B Weave 和 Langfuse 的 OpenTelemetry 可观测性集成。

应用创建 AIAgent,配置 promptExecutor、systemPrompt 和 llmModel;README 示例使用 MultiLLMPromptExecutor(OpenAILLMClient(apiKey)) 与 OpenAIModels.Chat.GPT4o。随后调用 agent.run("Hello! How can you help me?"),获得结果并用 println 输出。框架可让智能体与工具交互、运行图式工作流,并支持 MCP 工具和 ACP 合规智能体通信;长会话可使用内置历史压缩,失败场景可用重试和持久化恢复执行状态。

  1. Kotlin 后端团队需要在 JVM 服务中通过 AIAgent 调用 OpenAI、Anthropic 或其他已列出的模型提供商。
  2. Android、iOS 与 Web 团队希望以 Kotlin Multiplatform 为 JVM、JS、WasmJS 和 iOS 目标共享智能体实现。
  3. Spring Boot 或 Ktor 应用需要把工具调用、图式流程和流式模型响应嵌入现有服务。
  4. 需要在故障后通过重试与 agent persistence 恢复特定执行点的长流程应用。
  5. 已经提供 MCP 工具或需要构建 ACP-compliant agent、与标准化客户端通信的集成团队。
  6. 需要以向量嵌入和 RAG 在多轮对话间保留、检索知识的产品团队。

如何安装或部署这个 Agent?

在 JVM 项目中使用 JDK 17 或更高版本;现有项目应显式使用 Kotlin 2.3.10 或更高版本,并配置 mavenCentral()。Gradle Kotlin DSL:dependencies { implementation("ai.koog:koog-agents:1.1.1"); implementation("ai.koog:koog-agents-additions:1.1.1-beta") }。Maven 可使用 ai.koog:koog-agents-jvm:1.1.1 和 ai.koog:koog-agents-additions-jvm:1.1.1-beta。

如何使用这个 Agent?

先为所选提供商设置 API 密钥环境变量;示例读取 OPENAI_API_KEY。创建 AIAgent(promptExecutor = MultiLLMPromptExecutor(OpenAILLMClient(apiKey)), systemPrompt = "You are a helpful assistant. Answer user questions concisely.", llmModel = OpenAIModels.Chat.GPT4o),然后在 runBlocking 中调用 agent.run("Hello! How can you help me?") 并输出返回值。若改用 README 列出的其他提供商,需要相应的客户端、模型配置和凭据;仓库未给出这些配置的完整代码。

这个 Agent 有哪些优点和局限?

优点
  • Kotlin Multiplatform 覆盖 JVM、JS、WasmJS、Android 和 iOS,适合跨端共享智能体逻辑。
  • 内置重试、执行状态持久化恢复和历史压缩,直接针对长运行与故障场景。
  • 支持多个 LLM 提供商,并明确支持执行中切换模型或在提供商间路由且适配既有历史。
  • 同时提供 MCP、ACP、Spring Boot、Ktor、RAG 和可观测性集成,便于接入 JVM 应用生态。
局限
  • JVM 使用明确要求 JDK 17+;现有项目还需显式满足 Kotlin 2.3.10+。
  • 调用云端模型需要相应提供商的 API 密钥,README 未说明费用、配额或凭据管理方案。
  • README 给出的完整入门代码只展示 OpenAI;其他已列提供商的具体客户端与模型配置未在该示例中展开。
  • 可观测性仅明确列出 W&B Weave 和 Langfuse,其他后端或具体部署配置没有在提供材料中说明。

这个 Agent 与同类方案有什么区别?

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 Star 最近更新 主语言 完整支持的平台
Koog 智能体框架 当前 27 · 缺口较多 ★ 4.6k 今天 Kotlin OpenAI API · Claude API
ai4j — Java AI Agentic 开发套件 52 · 缺口较多 ★ 429 4 天前 HTML OpenAI API · Claude API
Oh My Pi 54 · 缺口较多 ★ 33k 今天 TypeScript Codex · OpenAI API · Claude API
Embabel Agent Framework 0 · 缺口较多 ★ 4.5k 今天 Kotlin OpenAI API

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
缺口较多
27/ 100 五分制 1.4 / 5
信任安全 0/29
可靠稳定 3/14
适用触发 8/18
规范维护 8/18
有效结果 6/13
证据核验 2/8
查看各维度的扣分理由
信任安全0 / 29 · 0.0/5

证据显示:仓库未提供权限模型、用户确认机制、数据流透明性、敏感数据处理、依赖安全审计、外部影响控制、回滚机制或来源归属的说明。所有信任相关标准均未得到支持,因此得分为0。

可靠稳定3 / 14 · 1.1/5

证据显示:README声称支持多平台和可靠性特性,但未提供具体实现细节或测试证据。依赖可用性方面,声明了Maven Central和Gradle依赖,但未提供版本锁定或依赖验证。失败消息方面,未提供错误处理或用户反馈机制。因此,自我一致性得分为1(部分声明),依赖可用性得分为1(部分声明),失败消息得分为0。

适用触发8 / 18 · 2.2/5

证据显示:README明确了目标受众(JVM/Kotlin开发者)和多种使用场景(后端、Android、iOS等),得分为2。能力边界方面,列出了支持的LLM提供商和平台,但未明确限制或边界,得分为1。触发精度方面,未提供任何触发机制或精确控制,得分为0。环境适配方面,提供了JVM、JS、WasmJS、Android、iOS等目标平台,得分为2。

规范维护8 / 18 · 2.2/5

证据显示:README提供了清晰的信息架构(概述、特性、快速开始、使用指南),得分为2。安装说明详细(Gradle、Maven),得分为2。命名稳定性方面,提到了语义化版本,但未提供具体版本历史,得分为1。示例和FAQ方面,提供了快速开始示例,但无FAQ,得分为2。已知限制方面,未提及任何限制,得分为0。许可证为Apache-2.0,得分为2。版本控制和变更日志方面,提到了VERSIONING.md,但未提供具体内容,得分为1。维护责任方面,提供了Slack和YouTrack支持,但未明确维护者,得分为1。

有效结果6 / 13 · 2.3/5

证据显示:输出可用性方面,提供了API参考和文档,但未提供实际输出示例,得分为1。边际价值方面,提供了多种特性(如多平台、可靠性、历史压缩等),得分为2。成本效益方面,未提供性能或资源消耗数据,得分为1。

证据核验2 / 8 · 1.3/5

证据显示:声明可追溯性方面,README中的声明未提供具体实现或测试证据,得分为1。跨来源佐证方面,提供了CI状态和测试工作流,但未提供独立验证,得分为1。事实与推断分离方面,未区分事实和推断,得分为0。

风险与缓解建议
  • 源码中未见:最小权限约束只授予完成任务所需的权限:用专用账号或只读令牌,并限定可访问的目录和仓库。
  • 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
  • 源码中未见:数据流向说明运行时观察它连接了哪些外部服务(代理或防火墙日志);弄清数据去向之前不要输入敏感数据。
  • 源码中未见:敏感信息处理使用专用、低权限、可随时吊销的 API 密钥,不要复用生产凭据,也不要让密钥出现在日志里。
  • 源码中未见:依赖安全审查安装前固定版本并做一次依赖扫描(如 npm audit、pip-audit);优先放在容器里运行。
  • 源码中未见:外部影响披露先弄清它会写入、发送或修改哪些外部系统,用测试账号或测试仓库验证后再接入正式环境。
  • 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
  • 源码中未见:来源归属可核验从官方仓库或包源安装,核对发布者和仓库地址,避免同名仿冒包。
  • 该仓库未提供任何安全或权限相关的文档,使用前需自行评估风险。
  • README中的声明缺乏实现细节和测试证据,建议查看源代码和测试以验证。
  • 未提及已知限制,可能隐藏潜在问题。
证据充分度: 评估于 2026年8月9日 审查版本 10bba89b6792 评估后仓库已有新提交,评分可能未覆盖最新改动
查看完整评分方法 →

常见问题

Koog 是否只支持 OpenAI?
不是。README 列出 Google、OpenAI、Anthropic、DeepSeek、OpenRouter、Ollama 和 Bedrock,并称可在运行中切换或路由 LLM。
运行示例需要什么凭据?
示例从 OPENAI_API_KEY 读取密钥;使用其他提供商时需要对应凭据,但提供材料未列出具体环境变量名称。
遇到模型调用或流程失败怎么办?
README 明确提供内置重试,以及在特定执行点恢复智能体状态的持久化能力。
Koog 能直接作为聊天产品使用吗?
材料将其描述为构建和运行智能体的框架,而非托管聊天产品;它可通过 ACP 与标准化客户端应用通信。
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents