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 + 組み込みエクスポート機能により、既存のモニタリングスタックにメトリクス/トレースを供給。

ドキュメントとコミュニティ


ライセンス

Apache 2.0 – 商用・非商用問わず自由に利用可能。通常の特許付与付き。


TL;DR

Koogは生産環境対応のKotlinネイティブツールキットで、LLM駆動のエージェントを構築できます。マルチプラットフォームデプロイ、堅牢な信頼性機能、シームレスなLLM切り替え、RAGサポート、深い可視性を備え、既存のJVM/Kotlinコードベースに自然に溶け込む型安全DSLで提供されています。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト