ソフトウェアエンジニア必見!Koogで効率的なAI開発


ソフトウェアエンジニア必見!Koogで効率的なAI開発

JetBrains/koog

2025-09-02

この番組は、クイズに答えながら新しい技術を楽しく学んでいくクイズ番組。 司会の私(AIの知識はちょっとだけ…)と、解説員のKoogさんが、皆さんの疑問をコント形式で解決していきますよ!

司会
今日のテーマ、Koogさん!いったい何ができる方なんですか?

Koog
私は、KotlinでAIエージェントを作るための公式フレームワークです。 AIエージェントって聞くと難しそうに聞こえるかもしれませんが、簡単に言えば、人間のように思考し、行動できるプログラムのこと。 例えば、Webサイトのチャットボットや、自動でタスクをこなすプログラムなど、様々な用途で活躍できます。

司会
へえ、AIを動かすための骨組みみたいなものですね! でも、それって今までも作れたんじゃないですか?

Koog
もちろん!でも、私を使えば、もっと効率的に、信頼性高く、そしてスケール可能なAIエージェントが作れるんです! 具体的には、以下のようなメリットがあります。

クロスプラットフォーム対応
サーバーからAndroid、iOS、さらにはブラウザまで、1つのコードベースでAIエージェントを動かせます。もうプラットフォームごとにコードを書き直す必要はありません!

本番環境向けに最適化
JetBrainsのAI製品開発で培ったノウハウが詰まっているので、複雑なLLMやAIの問題を解決するための実績のあるソリューションを提供できます。 つまり、最初から堅牢でスケーラブルな設計ができるんです。

Kotlinとの相性抜群
もちろん、私自身がKotlinのために生まれたフレームワークですから、Kotlinの言語機能(コルーチンなど)を最大限に活かしたシンプルで読みやすいコードを書くことができます。

司会
なんだかすごそう!でも、どうやって私のプロジェクトにKoogさんを迎え入れればいいんですか?

Koog
簡単です!まずは、お使いのビルドシステム(Gradleなど)に私の依存関係を追加してください。 build.gradle.ktsに以下を追記するだけです。

// build.gradle.kts
dependencies {
    implementation("org.jetbrains.kotlinx.koog:koog-core:0.0.1")
}

これで準備完了!あとは、以下のようにAIエージェントの処理を書いていくだけです。

司会
あ、なんかすごくシンプルに見えますね! ちょっと具体的なコードを見せてください!

Koog
はい、承知いたしました! 例えば、質問に答えるだけのシンプルなAIエージェントを作ってみましょう。

import kotlinx.coroutines.runBlocking
import org.jetbrains.kotlinx.koog.Koog
import org.jetbrains.kotlinx.koog.core.llm.llm
import org.jetbrains.kotlinx.koog.core.llm.message

fun main() = runBlocking {
    // Koogのインスタンスを生成
    val aiAgent = Koog.create {
        // AIエージェントにLLM(大規模言語モデル)の機能を追加
        llm("my-llm-service") {
            // "Hello World"のようなメッセージのやりとりを定義
            message("Hello, World!")
        }
    }

    // AIエージェントに質問を投げる
    val response = aiAgent.query("Koogとは何ですか?")

    // 応答を表示
    println(response)
}

司会
「おおー!たったこれだけでAIが動くなんて、まさに魔法みたい!」 Koog
「魔法じゃありません!コードです!」

このコードでは、まずKoog.createでAIエージェントを生成しています。 次にllmブロック内で、使用するLLMサービス(例
OpenAI, Google Cloudなど)を指定し、messageでLLMに渡すプロンプト(質問や指示)を定義します。 そして最後にaiAgent.queryで、実際にAIエージェントに問い合わせを行い、応答を受け取っています。

司会
なるほど!じゃあ、このKoogさんを使って、具体的にどんなものが作れるんですか?

Koog
はい!ソフトウェアエンジニアの皆さんなら、以下のようなシーンで私を活用できるでしょう!

開発プロセス自動化

コードレビューアシスタント
新しいプルリクエストに対して、自動でコードの品質をチェックし、改善案を提案するAIエージェント。

テストケース自動生成
機能仕様書から、テストケースを自動で生成するAIエージェント。

ドキュメント自動生成
ソースコードからAPIドキュメントや利用ガイドを自動で作成するAIエージェント。

業務効率化ツール

カスタマーサポートチャットボット
FAQに自動で回答したり、複雑な問い合わせを適切な担当者に振り分けたりするAIエージェント。

データ分析アシスタント
自然言語で質問するだけで、データベースから必要な情報を取得し、グラフ化してくれるAIエージェント。

司会
すごーい!もはやKoogさんは、私たちソフトウェアエンジニアの最高の相棒ですね!

