ソフトウェアエンジニア必見!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が動いているかのようなアプリケーションを作ることができます。


ログイン不要!OpenAI Codex & Claude Codeの使用状況を可視化する「CodexBar」徹底解説

登場人物先輩(冷静沈着、効率厨、赤い彗星っぽい)後輩(お調子者、すぐトークンを使い切る、黄色いネズミっぽい)後輩 「先輩!大変です!今すぐ Claude Code で爆速コーディングしたいのに、なぜか動きません!僕の情熱が足りないんですかね!?」


ソフトウェアエンジニア必見!12-factor-agentsでLLMアプリの悪夢を打ち砕く方法

プロダクション環境で顧客に安心して使ってもらえるLLM(大規模言語モデル)搭載ソフトウェアを開発する…それは、まるで霧に包まれた夜の森を進むようなもの。一歩間違えれば、魑魅魍魎(ちみもうりょう)が跋扈するデバッグの沼に引きずり込まれ、悪夢のようなパフォーマンス問題に苛まれるだろう。しかし、恐れることはない。我々ソフトウェアエンジニアには、この暗闇を照らす灯台がある。それが「12-factor-agents」の原則だ!


面接官を唸らせる!ローカル完結型PDFツール「Stirling-PDF」徹底解説

面接官本日は当社の面接にお越しいただき、ありがとうございます。面接官の山田と申します。あなた本日は貴重な機会をいただき、誠にありがとうございます!エンジニアの佐藤と申します!面接官佐藤さん、今日は何かユニークな技術について、ご自身の言葉でプレゼンしていただきたいのですが、よろしいでしょうか?


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

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


ソフトウェアエンジニア必見!CrewAIでAIを協調させる方法

今回は、ソフトウェアエンジニアのみんなに超ホットなライブラリを紹介するぜ。その名も. .. CrewAI!CrewAIは、AIエージェントたちをDJのように華麗にミックスして、ひとつのクルーとして協調させるためのフレームワークなんだ。ただのAIじゃなくて、それぞれの得意分野を持ったプロフェッショナルたちを束ねて、まるでチーム開発みたいに複雑なタスクをこなさせることができるんだぜ。


ソフトウェアエンジニアのための「AI飲み比べ」:システムプロンプト活用術

このリポジトリは、様々なチャットボット(ChatGPT、Claude、そして他のAI)から抽出されたシステムプロンプトのコレクションです。ソフトウェアエンジニアにとって、これは新しいカクテルレシピ集のようなものです。この「レシピ集」を使うことで、以下のメリットが得られます。


ソフトウェアエンジニア必見!MindsDBでAIとデータの壁をぶち破れ!

エンジニアの皆さん、お待たせしました!あなたの開発運を爆上げするMindsDBを、血液型別のエンジニアタイプに合わせてご紹介します。さあ、あなたの血液型は?A型エンジニアの特性 計画的で真面目、そして細部までこだわる完璧主義者。MindsDBはA型エンジニアにどう役立つ?


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

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


【攻略本】RAG_Techniques:エンジニアのためのAI検索コンボ技・完全マスターガイド

NirDiamant/RAG_Techniques は、AI開発の世界における「最新アーケードゲームの攻略ガイド」のようなリポジトリです。普通のRAG(検索拡張生成)が「パンチマシン」だとしたら、ここは「コンボ技」や「隠しコマンド」が満載の格闘ゲーム会場といったところでしょうか。