01.12.25

Умные процессы на Spring AI

Михаил Асташов
Автор:Михаил Асташов
10 мин · Обучающие

Искусственный интеллект перестал быть отдельным модулем или «дополнением» к процессам — теперь он становится полноценным участником цепочек обработки заявок, тикетов и взаимодействия с клиентами. В Reunico мы активно внедряем AI-агентов в процессы, а для реализации гибкой логики на Java используем фреймворк Spring AI, вышедший в релиз в 2025 году.


В этой статье мы расскажем:

  • зачем вообще 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 определяет тип → передача в нужный процесс → ручная обработка, если нужно.


Алгоритм простой:

  1. По ID тикета достаём письмо.

  2. Загружаем каталог услуг → каждая услуга связана с конкретным процессом в Camunda.

  3. Просим AI-агента: сопоставить контекст письма с услугами.

  4. Сохраняем выбранную услугу в переменные процесса.


Таким образом, AI становится «умным маршрутизатором» внутри процесса.


Использование AI-агента в продажах


Теперь более сложный кейс: входящая заявка в продающий процесс.


AI должен:

  • понять, какую услугу запрашивает клиент,

  • определить, хватает ли данных,

  • если нет — сформировать корректный запрос уточнений.


Это позволяет автоматизировать первые коммуникации с клиентом и сократить ручную работу.


Чтобы агент мог работать ⇒ нужна база знаний


Для корректной работы модели нам нужно:

  1. Регламенты процессов

  2. Документы по услугам и продуктам

  3. FAQ, шаблоны и т.п.

  4. Семантический поиск по этим данным


Теперь посмотрим:

  • как создаётся векторное хранилище (через PGVector),

  • как делается UserType для хранения embedding,

  • как выполняются запросы по косинусному сходству.



RAG-подход: пусть агент сам формирует поисковый запрос


Здесь подробно показан промпт: агенту даётся инструкция, как сформировать запрос в базу знаний.



AI возвращает структурированный JSON-ответ, который легко десериализуется в Java-класс.



Это позволяет:

  • безопасно получать ответ в нужном формате,

  • избегать «галлюцинаций»,

  • контролировать обязательные поля.


Добавление контекста через Advisor


Spring AI позволяет включить custom-advisors — механизмы, которые автоматически модифицируют запрос перед отправкой в модель.



Реализация такого Advisor:

  • добавление контекста,

  • enrichment данных,

  • привязка запроса к текущему пользователю, услуге и т.д.


Мета-схема для ответа: строгая типизация агента


Далее показано, как описывается Java-класс, чтобы Spring AI построил метасхему для агента:

  • boolean поля,

  • списки,

  • строки,

  • человекочитаемые описания каждого поля.




Таким образом, AI знает, какие виды данных он обязан вернуть.


Полный цикл работы агента


  1. Письмо → Spring Boot → Camunda

  2. AI-агент определяет тему

  3. Делает запрос в векторное хранилище

  4. Формирует структурированный ответ

  5. Процесс продолжает выполнение без ручного участия


Результаты можно увидеть в реальных логах активности:



Использование базы знаний в обучающих заявках


AI извлекает параметры для подготовки коммерческого предложения:

  • название компании,

  • БИН,

  • даты обучения,

  • количество участников,

  • программа,

  • индивидуальные требования.


Агент сам анализирует письмо и формирует набор структурированных данных.


Зачем нужно переопределять температуру модели?


Повышаем температуру для генерации более живых, разнообразных сообщений. Это важно, если мы хотим:

  • персонализировать письма,

  • сделать формулировки менее шаблонными,

  • улучшить user experience.



Что в итоге?


AI-агенты позволяют автоматизировать:

  • распределение тикетов,

  • первичную коммуникацию,

  • классификацию писем,

  • уточнение данных,

  • формирование запросов,

  • работу с документацией,

  • подготовку данных для Camunda-процессов.


А Spring AI делает внедрение этих агентов доступным любому Java-разработчику.


Самое важное: Camunda 8.8 приносит новую эру AI в процессах


С выходом Camunda 8.8 платформа делает огромный шаг вперёд: теперь AI становится полноправной частью процессной оркестрации. Помимо автоматического создания AI-агентов, в новой версии появились и встроенные Camunda AI Connectors, которые позволяют использовать LLM «из коробки» без написания кастомных интеграций. 


Больше информации о новинках версии вы можете найти здесь.