Исследования
Какой ИИ и как помогает разработчикам — опрос Stack Overflow
Сложность и неточность остаются проблемами, мешающими широкому внедрению и использованию кодовых помощников, но, возможно, разработчики в командах с более низким уровнем внедрения на самом деле используют время, которое они получают благодаря кодовым помощникам, для более творческой работы.
Более 1700 человек рассказали Stack Overflow, какими ИИ-инструментами для работы с кодом они пользуются, как они к ним относятся и стали ли они в результате более продуктивными.
В ходе опроса обнаружили, что большинство тех, кто пользуется инструментами для работы с кодом, отмечают, что эти помощники удобны и просты в использовании, и большинство (но не все) работают в командах, где половина или более их коллег также пользуются этими инструментами. Возможно, эти инструменты не всегда точно отвечают на запросы или решают контекстные или слишком специфические проблемы, но для тех, кто внедряет эти инструменты в свой рабочий процесс, кодовые помощники предлагают способ повысить качество рабочего времени.
Большинство респондентов (76%) сообщили, что используют или планируют использовать ИИ-помощники для программирования. Среди профессиональных разработчиков некоторые роли используют эти инструменты чаще, чем другие — Академические исследователи (87%), разработчики ИИ (76%), фронтенд-разработчики (75%), мобильные разработчики (60%) и специалисты по изучению данных (67%) в настоящее время чаще других используют помощников для программирования. Другие роли указали, что используют (или планируют использовать) кодовые помощники гораздо реже, чем в среднем — бизнес-аналитики (29%), разработчики десктоп-приложений (39%), инженеры по обработке данных (39%) и разработчики встроенных систем (42%). Природа этих инструментов такова, что они работают хорошо, если их хорошо обучить; такой инструмент, как GitHub Copilot, обученный на общедоступном коде, скорее всего, будет хорош для JavaScript для фронтенд-разработчиков и не так хорош в сценариях с корпоративным и проприетарным кодом, с которыми регулярно сталкиваются бизнес-аналитики и десктоп разработчики.
Когда спросили, что ИИ-инструменты делают неправильно, разработчики ответили, что они борются с контекстом, сложностью и неясностью. Например, один из пользователей написал, что кодовые помощники не справляются с «большинством высокоуровневых или архитектурных вопросов. Или вопросы, касающиеся нишевых компонентов или ресурсов за NDA». Другой пользователь написал, что выбранный им инструмент дает неверные ответы при работе с менее известными «инструментами программирования (или инструментами [определенного] языка)».
С каждым днем появляется все больше инструментов-ассистентов для работы с кодом, но пока в этом сегменте доминируют два: ChatGPT и GitHub Copilot. Профессиональные разработчики и те, кто учится кодить, с одинаковой вероятностью используют ChatGPT, но те, кто учится, реже используют GitHub Copilot (29% против 49%). Учитывая, что ChatGPT предлагает популярную бесплатную опцию, а GitHub Copilot — ограниченную по времени бесплатную пробную версию, это вполне логично. Visual Studio IntelliCode более популярна среди тех, кто учится (16% против 11%), поскольку существует бесплатная версия этой IDE для тех, кто не использует корпоративную лицензию.
Вот еще некоторые данные исследования.
Выводы
Характер работы разработчика сложен и динамичен. Даже если продуктивность еще не сформулирована в качестве бизнес-показателя, разработчики очень довольны инструментами искусственного интеллекта, которые просты в использовании и позволяют им чувствовать себя продуктивными, и команды постепенно начинают внедрять эти инструменты в свои рабочие процессы. Сложность и неточность остаются проблемами, мешающими широкому внедрению и использованию кодовых помощников, но, возможно, разработчики в командах с более низким уровнем внедрения на самом деле используют время, которое они получают благодаря кодовым помощникам, для более творческой работы. Это также может стать поворотным моментом, когда долгосрочные инвестиции в повышение качества работы станут более важными, чем сиюминутные улучшения показателей производительности.