Raiffeisenbank a déployé un assistant RAG en Kotlin sans Python ni compétences supplémentaires
L’équipe de Raiffeisenbank a déployé un assistant AI pour des utilisateurs internes — product owners, tech leads et CTOs — avec Kotlin et Spring Boot, sans Pyth

Команда Райффайзенбанка собрала RAG-ассистента на Kotlin и Spring Boot — и не написала ни строчки Python. Их опыт показывает, что JVM-стек справляется с задачами AI не хуже Python-стека, если команда уже в нём работает и не хочет добавлять новые компетенции.
Откуда взялась задача
Внутренние системы крупного банка — это слои документов, таблиц и договорённостей, которые нигде не собраны в одном месте. Продукт-оунеры, техлиды, CTO, руководители уровня B-1, сотрудники кост-менеджмента — все тратят время не на саму работу в системе, а на поиск нужной информации: Excel-файлы, письма, локальные заметки, звонки коллегам. Для опытных сотрудников это просто фрикцион. Для новых — настоящий барьер. Идея AI-ассистента простая: собрать ответы в одном месте и выдавать их на обычном языке. Не интерфейс ради интерфейса, а реальная экономия нескольких минут на каждый рабочий запрос. Причём для новых сотрудников боль особенно острая — у них ещё нет неформальных каналов и нет человека, к которому можно обратиться без лишних объяснений.
Почему JVM, а не Python Python — де-факто стандарт для AI-разработки.
LangChain, LlamaIndex, HuggingFace Transformers — вся зрелая AI-экосистема выросла на Python и лучше всего себя чувствует именно там. Казалось бы, логичный выбор для AI-проекта. Но продуктовая команда банка живёт на JVM: Kotlin, Java, Spring Boot.
Переход на Python означал бы привлечение новых специалистов, выстраивание нового стека вокруг одного продукта, новые зоны ответственности и дополнительные риски при поддержке. Команда выбрала иначе — остаться в знакомой среде. Осознанно, не по инерции.
Ключевые аргументы в пользу JVM: Поддержка и масштабируемость остаются внутри существующей команды Не нужно нанимать Python-разработчиков или переучивать текущих Spring Boot даёт готовую инфраструктуру — безопасность, логирование, деплой LLM подключается через API — языковая модель не требует Python на сервере * В JVM-экосистеме есть рабочие библиотеки для эмбеддингов и векторных хранилищ Итог: полноценный RAG-пайплайн на Kotlin, без необходимости привлекать новые компетенции ради одного внутреннего инструмента.
Документация как скрытая проблема
Один из ключевых уроков проекта: RAG работает ровно настолько хорошо, насколько хороши исходные данные. Когда ассистент начал выдавать неточные или противоречивые ответы, выяснилось, что причина не в модели и не в архитектуре пайплайна. Причина — в самих документах.
Разрозненные Excel-таблицы с разными версиями одних и тех же данных, устаревшие инструкции, которые никто годами не обновлял, дублирующиеся записи из разных источников — всё это стало видно сразу, как только AI начал на них опираться. Проект дал команде повод навести порядок в знаниях, которые раньше просто накапливались без структуры и периодической чистки. По сути, AI-ассистент стал инструментом аудита документации — хотя изначально никто этого не планировал.
Часть трудозатрат ушла не на разработку, а на приведение источников в порядок. Это неочевидная, но практически неизбежная составляющая любого RAG-внедрения.
Что это значит JVM-команды не обязаны переходить на Python ради AI.
Если экспертиза и инфраструктура уже выстроены — их можно использовать напрямую. RAG-пайплайн на Kotlin и Spring Boot собирается без принципиальных потерь в функциональности, зато с полным контролем внутри привычного стека. Для банков и финтех-компаний, где JVM — стандарт де-факто, опыт Райффайзенбанка — важный прецедент: AI-задачи решаемы без смены инструментов.