Умные процессы на Spring AI
В этой статье мы расскажем:
-
зачем вообще Java-разработчикам AI-агенты,
-
почему существующие SDK неудобны,
-
как именно работает Spring AI,
-
как создать полноценного агента для обработки писем, продаж и поиска по базе знаний.
Проблема: внедрить AI в Java-приложение не так просто
Большинство существующих SDK и библиотек для LLM строятся вокруг Python. Java-разработчики сталкиваются с тремя ключевыми проблемами:
1. Vendor lock-in
Если подключить, например, OpenAI Java SDK, то вся логика будет привязана к API одного вендора. Перейти на Anthropic, Mistral, Azure OpenAI или локальную LLM — задача уже сложнее.
2. Нет интеграции со Spring Boot
Большинство SDK не поддерживают:
-
DI (Dependency Injection),
-
application.yml,
-
конфигурирование через проперти.
3. LangChain4j, хоть и мощный, не дружит со Spring Boot
Это Java-адаптация LangChain — хорошая в плане AI, но совершенно не интегрированная в Spring Boot. То есть разработчикам нужен инструмент, который сочетает возможности LangChain и удобство Spring.
Решение — Spring AI
Spring AI — свежий фреймворк от Spring, выпущенный в мае 2025 года. Он:
-
полностью интегрирован со Spring Boot,
-
абстрагирует работу от вендора LLM,
-
предоставляет единый интерфейс для любых моделей,
-
поддерживает RAG, embedding-хранилища и структурированные ответы, и при этом остаётся минималистичным и понятным.
Как выглядит конфигурация Spring AI и базовый клиент:
Пример: как AI-агент обеспечивает классификацию входящих писем
Один из типовых кейсов в Camunda-процессах — распределение входящих заявок (тикетов) по нужным процессам.
Здесь показана модель BPMN: письмо приходит → AI определяет тип → передача в нужный процесс → ручная обработка, если нужно.
Алгоритм простой:
-
По ID тикета достаём письмо.
-
Загружаем каталог услуг → каждая услуга связана с конкретным процессом в Camunda.
-
Просим AI-агента: сопоставить контекст письма с услугами.
-
Сохраняем выбранную услугу в переменные процесса.
Таким образом, AI становится «умным маршрутизатором» внутри процесса.
Использование AI-агента в продажах
Теперь более сложный кейс: входящая заявка в продающий процесс.
AI должен:
-
понять, какую услугу запрашивает клиент,
-
определить, хватает ли данных,
-
если нет — сформировать корректный запрос уточнений.
Это позволяет автоматизировать первые коммуникации с клиентом и сократить ручную работу.
Чтобы агент мог работать ⇒ нужна база знаний
Для корректной работы модели нам нужно:
Регламенты процессов
Документы по услугам и продуктам
FAQ, шаблоны и т.п.
Семантический поиск по этим данным
Теперь посмотрим:
-
как создаётся векторное хранилище (через PGVector),
-
как делается UserType для хранения embedding,
-
как выполняются запросы по косинусному сходству.
RAG-подход: пусть агент сам формирует поисковый запрос
Здесь подробно показан промпт: агенту даётся инструкция, как сформировать запрос в базу знаний.
AI возвращает структурированный JSON-ответ, который легко десериализуется в Java-класс.
Это позволяет:
безопасно получать ответ в нужном формате,
избегать «галлюцинаций»,
контролировать обязательные поля.
Добавление контекста через Advisor
Spring AI позволяет включить custom-advisors — механизмы, которые автоматически модифицируют запрос перед отправкой в модель.
Реализация такого Advisor:
добавление контекста,
enrichment данных,
привязка запроса к текущему пользователю, услуге и т.д.
Мета-схема для ответа: строгая типизация агента
Далее показано, как описывается Java-класс, чтобы Spring AI построил метасхему для агента:
boolean поля,
списки,
строки,
человекочитаемые описания каждого поля.

Таким образом, AI знает, какие виды данных он обязан вернуть.
Полный цикл работы агента
Письмо → Spring Boot → Camunda
AI-агент определяет тему
Делает запрос в векторное хранилище
Формирует структурированный ответ
Процесс продолжает выполнение без ручного участия
Результаты можно увидеть в реальных логах активности:
Использование базы знаний в обучающих заявках
AI извлекает параметры для подготовки коммерческого предложения:
название компании,
БИН,
даты обучения,
количество участников,
программа,
индивидуальные требования.
Агент сам анализирует письмо и формирует набор структурированных данных.
Зачем нужно переопределять температуру модели?
Повышаем температуру для генерации более живых, разнообразных сообщений. Это важно, если мы хотим:
персонализировать письма,
сделать формулировки менее шаблонными,
улучшить user experience.
Что в итоге?
AI-агенты позволяют автоматизировать:
распределение тикетов,
первичную коммуникацию,
классификацию писем,
уточнение данных,
формирование запросов,
работу с документацией,
подготовку данных для Camunda-процессов.
А Spring AI делает внедрение этих агентов доступным любому Java-разработчику.
Самое важное: Camunda 8.8 приносит новую эру AI в процессах
С выходом Camunda 8.8 платформа делает огромный шаг вперёд: теперь AI становится полноправной частью процессной оркестрации. Помимо автоматического создания AI-агентов, в новой версии появились и встроенные Camunda AI Connectors, которые позволяют использовать LLM «из коробки» без написания кастомных интеграций.
Больше информации о новинках версии вы можете найти здесь.
