Koog 智能体框架
用 Kotlin 和 Java 构建可恢复、可观测的跨平台 AI 智能体。
- Star 数
- ★ 4.7k
- 最近更新
- 11 天前
- License
- Apache-2.0
- 主语言
- Kotlin
- FA 评分
- 58/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台OpenAI API · Claude API
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 中 · 需要几步配置
- 开始前需要
- 典型场景
- Kotlin 后端团队需要在 JVM 服务中通过 AIAgent 调用 OpenAI、Anthropic 或其他已列出的模型提供商。
- 不适合
- 仍停留在 JDK 17 以下或 Kotlin 2.3.10 以下的老项目
- 只想用 Python 生态构建 Agent 的开发者
- 源码审查
- 58/100 · 缺口较多
这个 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 合规智能体通信;长会话可使用内置历史压缩,失败场景可用重试和持久化恢复执行状态。
- Kotlin 后端团队需要在 JVM 服务中通过 AIAgent 调用 OpenAI、Anthropic 或其他已列出的模型提供商。
- Android、iOS 与 Web 团队希望以 Kotlin Multiplatform 为 JVM、JS、WasmJS 和 iOS 目标共享智能体实现。
- Spring Boot 或 Ktor 应用需要把工具调用、图式流程和流式模型响应嵌入现有服务。
- 需要在故障后通过重试与 agent persistence 恢复特定执行点的长流程应用。
- 已经提供 MCP 工具或需要构建 ACP-compliant agent、与标准化客户端通信的集成团队。
- 需要以向量嵌入和 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 智能体框架 当前 | 58 · 缺口较多 | 开发框架免费 + 模型费 | ★ 4.7k | 11 天前 | Kotlin | OpenAI API · Claude API |
| ai4j — Java AI Agentic 开发套件 | 60 · 存在缺口 | 代码库 / SDK免费 + 模型费 | ★ 439 | 26 天前 | Java | OpenAI API · Claude API |
| Oh My Pi | 68 · 存在缺口 | 命令行工具免费 + 模型费 | ★ 38k | 今天 | TypeScript | Codex · OpenAI API · Claude API |
| Embabel Agent Framework | 31 · 缺口较多 | 开发框架免费 + 模型费 | ★ 4.5k | 2 天前 | Kotlin | OpenAI API |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
文档说明通过工具、MCP、LLM 提供商和环境变量与外部系统交互,并建议避免硬编码密钥;这支持数据流可见性和基本密钥处理。工具安全和最小权限主要是 AGENTS.md 中的概括性建议,没有所给核心实现来证明授权边界、敏感数据保护或撤销机制,因此这些项只给有限分数。所给 Java A2A 示例公开绑定 0.0.0.0,且启用推送能力,但片段没有展示部署防护或用户确认机制;尚无证据达到红线。
README 声称支持重试、持久化恢复和历史压缩,并提供 CI 状态及测试工作流线索;所给 A2A 工作流还列出多类 TCK 检查,但本审查不据此声称测试实际通过。材料对支持平台存在不一致:README 概览提及 Android,后文目标列表未列 Android;AGENTS.md 的目标描述也不完全一致。Quickstart 的 API key 缺失时会给出明确错误,技能样例也要求说明脚本失败,因此失败反馈有一定支持;但样例未覆盖框架级故障处理。
README 面向 Kotlin/Java 开发者,列出 JVM、JS、WasmJS、iOS、多种 LLM、MCP、ACP、RAG、工具和图工作流等场景,受众和用途覆盖充分。工具与环境抽象、模块化特性说明了部分边界;但框架可访问的权限和能力范围在材料中没有完整定义。所给两个 SKILL.md 的触发条件具体,但它们是样例技能,不能据此推断整个框架的触发策略。Gradle、Maven、API key 环境变量和本地 Ollama 说明了常见环境适配。
README、Quickstart、项目结构说明、安装片段和 Java/Kotlin 文档样例构成了可用的信息入口;Apache-2.0 文本完整,README 提供语义化版本说明及稳定版/测试版依赖示例。版本信息有帮助,但样例使用的版本、稳定性描述和所给代码包之间没有完整的修订对应关系;未见详细限制清单或完整变更记录。维护路径通过贡献指南、YouTrack 和 Slack 提及,发布责任与维护承诺仍较概括;发布身份按题设视为未知,不因此扣分。
材料展示了图式工作流、类型化工具、流式处理、持久化、可观测性和多模型接入等能力,具有明确的框架层增益。Quickstart 给出可直接改造的 Kotlin 与 Java 示例,并提供 Maven/Gradle 安装方式;但示例依赖外部 API key 和服务,且所给代码样本无法覆盖广泛功能的配置成本、运营开销或实际收益,因此成本效益只评为适当。
README 的主要功能主张能在 Quickstart、模块结构、技能样例或工作流配置中找到部分对应,安装、许可证和版本主张也有具体文件支持。跨文件佐证存在,但 AGENTS.md 与 README 对平台的表述不完全一致,若干能力仅见于概述或开发说明,不能视为核心实现已证实。材料对事实与推断的标注有限,因此未给满分;本静态审查没有执行构建或独立测试。
- README 与 AGENTS.md 对支持平台的列举并不完全一致;部署前请按目标平台核实对应模块和发布产物。
- 工具和 A2A 示例可以连接外部服务或公开网络监听地址;上线前应自行核实权限、认证、数据处理和网络暴露配置。
- 示例技能会把用户请求交给指定脚本执行;材料未说明脚本层面的隔离或输入验证实现。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
发布说明摘录
Improvements - Newest models from every provider: Added ready-made LLModel definitions — with correct capabilities, context windows, and pricing — for the latest models, so they no longer have to be hand-written: Anthropic (Sonnet_5, Opus_5, Opus_4_8), OpenAI (GPT5_6Sol, GPT5_6Terra, GPT5_6Luna), Google (Gemini3_5FlashLite, Gemini3_6Flash, Gemini3_7Flash), Bedrock (Claude 5 Opus/Sonnet, Claude 4.8 Opus, Amazon Nova 2 Lite), DashScope (QWEN3_5_PLUS, QWEN3_7_MAX, QWEN3_8_MAX), DeepSeek (DeepSeekV4FlashVisionExp), Mistral (Ministral 3B/8B/14B), Ollama (`QWEN_3_ …在 GitHub 查看 ↗ -
发布说明摘录
Major Features Agent Skills - New skills module: Support for the [Agent Skills specification](https://agentskills.io/specification) — discover skill repositories (SkillsDiscovery), model them as Skill objects, and generate skills-catalog prompts for progressive disclosure and activation. The catalog formatter emits XML, YAML, or JSON. Documented in docs/docs/skills.md (#1383, #2160) Amazon Bedrock AgentCore Runtime …在 GitHub 查看 ↗ -
发布说明摘录
Major Features - Spring AI 2.0 integration: New set of Koog starters for Spring Boot 4+ / Spring AI 2.0 ([KG-851](https://youtrack.jetbrains.com/issue/KG-851), #2149) - Spring WebClient support: Added Spring WebClient as a KoogHttpClient implementation, and removed @Experimental annotations from the now-stable HTTP client APIs/modules ([KG-820](https://youtrack.jetbrains.com/issue/KG-820), #2065) …在 GitHub 查看 ↗
常见问题
Koog 是否只支持 OpenAI?
运行示例需要什么凭据?
遇到模型调用或流程失败怎么办?
Koog 能直接作为聊天产品使用吗?
谢谢反馈,我们会据此改进页面。