Koog: Ваш путь в мир AI-агентов на Kotlin
2025-09-02

Koog: Ваш путь в мир AI-агентов на Kotlin 🚀

Привет, коллеги-разработчики! Сегодня мы погрузимся в захватывающий мир искусственного интеллекта и рассмотрим один из интересных проектов от JetBrains — Koog. Если вы когда-либо задумывались о создании собственных AI-агентов, способных взаимодействовать с инструментами, обрабатывать сложные рабочие процессы и общаться с пользователями, то Koog — это то, что вам нужно. И самое главное — он полностью на Kotlin!

Что такое Koog и почему это важно? 🤔

Koog — это фреймворк на базе Kotlin, разработанный JetBrains для создания и запуска AI-агентов. Его основная идея заключается в том, чтобы дать разработчикам возможность строить интеллектуальных агентов, используя Kotlin. Это означает, что вы можете создавать сложные AI-решения, оставаясь в привычной и любимой среде Kotlin, без необходимости изучать новые языки или парадигмы для работы с AI.

Зачем нужен Koog?

В современном мире AI-агенты становятся все более востребованными. Они могут автоматизировать задачи, предоставлять персонализированные ответы, анализировать данные и многое другое. Koog упрощает процесс разработки таких агентов, предоставляя готовые компоненты и архитектурные решения. Это позволяет сосредоточиться на логике вашего агента, а не на низкоуровневых деталях взаимодействия с моделями машинного обучения.

Ключевые особенности Koog 🛠️

Koog предлагает богатый набор функций, которые делают его мощным инструментом для разработки AI-агентов:

  • Чистая реализация на Kotlin: Весь фреймворк написан на Kotlin, что обеспечивает нативную интеграцию и использование всех преимуществ языка.
  • Интеграция с MCP (Model Context Protocol): Позволяет эффективно управлять моделями и их контекстом.
  • Возможности встраивания (Embedding capabilities): Используйте векторные встраивания для семантического поиска и извлечения знаний, что критически важно для RAG (Retrieval Augmented Generation) систем.
  • Создание пользовательских инструментов: Расширяйте функциональность ваших агентов, создавая собственные инструменты, которые могут взаимодействовать с внешними системами и API. Это позволяет агентам выполнять действия в реальном мире.
  • Готовые компоненты: Koog поставляется с набором предварительно созданных решений для общих задач AI-инженерии, что значительно ускоряет разработку.
  • Интеллектуальное сжатие истории: Оптимизация использования токенов при сохранении контекста разговора с помощью различных встроенных стратегий.
  • Мощный Streaming API: Обрабатывайте ответы в реальном времени с поддержкой потоковой передачи и параллельных вызовов инструментов. Это особенно полезно для интерактивных приложений.
  • Постоянная память агента: Агенты могут сохранять знания между сессиями и даже между разными агентами, что позволяет создавать более сложные и адаптивные системы.
  • Комплексное трассирование: Отладка и мониторинг выполнения агентов с помощью подробного и настраиваемого трассирования.
  • Гибкие графовые рабочие процессы: Проектируйте сложное поведение агентов с использованием интуитивно понятных рабочих процессов на основе графов.
  • Модульная система функций: Настраивайте возможности агента с помощью компонуемой архитектуры.
  • Масштабируемая архитектура: Koog способен обрабатывать рабочие нагрузки от простых чат-ботов до корпоративных приложений.
  • Мультиплатформенность: Запускайте агентов на JVM, JS, WasmJS и iOS с помощью Kotlin Multiplatform. Это открывает огромные возможности для развертывания.

Поддерживаемые LLM провайдеры 🌐

Koog позволяет использовать различные модели больших языковых моделей (LLM) от ведущих провайдеров, что дает вам гибкость в выборе наиболее подходящей модели для ваших задач:

  • Google
  • OpenAI
  • Anthropic
  • OpenRouter
  • Ollama

Это означает, что вы можете легко интегрировать Koog с вашими любимыми LLM, будь то коммерческие решения или локально развернутые модели.

