
#Искусственный интеллект
Как мы в ДОМ.РФ работаем с документами с помощью ИИ: решение NER-задачи для поиска именованных сущностей в договорах долевого участия
23.12.2025

01.09.2025
#Искусственный интеллект
#Разработка
Сегодня на связи Денис Киров, руководитель отдела тестирования компании «ДОМ.РФ Технологии». В этой статье я расскажу, как проходило внедрение ИИ в процессы тестирования в нашей команде.
Искусственный интеллект в том или ином виде внедряется во все процессы: от бытовых до бизнесовых. Использование ИИ – это автоматизация различных процессов, которые долго выполняются руками, присутствует возможность человеческого фактора и допущения ошибок. Раньше все стремились автоматизировать регрессионные тесты, так проходить их руками долго и больно, сейчас, благодаря генеративному ИИ, появились новые возможности для автоматизации процессов тестирования, которые позволяют сократить трудозатраты.
Мы провели опрос среди тестировщиков внутри компании, какие ручные задачи являются рутинными и занимают больше всего времени, и что бы они хотели получать в автоматизированном режиме, дальше смэтчили это с тем, что умеют текущие модели ИИ, и выделили пул задач, который можно автоматизировать:
Далее мы попробовали немного детализировать то, что мы хотим, а именно:
Основными целями внедрения ИИ мы определили:
После того, как мы определились с целями, мы перешли к формированию требований к решению, которое будет внедряться. Основные требования были следующие:
Далее мы приступили к исследованию различных вариантов решений.
Мы сравнили 3 решения на рынке, которые так или иначе подходят для решения поставленной задачи. По результатам сравнительного анализа ни одно решение не подходило под все наши требования, поэтому мы стали думать в сторону других вариантов.
Вторая концепция была следующей: ничего дополнительно не внедряем, а предлагаем сотрудникам пользоваться общедоступными GPT чатами. Но в данном подходе мы сразу увидели ряд минусов, а именно:
Ввиду этих факторов мы приняли решение, что подобный подход нам не подходит, и мы стали прорабатывать свое решение, которое будет соответствовать всем выставленным требованиям.
Мы начали с подбора стека технологий и проработки архитектуры.
По стеку мы разбили планируемую реализацию на 2 этапа: MVP и продуктивное решение.

Также мы определили набор библиотек, которые будем использовать:

Пользовательские сценарии в ассистенте получились следующие:

После проработки архитектуры и понимания, какие функции нам нужны, мы приступили к разработке решения и в рамках MVP реализовали весь запланированный объём функциональности. Также мы придумали название для решения – «Ассистент тестировщика».
Далее мы написали спецификации к решению и все необходимые пользовательские инструкции, после чего предоставили решение в пользовательское тестирование сотрудникам нашего отдела.
Рассмотрим, как работает ассистент, на примере генерации тестовых кейсов по описанию из тикета в Jira:
1) Пользователь выполняет команду /help и получает в ответ набор функций, который может использовать

2) Пользователь выполняет одну из предложенных команд, например, /getcasejira. В ответ возвращается набор дальнейших шагов. В случае выполнения первого запроса – добавляется пункт с передачей токена для получения информации из Jira, в текущем кейсе пользователь уже был авторизирован и сессия сохранена в системе, поэтому повторный ввод токена не требуется.

3) Пользователь передаёт инструмент генерации, а также идентификатор тикета, по информации из которой будет проходить генерация

В ответ приходит сообщение со сгенерированными тестовыми кейсами, в случае если сгенерирован большой объём данных – ответ разбивается на несколько сообщений.
4) Пользователю также приходит сообщение, в котором описана вариация – можно вызвать метод /getMoreCases, который сгенерирует дополнительные кейсы без дублирования уже готовых, благодаря сохранению контекста беседы. Либо можно отправить текущий объём кейсов в комментарий к тикету, либо в TMS.

5) В случае вызова функции генерации дополнительных кейсов после завершения операции отправляем в Jira полученный результат.

6) В случае отправки кейсов в TMS TestIT – вызываем метод /sendToTestit, передаем название проекта и секции, куда добавляем сгенерированные кейсы.

В указанной секции с тестовыми кейсами создаётся «подсекция» со сгенерированными кейсами, название которой пишется по определённому набору правил - для кейсов из Jira – {Идентификатор тикета}: {Название тикета}

Мы решили предоставлять данный инструмент всем желающим, поэтому разместили всё необходимое для разворачивания на Github -
Мы выложили исходный код, все заинтересованные могут поучаствовать в развитии нашего ассистента, а также кастомизировать его под свои задачи и цели. Также мы предоставили готовый собранный docker контейнер, ссылка на docker hub указана в readme.md, а также инструкция по развёртыванию и пользовательские инструкции.

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

Мы смогли разработать решение, которое помогло внедрить генеративный ИИ в процессы тестирования, эффект от внедрения оказался даже лучше, чем мы ожидали, поэтому мы решили «законтрибьютить» нашего ассистента, чтобы другие команды также могли им воспользоваться и оценить эффективность. Внедряйте ИИ, это здорово)