Генеративный искусственный интеллект (GenAI) создает все больше кода. Но, несмотря на популярность платформенного инжиниринга, назревает кризис разработчиков, о чем свидетельствует исследование Harness «State of Software Delivery 2025», в котором обобщен опыт 250 инженерных руководителей и 250 разработчиков ПО, сообщает портал The New Stack.

«Генерировать больше кода — это здорово», — говорит Мартин Рейнольдс, технический директор Harness, отмечая что разработчики преимущественно чувствуют себя более продуктивными благодаря ИИ-помощникам по кодированию.

«Но при этом увеличивается количество всего остального, что происходит после составления кода, а этого очень много. От тестирования безопасности до модульного тестирования, общего управления, числа развертываний, количества зависимостей», — добавляет он.

Большинство опрошенных разработчиков сталкиваются с проблемами, когда по крайней мере половина всех развертываний выполняется с помощью ИИ-помощников по кодированию. Отчет показал, что 67% разработчиков тратят больше времени на отладку сгенерированного ИИ кода, а 68% — на устранение уязвимостей в системе безопасности. Хотя ИИ ускоряет написание кода в начале жизненного цикла разработки ПО, увеличение объема кода означает рост потребности в проверке кода, проверке безопасности и обеспечении качества. Пока что эти потребности практически не удовлетворяются.

К этому следует добавить, что с ростом внедрения ИИ снижается стабильность и пропускная способность доставки.

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

Вызовет ли ИИ выгорание разработчиков?

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

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

«Риск для младших разработчиков обычно выше. Старшие разработчики, как правило, гораздо лучше знают и быстрее понимают генерируемый код, — отмечает Рейнольдс. — Младшие разработчики находятся под большим давлением. Они хотят работать быстро, но у них не всегда есть контекстная осведомленность об изменении кода».

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

«Многие организации боролись с этим и без GenAI, а теперь, когда вы генерируете больше кода, это только усугубляет проблему», — говорит Рейнольдс.

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

«Почему бы не сделать частью процесса, чтобы при создании ИИ кода также создавалась документация о том, как этот код работает, верно?», — предлагает Рейнольдс.

Действительно, GenAI очень хорош в объяснении сложных концепций. В отчете DORA за 2024 г. говорится, что самым большим выигрышем от применения GenAI стало значительное повышение качества документации. Документация помогает снизить когнитивную нагрузку. Наложение чатбота на документацию или интеграция его в кодовую базу — как это делает Github Copilot — еще больше снижает переключение контекста.

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

Но документация и обзоры кода — это лишь малая часть сложного жизненного цикла разработки ПО, в котором, согласно отчету Harness, разработчики по-прежнему тратят не менее 30% своего времени на выполнение ручных, повторяющихся задач. Этот труд обходится дорого.

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

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

Готовы ли организации к теневому ИИ?

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

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

Результаты опроса обнаружили серьезные пробелы в проверке кода, созданного ИИ:

  • 60% респондентов не оценивают эффективность ИИ-инструментов кодирования;
  • 60% заявили, что у них нет процессов оценки кода на предмет уязвимостей и ошибок;
  • 58% опрошенных организаций не описали конкретные сценарии использования, в которых ИИ может быть одобрен и не одобрен как безопасный для использования;
  • 43% организаций не регламентируют, какой код можно или нельзя вводить в ИИ-инструментарий;
  • 42% организаций не имеют списка предпочтительных или запрещенных инструментов.

Поскольку инжиниринг по своей сути является наукой, невозможно улучшить то, что не измеряется. Хотя 83% разработчиков ответили, что, по их мнению, разработка ПО стала более эффективной после внедрения инструментов ИИ, это предполагаемое повышение производительности разработчиков остается недоказанным.

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

«Все сводится к наличию политик и проведению сканирования безопасности, которое позволяет убедиться, что в ПО не вносятся рискованные уязвимости из-за зависимостей, а качество кода проверяется с точки зрения безопасности, — говорит Рейнольдс. — Инструменты существуют. Убедиться в том, что они всегда работают с вашим кодом, — абсолютно ключевой момент».

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

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

Потребность в политике применения будет становиться все более насущной по мере распространения инструментов GenAI. В 2025 г. инженерные руководители планируют внедрить ИИ в следующих областях:

  • непрерывная интеграция и доставка (CI/CD) — 50%;
  • оптимизация производительности — 48%;
  • безопасность и комплаенс — 42%;
  • оптимизация стоимости кода — 40%;
  • генерация кода (уже используется чаще всего) — 39%;
  • QA/тестирование — 28%;
  • устранение ошибок — 26%.

Заберет ли GenAI вашу работу?

Популярная сегодня точка зрения гласит, что GenAI готов заменить младших разработчиков и специалистов по контролю качества. И 90% респондентов опроса, проведенного Harness, подтвердили это мнение.

Этот результат вызывает беспокойство, потому что инженерные руководители составляли половину участников опроса, а это значит, что большинство может преследовать коварные цели в отношении GenAI. Кроме того, ожидается, что в 2025 г. расходы на GenAI вырастут еще на 10%.

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

«Если вы говорите „потребность в младших разработчиках сокращается“ или „мне не нужны младшие разработчики, потому что у меня есть ИИ“, то откуда возьмутся все ваши старшие разработчики в будущем? Неужели вы будете полагаться на то, что младших разработчиков будут делать другие компании?», — вопрошает Рейнольдс, называя такие идеи недальновидными.

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

«Я думаю, что GenAI может снизить нагрузку на QA, у нас уже есть такой опыт, — говорит Рейнольдс. — Но это не отменяет необходимости для людей убедиться, что он использует правильные тесты в правильных областях, чтобы направить ПО на нужную часть системы».

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

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