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-Multiplatformプロジェクト、さらには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クライアントにバインドされたpromptExecutorで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-Multiplatformにより、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サポート、深い可視性を備え、既存のJVM/Kotlinコードベースに自然に溶け込む型安全DSLで提供されています。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト