Влияние ИИ на производительность разработки программного обеспечения

Использование нейросетей в программировании увеличивает скорость разработки кода и повышает качество работы специалистов. Интеллектуальные ассистенты обрабатывают массивы данных и находят наиболее подходящие решения задач. Рассказываем, что можно поручить ИИ, в чем преимущества и недостатки применения технологий.

Какие задачи решает ИИ в программировании

Сбор технических требований. Ключевой этап в разработке ПО, который помогает определить, что нужно создать. Важно понять потребности пользователей и бизнеса, уточнить требования к системе. Нейросетям доверяют анализ документов. Они способны найти разногласия в тексте и ошибки в цифрах.

Генерация кода. Чтобы нейросеть могла создавать код, ее нужно предварительно обучить. Для этого используют различные источники: репозитории кода на GitHub, вопросы и ответы на специализированных форумах, а также другие открытые ресурсы. Затем по заданному программистом текстовому описанию ИИ создает фрагменты кода или полноценные функции. К популярным ИИ-инструментам относятся:

- GitHub Copilot — предлагает варианты кода в процессе написания;

- TabNine — автоматически дополняет код в разных языках программирования;

- DeepCoder — генерирует код на основе примеров входных и выходных данных.

Поиск ошибок. При отработке сложных сценариев тестирования требуется проверить множество взаимодействий между компонентами системы. Нейросети быстро анализируют код и выявляют неточности. Также они предлагают рекомендации для исправления. Технология основывается на проверке синтаксиса, который разработчики используют при создании программного продукта.

Синтаксис — это набор правил, который определяет, как писать код на конкретном языке программирования. Автоматическое тестирование позволяет сэкономить время специалистов.

Рефакторинг. Это процесс, цель которого — улучшить читаемость кода и упростить дальнейшую поддержку ПО. ИИ-ассистент анализирует написанный код и указывает на те моменты, которые разработчик упустил.

Кибербезопасность. Нейросети используют, чтобы выявить уязвимости в коде и устранить их. Искусственный интеллект автоматически обнаруживает проблемы в облачной инфраструктуре и повышает отказоустойчивость системы. Также нейросети помогают создавать регулярные отчеты о безопасности.

Создание документации. Кроме генерации исходного кода, нейросети могут добавлять комментарии, которые описывают назначение различных фрагментов кода. Актуальные и понятные комментарии значительно упрощают работу как самим разработчикам, так и другим участникам команды.

Также это экономит время, которое потребовалось бы для ручного документирования кода. Помимо технической документации, ИИ создают справочники по API и руководства пользователя.

Преимущества применения нейросетей в программировании

Повышение скорости разработки. Огромные объемы данных нейросети обрабатывают за минуты. Результаты анализа помогают разработчикам быстрее принимать важные решения.

Масштабируемость. Рабочие нагрузки на нейросети можно увеличивать и при этом не терять в качестве разработки.

Гибкие настройки. ИИ можно обучать для решения конкретных задач. Это позволяет добиться высокого уровня точности и результативности.

Доступность 24/7. Системы способны работать круглосуточно, без перерывов и выходных.

Надежность. Хорошо обученная нейросеть выполняет задачи в срок и без ошибок.

Применение начинающими разработчиками. Младшие программисты могут быстрее разобраться со своими обязанностями и сразу писать качественный код, если научатся работать вместе с ИИ-ассистентами.

Какие недостатки работы с нейросетями нужно учитывать

Трудности с пониманием контекста. Неверное понимание задачи приведет к неэффективным решениям. Разработчики должны внимательно контролировать полученный от ИИ код.

Безопасность. Мониторинг работы искусственного интеллекта должен быть нацелен на предотвращение утечек данных. Такие угрозы существуют, потому что нейросети тоже подвержены взломам и атакам злоумышленников.

Отсутствие прозрачности. Алгоритм, по которому ИИ принимает решение, не всегда понятен человеку. Это затрудняет контроль за действиями нейросети.

Ответственность. За результаты работы нейросетей в любом случае отвечает человек. Важно определить границы использования ИИ, чтобы избежать нарушения закона.

Влияние ИИ на производительность разработки программного обеспечения 

Инструменты кодирования с использованием ИИ обещают большой прирост производительности. Но действительно ли код, сгенерированный ИИ, эквивалентен более высокой производительности инженерии?

