Koog

JetBrains の Koog

JVM(Kotlin または Java)、Android、iOS、JavaScript、および WebAssembly 向けにフォールトトレラントで拡張可能なエンタープライズ対応 AI エージェントを構築しましょう。

Java 対応の Koog

Java バックエンドをエンタープライズレベルの AI エージェントで大幅に強化

詳細情報

エージェントが重要な理由

  • さらにスマートかつ迅速な意思決定

    エージェントは継続的に学習しながら、リアルタイムでコンテキストを解釈して適応します。タスクを再編成し、優先順位をリセットし、問題を早期に検出するため、チームは素早く自信をもって対応することができます。

  • 反復作業の削減

    定型作業や価値の低いタスクをエージェントで自動化することで、戦略的思考、創作性、コラボレーションなどの最も重要な作業に専念することができます。

  • 大幅な効率の向上

    タスクを並列実行することで、ワークフローを最適化できます。作業が逐次的に行われる従来のワークフローとは異なり、エージェントが複数のステップを同時に調整するため、作業を迅速に進めることができます。

シンプルに始める

高速なエージェントが今すぐ必要ですか?汎用的なデフォルトの戦略を使用してすぐにエージェントを起動すれば、生産性の向上を即座に体感できます。

ワークフローを高度化

グラフ戦略を使用して高度なワークフローを設計し、困難な状況に対応可能な強力な機能を実装しましょう。

大規模に管理

自律システムの進化に合わせて Koog のトレース、監視、およびテストツールによって完全な可視性を維持することができます。すべての段階で、迅速なデバッグ、動作の最適化、および信頼性の維持が可能です。
  • Kotlin と Java の両方を使用

    表現力豊かな Kotlin DSL で AI エージェントを構築することも、Java 対応の API で既存の Java サービスに Koog を適合させることも可能です。

  • 計画を自動化

    厳密な型付けが特徴の GOAP プランナーか適応型戦略に対応する LLM ベースのプランナーを使用することで、エージェントが複数ステップ構成のソリューションを反復的に計画、実行、改良できるようにします。

  • 型安全を確保した高精度なモデル

    型安全なデータ駆動型の手法でエージェントフローを構築します。すべてのアクションは厳密に型指定されているため、不安定なプロンプトではなく、構造を使用できます。

  • オープンで拡張可能な設計を活用

    Koog はオープンソースかつモジュール方式であるため、透明性と適応性に優れており、開発者のニーズに合わせて機能を組み合わせたり、拡張したりできます。

  • 独自のツールを統合

    エージェントを外部のシステムまたは API に接続したり、既存の MCP または A2A サーバーを使用してエージェントの機能を強化したりできます。

  • 開発を加速

    エンタープライズレベルの永続性やコストを最適化する履歴の圧縮などを可能にする既製コンポーネントを使用することで、よくある AI エンジニアリングの落とし穴を回避しやすくなり、迅速な提供を実現できます。

  • すべてのステップを追跡

    詳細かつ構成可能な可観測性ツールを使用し、エージェントの実行をデバッグしたり監視したりできます。

  • ロジックをグラフで表現

    グラフを使用した直感的なワークフローにより、高度なエージェントの動作を設計できます。

  • あらゆる環境で動作

    Kotlin か Java から既存の Spring や Ktor のバックエンド内にエージェントをデプロイし、Kotlin Multiplatform を使用して JS、WasmJS、 および iOS でロジックを共有できます。

よくある質問

Koog はフォールトトレラントで拡張可能なエンタープライズ対応の AI エージェントを構築するためのオープンソースフレームワークです。JVM、Androi、iOS、JavaScript、WebAssembly などの複数のプラットフォームに対応しているため、エンタープライズとクロスプラットフォームの両方のアプリケーションに最適です。

AI エージェント(「エージェント型 AI」と呼ばれることもあります)とは、ある程度自律的に動作し、決定を下し、必要な手順を特定し、目標達成のためのアクションの実行する能力のあるシステムです。決まった規則に従うか、直接入力にのみ応答する従来の AI とは異なり、AI エージェントは変化し続ける環境に適応し、複数の手順を調整し、外部のツールやサービスと連携することができます。

使用し始めるのに Kotlin は必要ありません。Koog には JVM バックエンド用に Java 対応の API が備わっています。Kotlin は第一級言語のままであり、Kotlin DSL、コルーチン、および Kotlin Multiplatform ターゲットで最大限に表現力豊かな作成を行いたい場合に使用できます。

