Рустам Курамшин, эксперт сообщества Spring АйО, подготовил пост про новый AI-фреймворк от JetBrains – Koog.
AI-агенты — это не фантастика. Это новый уровень взаимодействия с LLM, где модели не просто болтают в чате, а действуют: они умеют вызывать внешние инструменты, планировать, запоминать контекст, адаптироваться и выполнять сложные задачи почти без участия человека.
Эти агенты становятся ключевым компонентом современных систем: от помощников в IDE и CI/CD пайплайнах до интеллектуальных обработчиков в бизнес-приложениях.
JetBrains представили Koog — open source фреймворк для разработки AI-агентов на Kotlin.
Что такое Koog?
Koog — это Agentic AI фреймворк, написанный полностью на идиоматичном Kotlin. Он позволяет создавать AI-агентов, которые:
- запускаются локально без внешних зависимостей
- умеют вызывать инструменты и API
- обрабатывают сложные пайплайны через графовые сценарии
- поддерживают мультимодели (OpenAI, Anthropic, Google, Ollama и др.)
- работают на JVM и JS (за счет Kotlin Multiplatform)
Koog можно использовать как для простых агентов “вопрос-ответ”, так и для построения сложных, многосоставных систем с устойчивой памятью, сжатой историей, потоковой обработкой ответов и гибкой трассировкой.
До недавнего времени экосистема Java не имела по-настоящему удобных, нативных инструментов для работы с AI-агентами, возможно кроме Spring AI в составе Spring Framework.
Пример использования минимального AI-агента в Koog:
fun main() = runBlocking {
val apiKey = System.getenv("OPENAI_API_KEY")
val agent = AIAgent(
executor = simpleOpenAIExecutor(apiKey),
systemPrompt = "Ты - очень полезный ассистент-помошник",
llmModel = OpenAIModels.Chat.GPT4o
)
val result = agent.run("Привет! Чем можешь помочь?")
println(result)
}
Koog — это, возможно, первый шаг к тому, чтобы писать LLM-based приложения просто на Kotlin без лишних зависимостей.
Как потестить Koog:
Репозиторий: https://github.com/JetBrains/koog
Документация: https://docs.koog.ai
Быстрый старт: https://docs.koog.ai/single-run-agents/
💬 Как вам Koog? Делитесь мнениями в комментариях! 👇