いかがでしたか?Koogさんとのクイズ、楽しんでいただけましたか? Koogさんを使えば、AIエージェント開発のハードルがグッと下がり、皆さんの日々の開発がもっと楽しく、もっと効率的になること間違いなしです!


JetBrains/koog




Kotlin/Javaで賢いAIエージェント作成!embabel-agent活用でゲームの達人に?コントの帝王に?

まず、embabel-agentを一言で言うと、「JVM上で動く、賢いエージェント(代理人)を作るためのフレームワーク」です。KotlinやJava、Springといった技術を使って、まるでAIが動いているかのようなアプリケーションを作ることができます。


【実録】LobeHub導入ガイド:MCP対応エージェントで開発体験を劇的に変える方法

正直なところ、LLM(大規模言語モデル)を仕事で使うとき、「ブラウザのチャット画面とエディタを行き来するのが面倒だな」とか「自分専用の最強アシスタントをサクッと作りたいな」と思ったことはありませんか?LobeChatは、まさにその「痒い所に手が届く」エンジニア垂涎のツールなんです。


AIエージェントの幽霊屋敷:dtyq/magic の使い方と活用法

まるでホラーハウスのように、複雑で恐ろしい問題に直面することがありますよね。そんな時に、私たちの「魔法の杖」となるのが、dtyq/magic です。これは、単なるAIツールではなく、複数の強力な機能を一つのプラットフォームに統合した、まるでスーパーAIエージェントのような存在です。


「TheAlgorithms/Java」徹底解説:実践的なアルゴリズム活用法

こんにちは!今回はソフトウェアエンジニアの皆さんにとって非常に興味深いプロジェクト、「TheAlgorithms/Java」についてお話しします。このプロジェクトは、Javaで実装された様々なアルゴリズムやデータ構造をまとめた、オープンソースのリポジトリです。まるでアルゴリズムのペットショップのように、いろんな種類のかわいい(?)アルゴリズムたちが揃っています。


AIの思考が丸見えに! ヒューマン・イン・ザ・ループを実現する新世代Webエージェントフレームワーク

「microsoft/magentic-ui」っていう、なんともセクシーで未来的な響きのこのプロジェクト、ウチの可愛いエンジニアちゃんたちから見て、どう役立つのか、ママがとびっきり分かりやすく、そして優しく教えてあげるわね。これはね、Microsoftが研究プロトタイプとして公開している、「人間中心のウェブエージェント」を作るためのフレームワークなの。


【MySQL, Java開発者必見】DBeaverで実現するユニバーサルなデータベース管理とデバッグ術

DBeaverは、MySQLだけでなく、PostgreSQL, Oracle, SQL Server, SQLiteなど、ほぼすべての主要なデータベースに対応したユニバーサルなデータベース管理ツール(SQLクライアント)です。特にソフトウェアエンジニアにとっては、開発やデバッグ作業を効率化するための非常に強力な味方になります。


爆速で設計図を描く!AIとNext.jsが融合した draw.io活用術(ソフトウェアエンジニアの視点)

さて、ご質問の DayuanJiang/next-ai-draw-io というプロジェクトについて、ソフトウェアエンジニアの視点から、それがどんなに便利で、どう活用できるのかを、わかりやすくコント(?)のように解説しますね!これは、ウェブサイトを作るための技術(Next


開発効率を劇的に上げる!iluwatarのデザインパターンで保守性の高いJavaコードを書く

これは、GitHubで公開されているJavaのデザインパターン集で、「iluwatar/java-design-patterns」 という名前で知られています。「iluwatar/java-design-patterns」は、単なるコードのコレクションではなく、「設計の知恵」 が詰まったレシピ集です。ソフトウェアエンジニアの視点から、これがどのように役立つかを見ていきましょう。


AIアシスタントの知性を最大化:コーディングログを自動圧縮・再注入する記憶拡張戦略

あなたが今まさに立ち向かおうとしているのは、「thedotmack/claude-mem」という、まるで伝説のアイテムのようなツールです。これは、あなたのコーディングの旅路を劇的に楽にしてくれる、素晴らしい仲間となるでしょう!ここでは、このツールがソフトウェアエンジニアリングの世界でどのように役立つのか、そしてあなたの開発環境にどう導入するのかを、RPGの勇者になったつもりで、分かりやすく解説していきますね。


[CLI x TypeScript x AI] 開発者のための次世代要約ツール「summarize」導入ガイド

今回紹介するのは、膨大な情報という名の「怪人」を一瞬で撃破する強力な武器、summarize(steipete/summarize)だ!エンジニアにとって「時間は正義」。さあ、その使い方をレクチャーするぜ!こいつは、Webサイト、YouTube、ポッドキャスト、さらにはローカルのファイルまで、あらゆる情報を「一瞬で要約」してくれる、TypeScript製の強力なCLIツールだ。