ИИ в работе разработчика: эксперимент в Back-End и Front-End командах. Блог компании Innovative People.. Блог компании Innovative People. искусственный интеллект.. Блог компании Innovative People. искусственный интеллект. оптимизация.. Блог компании Innovative People. искусственный интеллект. оптимизация. Программирование.. Блог компании Innovative People. искусственный интеллект. оптимизация. Программирование. разработка.

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

Ожидания vc реальность

Что мы ожидали от ИИ

В идеальной картине всё выглядит просто: разработчик задаёт ИИ входные и выходные параметры, описывает бизнес-логику и внешние интеграции — и получает готовый, рабочий код. Но реальность, конечно, сложнее.

Что происходит на деле:

  • Нужно составить точный prompt с параметрами, бизнес-логикой, маршрутами, типами запросов.

  • Проверить соответствие кода структурам проекта: классы, переменные, методы, структура пакетов, фреймворки (например, Spring).

  • Доработать или полностью переписать код, если результат некачественный.

Для объективной оценки мы подготовили план задач, измерили время выполнения с ИИ и без него — и вот что получилось.

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

Back-End разработка

Время выполнения задач

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

Примеры prompt’ов

Компонентный тест:

Напиши компонентный тест для этого класса. В сервисе несколько бинов — нужно замокать их.

Код-ревью (простой):

Ты — ведущий Java-разработчик. Проведи ревью. В ответе — только код без объяснений.

Код-ревью (расширенный):

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

💡 Вывод

Наибольшую пользу ИИ приносит при написании тестов и рефакторинге. В остальных задачах влияние несущественно.

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

Front-End разработка

Время выполнения задач

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

Пример prompt’а

Unit-тесты:

«Ты — ведущий разработчик. Тебе поступило задание написать unit-тесты для приведённой ниже функции, используя такие библиотеки тестирования, как Jest или Mocha. Вот функция, которую необходимо покрыть тестами».

ИИ также использовался для поиска справочной информации, например:

Как правильно реализовать такую-то функцию в React/Node.js?

💡 Вывод

Наибольшая польза — при генерации моков и тестов. В остальных задачах существенного сокращения времени не наблюдается.

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

Общий итог

ИИ хорошо справляется с задачами типа:

  • написание unit- и компонентных тестов;

  • поиск и генерация шаблонного кода;

  • рефакторинг и первичное код-ревью.

Однако, с учётом затрат на:

  • формулировку точного запроса;

  • объяснение контекста;

  • проверку и исправление результата

— на текущем этапе ИИ не приводит к значимому сокращению lead time.

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

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

Автор: XBlade66

Источник

Rambler's Top100