Трудно представить себе время не так давно, когда ИИ не был в центре наших повседневных новостей, не говоря уже о мире разработки ПО? Появление LLM в сочетании с существующей вычислительной мощностью катапультировало использование ИИ в нашей повседневной жизни и, в частности, в жизни инженера-программиста. В этой статье разработчиками компании DST Global, разбираются некоторые варианты использования ИИ в разработке ПО и предлагается путь исследования ключевого вопроса: действительно ли мы стали более продуктивными?

Прошло всего несколько лет с момента создания GitHub Copilot в 2021 году. С тех пор инструменты кодирования с использованием ИИ оказали значительное влияние на практику разработки программного обеспечения. По оценкам, по состоянию на 2024 год 75% разработчиков используют какой-либо инструмент ИИ. Зачастую эти инструменты не полностью развернуты в организациях и используются на стороне. Однако, по оценкам Gartner, к 2028 году мы достигнем 90% корпоративного внедрения.

Сегодня существуют десятки инструментов, которые помогают или утверждают, что могут помочь инженерам-программистам в их повседневной жизни. Помимо GitHub Copilot, ChatGTP и Google Gemini, распространенными инструментами являются GitLab Duo, Claude, Jetbrains AI, Cody, Bolt, Cursor и AWS CodeWhisperer. Обновления появляются почти ежедневно, что приводит к появлению новых и передовых решений.

ИИ в разработке программного обеспечения: что меняется?

Рассматривая варианты использования внутри инжиниринговой организации, мы можем выделить ряд ключевых целей:

- Быстрое создание доказательств концепций и каркасов для новых продуктов. Инженеры используют решения на основе ИИ, которые используют внутренние знания о фреймворках для создания начальных чертежей и решений. Решения включают Bolt, v0 и аналогичные.

- Написание нового кода, итерация существующего кода и использование ИИ в качестве воспринимаемого помощника по производительности. Цель состоит в том, чтобы быстро итерировать существующие решения, иметь «базу знаний» и помощь, поддерживаемую ИИ. Этот тип ИИ не только создает код, но и в некоторой степени заменяет форумы и сайты экспертных знаний, такие как Stack Overflow.

Это пространство, где мы увидели наибольший успех с решениями, встроенными в IDE, подключенными к репозиториям и тесно интегрированными в процесс разработки программного обеспечения.

- Автоматизация инженерных процессов с помощью Agentic AI. Последний подход повышает уровень автоматизации нишевых задач, а также соединяет задачи и хранилища разработки. Помимо автоматизации более рутинных задач, Agentic AI становится полезным в создании тестовых случаев, оптимизации конвейеров сборки и управлении всем процессом планирования и выпуска и является областью постоянной разработки.

Для целей этой статьи давайте сосредоточимся на наиболее зрелой технологии — решениях кодирования с использованием ИИ. Помимо всего прогресса и растущего внедрения ИИ, остается главный вопрос: стали ли мы более продуктивными?

Продуктивность означает выполнение того, что должно быть сделано с учетом конкретной выгоды. Создание большего количества кода может быть шагом в правильном направлении, но оно также может иметь непреднамеренные последствия в виде создания некачественного кода, кода, который работает, но не соответствует намерению, или кода, в котором младшие разработчики могут слепо принять код, что приведет к проблемам в будущем.

Очевидно, что многое зависит от мастерства инженера-разработчика (умения задавать правильные вопросы), способности итерировать код, сгенерированный ИИ (опыт и квалификация разработчика) и, конечно, от зрелости технологии ИИ.

Давайте более подробно рассмотрим аспект производительности.

ИИ и производительность: большая неизвестность

Одним из ключевых вопросов при внедрении инструментов ИИ в инженерной организации является оценка их влияния на производительность. Как узнать, действительно ли и когда кодирование с помощью ИИ помогает нашей организации быть более производительной? Каковы хорошие показатели и какие метрики могут быть хорошими для измерения и отслеживания производительности с течением времени?

Во-первых, как уже упоминалось выше, производительность не означает просто написание большего количества кода. Больше кода — это просто больше кода. Это не значит, что он обязательно делает что-то полезное или добавляет что-то к продукту, что действительно необходимо. Тем не менее, больше кода, произведенного быстро, полезно, если он решает бизнес-проблему. Внутренними показателями этого могут быть то, что тикеты функций разрешаются быстрее, обзоры кода принимаются (быстро) и критерии безопасности и качества соблюдаются — либо за счет более высоких показателей прохождения предрелизной проверки, либо за счет меньшего количества тикетов после релиза.

