Как стать автором
Обновить

ИИ в работе разработчика: эксперимент в Back-End и Front-End командах

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров495

Привет, Хабр!

В последние месяцы мы активно исследуем применение искусственного интеллекта в повседневной работе 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.

Тем не менее, потенциал есть — особенно в задачах, где высокая повторяемость и стандартизация. Мы продолжим эксперименты и поделимся выводами.

Спасибо за внимание!

Теги:
Хабы:
+3
Комментарии2

Публикации

Информация

Сайт
inpglobal.com
Дата регистрации
Дата основания
Численность
501–1 000 человек
Местоположение
Россия
Представитель
Илья