Быстрый старт с Koog 🚀

Давайте посмотрим, как легко начать работу с Koog. Вот простой пример создания AI-агента, который отвечает на вопросы:

import ai.koog.agents.AIAgent
import ai.koog.agents.openai.OpenAIModels
import ai.koog.agents.openai.simpleOpenAIExecutor
import kotlinx.coroutines.runBlocking

fun main() = runBlocking {
    // Перед запуском примера убедитесь, что ключ API установлен как переменная окружения.
    // Например, System.getenv("OPENAI_API_KEY") для OpenAI.
    val apiKey = System.getenv("OPENAI_API_KEY") // или ANTHROPIC_API_KEY, GOOGLE_API_KEY и т.д.

    val agent = AIAgent(
        executor = simpleOpenAIExecutor(apiKey), // или Anthropic, Google, OpenRouter и т.д.
        systemPrompt = "Вы полезный помощник. Отвечайте на вопросы пользователя кратко.",
        llmModel = OpenAIModels.Chat.GPT4o // Используем модель GPT-4o
    )

    val result = agent.run("Привет! Чем ты можешь мне помочь?")
    println(result)
}

В этом примере мы:

  1. Инициализируем AIAgent, указывая исполнителя (в данном случае simpleOpenAIExecutor для OpenAI) и ключ API.
  2. Задаем systemPrompt, который определяет роль и поведение агента.
  3. Выбираем llmModel — конкретную модель LLM, которую будет использовать агент.
  4. Вызываем метод run с нашим запросом и получаем ответ от агента.

Как видите, Koog абстрагирует многие сложности взаимодействия с LLM, позволяя вам сосредоточиться на логике вашего агента.

Использование Koog в ваших проектах 💻

Koog разработан с учетом мультиплатформенности Kotlin, что позволяет использовать его в различных средах.

Поддерживаемые платформы

В настоящее время фреймворк поддерживает следующие платформы:

  • JVM: Для серверных приложений и десктопных решений. Требуется JDK 17 или выше.
  • JS (JavaScript): Для веб-приложений, работающих в браузере.
  • WasmJS (WebAssembly JavaScript): Для высокопроизводительных веб-приложений.
  • iOS: Для мобильных приложений на платформе Apple.

Это делает Koog очень универсальным инструментом для разработки AI-агентов, которые могут работать практически везде.

Добавление зависимостей

Для использования Koog в вашем проекте вам необходимо добавить соответствующие зависимости в ваш файл сборки.

Gradle (Kotlin DSL):

Добавьте следующие строки в ваш файл build.gradle.kts:

dependencies {
    implementation("ai.koog:koog-agents:0.4.1") // Проверьте актуальную версию на GitHub или Maven Central
}

Убедитесь, что у вас есть mavenCentral() в списке репозиториев:

repositories {
    mavenCentral()
}

Gradle (Groovy):

Добавьте следующие строки в ваш файл build.gradle:

dependencies {
    implementation 'ai.koog:koog-agents:0.4.1' // Проверьте актуальную версию
}

И также убедитесь, что mavenCentral() присутствует в репозиториях.

Maven:

Добавьте следующие зависимости в ваш файл pom.xml:

<dependency>
    <groupId>ai.koog</groupId>
    <artifactId>koog-agents-jvm</artifactId>
    <version>0.4.1</version> <!-- Проверьте актуальную версию -->
</dependency>

И убедитесь, что mavenCentral настроен в ваших репозиториях.

Заключение 🎉

Koog от JetBrains — это не просто еще один фреймворк; это мощный инструмент, который демократизирует разработку AI-агентов для Kotlin-разработчиков. Благодаря своей мультиплатформенности, гибкости в выборе LLM и богатому набору функций, Koog открывает новые горизонты для создания интеллектуальных приложений. Если вы ищете способ интегрировать AI в свои проекты на Kotlin, Koog — это отличная отправная точка.

Начните экспериментировать с Koog уже сегодня и присоединяйтесь к сообществу, чтобы делиться своим опытом и вносить вклад в развитие этого захватывающего проекта!