Таким образом, некоторые общие показатели производительности:

- Производительность принятых вами действий по кодированию определяется, например, количеством PR, которые вы одобряете и объединяете в течение недели.

- Количество заявок на функции или задач, которые можно выполнить за спринт, например, измеряемое количеством заявок на планирование, которые вы можете выполнить.

- Стандарт качества и безопасности вашей кодирующей деятельности. Например, создает ли помощь в кодировании с помощью ИИ меньше проблем безопасности, чаще ли проходят тесты качества или проверки кода занимают меньше времени и циклов?

- Время, необходимое для выполнения любого из вышеперечисленных действий и выпуска релиза. Вы выпускаете чаще? Ваши конвейеры релизов более надежны?

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

ROI: Измерение влияния ИИ

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

Если вы еще не вложили значительные средства в инструменты ИИ, но планируете это сделать, сейчас самое время установить базовый уровень. Если вы вложили средства в ИИ, важно отслеживать текущие изменения с течением времени. Вы можете делать это с помощью ручного расследования в определенные моменты времени или автоматически и непрерывно с помощью платформ интеллектуального анализа программного обеспечения, таких как Logilica, которые не только отслеживают ваши текущие показатели, но и позволяют вам проводить криминалистический анализ прошлых и будущих состояний проекта.

Есть ряд ключевых показателей, которые мы предлагаем отслеживать и смотреть, окупаются ли ваши инвестиции в ИИ. Мы предлагаем сосредоточить их вокруг следующих измерений:

- Скорость доставки: можете ли вы доставлять быстрее, чем раньше? Это означает, можете ли вы реагировать на потребности клиентов и спрос рынка быстрее и гибче? Показателями являются ваша частота релизов, время выполнения релизов, время выполнения тикетов клиентов и планирования и даже время цикла для каждой отдельной кодовой активности (PR).

- Функции отправлены: можете ли вы на самом деле отправить больше? Не только производить больше кода, но и завершать больше запланированных задач, утверждать и объединять активность кода (PR), и можете ли вы иметь больше или более крупные релизы? Метрики пропускной способности важны, если они сбалансированы с метриками времени и качества.

- Уровень предсказуемости: Одна из основных проблем в разработке программного обеспечения — это обеспечение доставки по назначению и недопущение срыва сроков или срыва объемов. Помогают ли вам в этом ваши инициативы в области ИИ? Например, вы более надежно достигаете целевых дат? Улучшается ли планирование спринта и, наоборот, удается ли вам сократить перерасходы спринта? Соответствуют ли ваши усилия более надежно ожиданиям бизнеса, например, отслеживаете ли вы, увеличивается ли количество новых функций и уменьшается ли исправление ошибок/технический долг?

- Ожидания по безопасности/качеству: улучшается ли ваш конвейер релизов ниже по течению, уменьшаются ли сбои сборки? Соответствуете ли вы критериям тестирования и сканирования безопасности? Видите ли вы меньше тикетов поддержки с момента внедрения ИИ? Изменилось ли настроение пользователей, что подтверждает ваши текущие инвестиции?

- Здоровье команды разработчиков: Наконец, влияет ли внедрение ИИ положительно на здоровье вашей команды разработчиков, приводит ли оно к меньшей перегрузке и более счастливым командам? Это важный вопрос и гораздо менее однозначный, чем можно было бы ожидать. Хотя разработка с помощью ИИ может производить больше кода быстрее, неясно, не создает ли это больше нагрузки в других местах. Например, больше кода означает больше проверок кода, что легко делает людей снова бутылочным горлышком, что приводит к разочарованию и выгоранию. Кроме того, код, сгенерированный ИИ, может быть больше, что приводит к большему PR, когда фактический отправитель меньше уверен в своем собственном коде с помощью ИИ. QA/безопасность могут почувствовать дополнительную нагрузку, и клиенты будут сообщать о большем количестве ошибок, устранение которых займет больше времени.

В целом, крайне важно отслеживать инженерные процессы и ключевые показатели по нескольким измерениям одновременно, гарантируя, что ваши инвестиции в ИИ действительно приведут к положительному, измеримому росту производительности.

Будущее ИИ в разработке

Успех применения новых технологий во многом зависит от способности специалистов быстро адаптироваться к ИИ-инструментам и развивать соответствующие навыки.

