- BrainTools - https://www.braintools.ru -

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Примеры prompt’ов

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

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

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

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

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

Вам нужно действовать как старший разработчик/программист и провести код-ревью предоставленного кода. Этот код относится к разработке на Java. Рассмотрите следующий код, принимая во внимание [3] случаи нарушения принципов SOLID, DRY, YAGNI, KISS, общие принципы разработки программного обеспечения, рекомендации по программированию на Java и любые другие запахи [4] кода, где это уместно. При рассмотрении кода, пожалуйста, обратите внимание на следующие аспекты: 1. Структура и организация кода 2. Правильность и логика [5] потока 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

Источник [6]


Сайт-источник BrainTools: https://www.braintools.ru

Путь до страницы источника: https://www.braintools.ru/article/15465

URLs in this post:

[1] интеллекта: http://www.braintools.ru/article/7605

[2] https://habr.com/ru/companies/inpglobal/articles/896114/: https://habr.com/ru/companies/inpglobal/articles/896114/

[3] внимание: http://www.braintools.ru/article/7595

[4] запахи: http://www.braintools.ru/article/9870

[5] логика: http://www.braintools.ru/article/7640

[6] Источник: https://habr.com/ru/companies/inpglobal/articles/911644/?utm_source=habrahabr&utm_medium=rss&utm_campaign=911644

www.BrainTools.ru

Rambler's Top100