Привет, Хабр!
В последние месяцы мы активно исследуем применение искусственного интеллекта в повседневной работе IT-команд. После пилота с системными аналитиками (об этом мы писали здесь: https://habr.com/ru/companies/inpglobal/articles/896114/ ) мы провели аналогичный эксперимент с Back-End и Front-End разработчиками. Цель — понять, насколько ИИ может реально помочь сократить lead time и разгрузить разработчиков от рутинны. Для объективной оценки мы подготовили план задач, измерили время выполнения с ИИ и без него — результаты оказались интереснее, чем мы ожидали.
Ожидания vc реальность
Что мы ожидали от ИИ
В идеальной картине всё выглядит просто: разработчик задаёт ИИ входные и выходные параметры, описывает бизнес-логику и внешние интеграции — и получает готовый, рабочий код. Но реальность, конечно, сложнее.
Что происходит на деле:
Нужно составить точный prompt с параметрами, бизнес-логикой, маршрутами, типами запросов.
Проверить соответствие кода структурам проекта: классы, переменные, методы, структура пакетов, фреймворки (например, Spring).
Доработать или полностью переписать код, если результат некачественный.
Для объективной оценки мы подготовили план задач, измерили время выполнения с ИИ и без него — и вот что получилось.

Back-End разработка
Время выполнения задач

Примеры prompt'ов
Компонентный тест:
Напиши компонентный тест для этого класса. В сервисе несколько бинов — нужно замокать их.
Код-ревью (простой):
Ты — ведущий Java-разработчик. Проведи ревью. В ответе — только код без объяснений.
Код-ревью (расширенный):
Вам нужно действовать как старший разработчик/программист и провести код-ревью предоставленного кода. Этот код относится к разработке на Java. Рассмотрите следующий код, принимая во внимание случаи нарушения принципов SOLID, DRY, YAGNI, KISS, общие принципы разработки программного обеспечения, рекомендации по программированию на Java и любые другие запахи кода, где это уместно. При рассмотрении кода, пожалуйста, обратите внимание на следующие аспекты: 1. Структура и организация кода 2. Правильность и логика потока 3. Эффективность и производительность 4. Обработка ошибок и крайние случаи 5. Лучшие практики и стиль кодирования Пожалуйста, вставляйте свои комментарии на месте, например: `` public void foo() { doSomeCodeSmell(); // ваш комментарий относительно запаха кода должен быть здесь }
`` Если есть общие комментарии, предоставьте свои комментарии с рекомендацией по устранению упомянутых нарушений/ошибок в виде таблицы. Пожалуйста, . Итак, код следующий:
💡 Вывод
Наибольшую пользу ИИ приносит при написании тестов и рефакторинге. В остальных задачах влияние несущественно.

Front-End разработка
Время выполнения задач

Пример prompt'а
Unit-тесты:
«Ты — ведущий разработчик. Тебе поступило задание написать unit-тесты для приведённой ниже функции, используя такие библиотеки тестирования, как Jest или Mocha. Вот функция, которую необходимо покрыть тестами».
ИИ также использовался для поиска справочной информации, например:
Как правильно реализовать такую-то функцию в React/Node.js?
💡 Вывод
Наибольшая польза — при генерации моков и тестов. В остальных задачах существенного сокращения времени не наблюдается.

Общий итог
ИИ хорошо справляется с задачами типа:
написание unit- и компонентных тестов;
поиск и генерация шаблонного кода;
рефакторинг и первичное код-ревью.
Однако, с учётом затрат на:
формулировку точного запроса;
объяснение контекста;
проверку и исправление результата
— на текущем этапе ИИ не приводит к значимому сокращению lead time.
Тем не менее, потенциал есть — особенно в задачах, где высокая повторяемость и стандартизация. Мы продолжим эксперименты и поделимся выводами.
Спасибо за внимание!