Эксперты считают, что будущее разработки — это творческий симбиоз профессионалов и машинной эффективности. Можно выделить три основных вектора влияния ИИ на программирование.

Изменение рынка труда. Искусственный интеллект вытесняет младших разработчиков. Google уже поручает нейросетям написание 25 % кода. ИИ быстро справляется с исправлением багов, написанием шаблонного кода и решением мелких технических задач. Рынок труда нуждается в опытных кадрах, которые умеют использовать ИИ в своей работе.

Юридическое регулирование и безопасность. Правительства разных стран занимаются созданием нормативной базы, которая определяет границы использования ИИ. Это позволит предотвращать утечки персональных данных и нести ответственность за создаваемые продукты. Так, для работы с чувствительными данными можно использовать локально развернутые open-source модели, а для общих задач — облачные API.

Создание модульных систем. Рынок ИИ-решений постоянно меняется. Разработчики должны создавать такие приложения, в которых при необходимости можно было легко заменить один ИИ-сервис на другой. Тогда обновление модели или переход на новую библиотеку не потребует переписывания приложения целиком. 

Перспективы

Разработка с помощью ИИ уже наступила. Это новая реальность, которая быстро проникнет во все части жизненного цикла разработки программного обеспечения. Таким образом, крайне важно наращивать экспертные знания и стратегии для использования этой технологии наиболее выгодным образом. Для обеспечения успеха требуется правильный уровень прозрачности процессов разработки программного обеспечения, чтобы обеспечить необходимую наблюдаемость для лиц, принимающих решения. Эти решения носят двусторонний характер: обоснование инвестиций для руководящих групп с помощью доказательств, основанных на данных, и возможность установить правильные границы для повышения производительности и целей процесса.

Неизбежен цикл ажиотажа вокруг кодирования с помощью ИИ. Чтобы выйти за рамки ажиотажа, важно измерить положительное влияние и направить его внедрение в правильном направлении, чтобы обеспечить положительное влияние на бизнес.

Платформы Software Engineering Intelligence (SEI) подключаются к вашим инженерным данным и дают вам видимость ваших процессов и узких мест, чтобы получить ответы на вышеуказанные вопросы. Эти платформы автоматизируют процесс измерения и аналитики, чтобы вы могли сосредоточиться на создании подразделения на основе данных.

В будущих частях этой серии разработчики DST Global подробно рассмотрят, как прогностические модели могут применяться в ваших инженерных процессах, как вы можете использовать ИИ для мониторинга вашего ИИ-проектирования программного обеспечения и как платформы SEI могут помочь вам создать высокопроизводительные инженерные организации. 

Влияние ИИ на производительность разработки программного обеспечения
Получить консультацию у специалистов DST
Напишите нам прямо сейчас, наши специалисты расскажут об услугах и ответят на все ваши вопросы.
Комментарии и отзывы экспертов
RSS
18:10
+2
Уверен что в будущем ИИ может позволить разработчикам создавать программное обеспечение с использованием естественного языка. Технологии обработки естественного языка (NLP) будут использоваться для понимания и интерпретации запросов на человеческом языке и генерации соответствующего кода. Это сделает программирование доступным для более широкого круга людей, снижая порог входа в профессию.

Автоматизация полного цикла разработки

ИИ может автоматизировать полный цикл разработки программного обеспечения, включая планирование, написание кода, тестирование, развертывание и поддержку. Это приведет к созданию автономных систем, которые будут способны самостоятельно разрабатывать и поддерживать программное обеспечение. Такие системы смогут адаптироваться к изменениям требований и условий, обеспечивая непрерывное улучшение и оптимизацию.

Искусственный интеллект уже оказывает значительное влияние на программирование, повышая эффективность, качество и скорость разработки программного обеспечения. Автоматизация рутинных задач, оптимизация кода, интеллектуальные среды разработки и интеграция машинного обучения — все это открывает новые возможности для разработчиков. В будущем ИИ продолжит трансформировать индустрию программирования, делая её более доступной, гибкой и инновационной.
18:12
+2
Есть интересное исследование: Выяснилось, что ИИ-ассистенты не повышают продуктивность программистов

Авторы исследования Uplevel, охватившего деятельность примерно 800 разработчиков программного обеспечения, утверждают, что применение инструментов с искусственным интеллектом для написания программного кода пока не выявило ни повышения производительности труда профильных специалистов, ни снижения их эмоционального выгорания.