Koog は Java で自然に扱える設計になっており、一般的なワークフローに合わせて調整された API を備えています。想定されるすべてのユースケースに対応する Kotlin ラッパーモジュールを記述しなくても、Java から Koog を直接使用できます。Koog では Kotlin と Java 間にまったく機能差はありません。

Java API のギャップに遭遇した場合でも、Kotlin コアで相互運用できます。

Koog は

LangChain/LangGraph などの一般的な Python や JavaScript フレームワークとは異なり、JVM 開発者と Kotlin 開発者に特化して設計された Kotlin ドメイン固有言語(DSL)を提供しています。このため、Kotlin や Java を使用したアプリケーションに違和感なく組み込み、生産性の大幅な向上と全体的な開発者エクスペリエンスの強化を実現することができます。

さらに、Koog にはエージェント型システムの開発の単純化と高速化を図る既製の構成可能なソリューションが含まれており、基本コンポーネントのみを提供するフレームワークとは一線を画しています。

Koog はマルチプラットフォームをサポートしているため、JVM、JS、WasmJS、および iOS ターゲットにエージェントアプリケーションをデプロイできます。

また、Koog は初期状態で W&B WeaveLangfuse などの AI アプリケーションの監視とデバッグを行う一般的な可観測性プロバイダーと統合することができます。

Google、OpenAI、Anthropic、DeepSeek、OpenRouter、Ollama、Bedrock などの多様な LLM プロバイダーやプラットフォームから選択できます。詳細はこちらをご覧ください。

Koog では Kotlin Multiplatform を使用して、JVM、JS、WasmJS、Android、および iOS ターゲットにエージェントをデプロイできます。

Koog にはエージェントチェックポイント機能が備わっており、実行中の特定のポイントでエージェントの状態を保存したり復元したりできます。エージェント永続性の機能では、エージェントの戦略のすべてのノードが一意の名前を持つことが要求されます。この機能を使用するには、エージェントの構成に機能を追加してください。こちらの詳細な手順ガイドをご覧ください。

Koog フレームワークは MCP SDKagent-mcp モジュールの追加の API 拡張機能を使って MCP と統合します。Koog エージェントは、この統合によって複数の転送機構(Stdio、SSE)を通じて MCP サーバーに接続し、MCP サーバーから利用できるツールの取得、それらのツールから Koog ツールインターフェースへの変換、変換されたツールのツールレジストリへの登録、および LLM が提供する引数による MCP ツールの呼び出しを行います。詳細については、Koog ドキュメントをご覧ください。

はい。Koog では Google の Agent2Agent(A2A)プロトコルを使用してコネクテッド AI エージェントを構築できます。Koog には基本的なエージェントロジックとツールの統合機能が備わっており、A2A によってエージェント間の通信が確実に標準化されます。

Koog はオープンソースであり、Apache 2.0 License の下でライセンスされています。

Slack コミュニティに参加すると、質問、フィードバックの共有、アイデアの投稿が可能になります。機能リクエストやバグの報告には、公式の Koog YouTrack プロジェクトをご利用ください。

Koog と Spring AI は異なる技術スタックのレイヤーで機能します。Spring AI がモデルの統合とインフラストラクチャに的を絞っているのに対し、Koog はエージェントのランタイムとオーケストレーションレイヤーを提供します。Koog は Spring AI と併用可能です(またはアーキテクチャに応じて単独で使用可能です)。

Spring AI は LLM、埋め込み、ベクトルストアとの連携に必要なプリミティブを提供します。Koog はそのようなプリミティブをベースに構築されており、構造化された信頼性の高いエージェントシステムの設計と実行を支援します。

Koog はアプリケーションの複雑さが増し、より高度な調整、状態管理、永続的な実行(フォールトトレランス)、実行に対する管理が必要になってきた場合に必要になります。

Koog を使用した場合:

  • 分岐ロジック、ガードレール、および調整・管理可能なステップによって複雑なワークフローを整理できます。
  • 状態の永続化と回復能力により、長期にわたってエージェントを実行できます。
  • 組み込みのメッセージ履歴圧縮戦略によってストレージと LLM トークンの消費量を最適化できます。
  • 再試行、フォールトトレランス、制御された実行を通して信頼性を強化できます。
  • AI ワークフローを並行実行してパフォーマンスを向上させることができます。
  • OpenTelemetry、 Langfuse、W&B Weave、Datadog などのツールに対応し、エージェントの実行状態を監視可能になります。

一言で言えば、Spring AI が開発者と AI 機能とのつながりを支援するのに対し、Koog は開発者がそのような機能を本番運用に耐える信頼性の高いエージェントシステムに変えるのを支援します。