В ходе исследования сравнивались результаты труда выборки из 800 разработчиков на протяжении двух трёхмесячных периодов. В первом периоде программисты трудились с использованием традиционных инструментов, во втором они перешли на использование ИИ-ассистента GitHub Copilot. Примечательно, что на производительности труда разработчиков подобная миграция особо не сказалась в рамках данного эксперимента.

Первоначально ожидалось, что применение GitHub Copilot снизит количество ошибок в программном коде и увеличит производительность труда, но по факту в первом случае наблюдался рост количества ошибок на 41 %, а ещё попытки применять ИИ-ассистента не привели к существенному улучшению ситуации с эмоциональным выгоранием специалистов. По данным GitHub, применение помощника Copilot способно на 55 % повысить скорость написания кода разработчиками.

Некоторые эксперты признались, что написанные с помощью ИИ участки программного кода трудно поддаются анализу и выявлению ошибок, поэтому порой проще переписать нужный фрагмент заново. На ранних этапах развития ChatGPT, например, отмечалось, что этот чат-бот более половины всех запросов, связанных с оптимизацией работы создателей программного кода, просто неверно истолковывает. Представители Gehtsoft, например, убеждены, что разработка программного обеспечения на 90 % зависит от функций человеческого мозга, в части понимания требований, разработки системы и определения ограничений. Превращение сформированных взаимных зависимостей в программный код является самой простой частью работы программиста.

С другой стороны, находятся и те, кто восхваляет возможности ИИ в разработке программного кода. Представители провайдера облачных услуг Innovative Solutions, например, отмечают почти троекратное повышение производительности после перехода на использование ИИ-ассистентов типа Claude Dev и Copilot.
18:13
+2
Влияние ИИ на производительность разработчиков

Это одно из первых исследований на эту тему, в котором приняли участие почти 5 тыс. разработчиков из трех ведущих IT компаний. Важно, что это не лабораторное исследование, а в живых «полевых» условиях. Поэтому стоит обратить внимание на его результаты.

Какого эффекта ожидать от использования ИИ?

Ожидания в целом большие. Так, одни экономисты подсчитали, что генеративный ИИ может выполнять задачи более чем 80% рабочих мест в США, и вопреки представлениям, в первую очередь — высококвалифицированных профессий. Другие, однако, менее оптимистичны в отношении такого роста производительности.

Сложность реальных измерений эффекта затрудняет оценку того, оправдан ли такой оптимизм в отношении роста производительности.

Как проводилось исследование?

Методика

Проведено три рандомизированных контролируемых исследования (что важно!): в Microsoft, Accenture и IT компании из списка Fortune-100.

Важно, что эти исследования не были лабораторными, а проводились компаниями в рамках их обычной деятельности.

Большинство исследований влияния ИИ инструментов на производительность проводилось в контролируемых лабораторных условиях. Как правило, такие исследования показывали рост производительности.

Участники

В случае Microsoft и Accenture тестовой группе разработчиков случайным образом был предоставлен доступ к GitHub Copilot, тогда как другая группа (контрольная группа) не имела доступа к инструменту в течение семи (Microsoft) или четырех (Accenture) месяцев. В эксперименте компании из списка Fortune 100 все пользователи получили доступ к инструменту в течение двух месяцев, но даты доступа были рандомизированы, и некоторые команды получили доступ на шесть недель раньше других.

В эксперименте в Microsoft (стартовал в сентябре 2022 года) приняли участие 1 746 разработчиков. Из них 50,4% были случайным образом выбраны для получения доступа к Github Copilot. Участники тестовой группы были проинформированы по электронной почте о возможности зарегистрироваться в GitHub Copilot. Помимо этого письма, участники, прошедшие лечение, не получили никаких дополнительных инструкций. Эксперимент завершился 3 мая 2023 года, поскольку растущая осведомленность об инструментах кодирования с использованием ИИ заставила участников контрольной группы искать доступ к Copilot.

Эксперимент в Accenture начался в июле 2023 года и проходил в Юго-Восточной Азии. Рандомизация происходила на уровне разработчиков, и 61,3% из 320 разработчиков попали в тестовую группу. Участники тестовой группы были проинформированы по электронной почте о возможности зарегистрироваться в GitHub Copilot. Они также приняли участие в обучающем тренинге. Контрольной группе был предоставлен доступ к Copilot в декабре 2023 года.

В компании из списка Fortune-100 эксперимент начался в октябре 2023 года. В нем приняли участие 3 054 разработчика, которые были приглашены использовать Copilot. Даты приглашений были рандомизированы, новые приглашения рассылались еженедельно в период с сентября 2023 года по октябрь 2023 года

Как оценивалась производительность

В этом исследовании изучается эффект одного из известных (наряду с Amazon CodeWhisperer и Replit Ghostwriter) ИИ инструментов — GitHub Copilot.

GitHub Copilot был разработан GitHub в партнерстве с OpenAI, значительный объем кода из публичных репозиториев GitHub использовался для обучения Copilot.

Когда разработчики пишут код или комментарии, Copilot анализирует контекст и генерирует соответствующие фрагменты кода, комментарии и документацию. Он может автоматически дополнять код или предлагать фрагменты, которые им в противном случае пришлось бы искать в Интернете. Это может сэкономить время разработчиков и потенциально улучшить качество кода. Однако, как и все инструменты на основе LLM, Copilot может совершать ошибки. Если разработчики будут полагаться на него без проверки, он может потенциально привносить ошибки и снижать качество кода.

Основным результатом работы разработчика являются «pull requests», которые можно рассматривать как единицу работы. Исследователи обоснованно предполагают, что рамках компании понимание pull requests является стабильным.

Также используются три дополнительных параметра:

— “commit’ы” — процесс сохранения внесенных в код изменений в системе контроля версий.
— “build” / сборки кода- периодически разработчик будет собирать код, и можем наблюдать, как он собран.
— успешная сборка как мера качества кода.

В дополнение к этим выходным показателям отслеживается, как разработчики используют Copilot. Для каждого разработчика, использующего Copilot, считалось как количество предложений от Copilot, так и количество принятых разработчиком приложений.

Для эксперимента Microsoft также был доступ к данным о дате найма и грейда в компании, что позволило провести анализ по опыту и стажу работы в компании.

РЕЗУЛЬТАТЫ ИССЛЕДОВАНИЯ

Производительность разработчиков

Использование ИИ помощника при написании кода приводит к увеличению:

— выполненных задач на 26,1%

— обновлений кода (коммитов) на 13,6%,

— сборок кода на 38,4%.
Как ни странно но с Copilot у Microsoft тоже не задалось
18:15
+1
Принятие Copilot

Принятие Copilot относительно проще и менее затратно по сравнению с другими рабочими ИИ инструментами. Copilot не требует дополнительных инвестиций и уже интегрирован в среду разработки.
В течение первых двух недель эксперимента в Microsoft только 8,5% разработчиков тестовой группы зарегистрировались на GitHub Copilot. Такой низкий показатель внедрения мог быть обусловлен невнимательностью к анонсу по электронной почте. Microsoft отправил два напоминания, и эти письма увеличили принятие до 42,5%.

Первоначальное принятие в контрольной группе также не было идеальным: 0,5%. По завершении эксперимента в апреле 2023 года, когда контрольной группе был предоставлен доступ к Copilot, наблюдался быстрый темп принятия в контрольной группе. Однако к январю 2024 года принятие в контрольной группе оставалось ниже принятия в экспериментальной группе.

Принятие Copilot в Accenture шло быстрыми темпами в начале эксперимента (график (b)), но через 1-2 месяца достигла плато в 60%. Когда контрольной группе предоставили доступ в декабре 2023 года, то был виден более медленный, но устойчивый рост принятия. К апрелю 2024 года скорость принятия в экспериментальной группе составила 69,4%, в то время как уровень принятия в контрольной группе был 24,4%.

График © показывает поэтапное приглашение к Copilot и уровень принятия среди всех участников исследования в компании из Fortune-100. Все разработчики получили доступ к Copilot в течение шести недель. После завершения рассылки приглашений уровень принятия вышел на плато, показав небольшой рост в течение оставшегося срока эксперимента.

Уровень принятия Copilot удивительно схож во всех трех компаниях и существенно ниже 100%; при этом около 30-40% инженеров даже не пробовали инструмент.

Это говорит о том, что другие факторы, такие как индивидуальные предпочтения и воспринимаемая полезность инструмента, играют важную роль в принятии инженерами решений об использовании этого инструмента.

В Microsoft видно положительное влияние Copilot на количество пул реквестов, коммитов и сборок кода. Однако только влияние на количество пул реквестов статистически значимо.

В Accenture и компании из Fortune-100 исследователи находят сопоставимые размеры эффекта, но эти эффекты не имеют статистической значимости.

Использование Copilot в зависимости от стажа и опыта работы

Поскольку у исследователей был доступ к данным разработчиков Microsoft, они смогли оценить влияние Copilot на производительность в зависимости от стажа работы в компании и опыта разработчика.

Разработчики-новички в компании на 9,5 процентных пунктов (84,3% против 74,8%) более склонны использовать Copilot, что согласуется с предыдущими исследованиями. Тот же эффект имеет место для разработчиков с небольшим опытом работы, которые на 5,3 процентных пункта (82,1% против 76,8%) чаще склонны использовать, хотя разница в принятии немного меньше в этом случае.

Сотрудники — новички в компании с большей вероятностью продолжат использовать Copilot через месяц после начала использования. Это, вероятно, говорит о том, что они ожидают большей выгоды от технологии, чем старожилы.

Старожилы примерно на 4,3% (или на 1,0 процентный пункт) менее склонны принимать предложенный Copilot код.

При сравнении разработчиков на младших и старших позициях в компании эта разница в показателях принятия Copilot намного меньше и составляет 1,8% (или 0,5 процентных пункта), хотя тренд тот же: опытные разработчики с меньшей вероятностью принимают предложения ИИ по коду.

Copilot значительно повышает производительность у новичков и разработчиков на младших позициях, но не у сторожил и опытных разработчиков.

Разработчики-новички в компании увеличивают свою производительность на 27–39%, в то время как разработчики-старожилы — с 8% до 13%.

Младшие разработчики увеличивают свою производительность на 21–40%, в то время как опытные разработчики получают более скромную выгоду: их производительность растет с 7% до 16%.
18:16
Что бы там не проводили и не говорили а искусственный интеллект значительно влияет на производительность разработки программного обеспечения. Некоторые аспекты этого влияния:

— Автоматизация программирования. ИИ-алгоритмы способны анализировать требования к программному обеспечению и генерировать исходный код. Это ускоряет процесс разработки и уменьшает количество рутинных задач.
— Автоматическое исправление ошибок. ИИ помогает обнаруживать и исправлять ошибки в коде на ранних этапах разработки. Это снижает риск возникновения проблем в будущем и улучшает качество программного обеспечения.
— Оптимизация и рефакторинг кода. ИИ может анализировать производительность программного обеспечения и предлагать оптимизации, которые повышают эффективность выполнения кода. Это позволяет автоматически находить и исправлять участки кода, которые замедляют работу программы, улучшая её производительность.
— Умные среды разработки. Современные интегрированные среды разработки (IDE) всё чаще включают ИИ-функции, которые облегчают жизнь программистам.
— Машинное обучение и анализ данных. ИИ-инструменты помогают разработчикам анализировать большие объёмы данных и визуализировать результаты. 1

В будущем ИИ продолжит трансформировать индустрию программирования, делая её более доступной, гибкой и инновационной.
Вам может быть интересно
Генеративный ИИ, помощники ИИ и LLM обладают уникальными возможностями в разработке ПО. Узнайте от разработчиков компании DSt Global, как они улучшают рабочие процессы и максимизируют производительнос...
Полное руководство по защите данных, моделей и пользователей в эпоху GenAI. В эт...
Узнайте о достижениях искусственного интеллекта на...
Что такое рекомендательные системы и как они работ...
В последние годы веб-разработка переживает настоящ...
В этой статье, специалисты компании DST Global рас...
Не секрет, что в настоящее время идет золотая лихо...
В разработке интеллектуальных приложений наблюдало...
Искусственный интеллект (ИИ) - это быстро развиваю...

Новые комментарии

Да, с помощью 1С и DST Маркетплейс можно создать маркетплейс, но для полноценной...
То есть используя 1С в связке с DST Маркетплейс можно как раз создать маркетплей...
Все верно Дмитрий. Использовать существующую ERP-систему как платформу для запус...

Заявка на услуги DST

Наш специалист свяжется с вами, обсудит оптимальную стратегию сотрудничества,
поможет сформировать бизнес требования и рассчитает стоимость услуг.

Адрес

Ижевск, ул. Воткинское шоссе, д. 170 Е, Технопарк Нобель, офис 1117

8 495 1985800
Заказать звонок

Режим работы: Пн-Пт 10:00-19:00

info@dstglobal.ru

Задать вопрос по почте

Укажите ваше имя
Укажите ваше email
Укажите ваше телефон