Генеративный искусственный интеллект (GenAI) в последние годы получил невероятный всплеск популярности, особенно в сфере программирования. Его провозглашают как инновационный инструмент, который сделает работу разработчиков быстрее, умнее и эффективнее. Крупные корпорации и технологические гиганты активно интегрируют GenAI в свои продукты и инфраструктуру, продвигая идею, что разработчику — достаточно лишь задать правильную команду, а ИИ справится с написанием кода. Однако, несмотря на энтузиазм и обширное применение этих инструментов, новые исследования вскрывают тревожные факты: опытные программисты, использующие GenAI, зачастую работают медленнее, а не быстрее. Президент и генеральный директор Nvidia Дженсен Хуанг предсказывает, что с помощью ИИ весь мир станет продуктивнее, экономика вырастет, а каждый работник будет дополнен искусственным интеллектом.
Пентагон тоже активно внедряет технологии GenAI, надеясь сохранить стратегическое преимущество за счет ИИ. Но если взглянуть ближе на реальную работу разработчиков — выглядит, что эффективность далеко не всегда увеличивается. Основная причина кроется в том, как именно программисты используют инструменты ИИ и какие задачи они решают. Пожалуй, крупнейшим разочарованием стал недавний эксперимент, проведенный некоммерческой исследовательской группой METR, которая изучала работу 16 опытных open-source разработчиков с более чем десятью годами стажа. Участникам предлагалось выполнять задачи вроде устранения багов и внедрения новых функций в проектах, хорошо знакомых им по структуре и коду.
Разработчики ожидали, что использование систем GenAI, таких как Cursor Pro и Claude 3.5/3.7 Sonnet, позволит сократить время на выполнение задач примерно на 24%. Самих участников подкупала перспектива ускорения процессов — после тестов они были уверены, что улучшили свое время на 20%. Однако в реальности показатели оказались обратными: с помощью ИИ время выполнения увеличилось на 19%.
Особенно ощутимо это проявлялось на коротких по времени заданиях, которые должны были укладываться в 6 часов или меньше. Почему же так происходит? Во-первых, работа с данными ИИ-системами требует навыков правильного формулирования запросов или, как это называется, написания «промптом». Казалось бы, быстрое создание кода — это просто отдача команды в чат-бот. Но на деле подготовка корректного запроса, который действительно даст полезный и безопасный код, занимает немало времени и усилий. Даже опытные разработчики часто сталкивались с тем, что ИИ-решения плохо исполняли сложные спецификации, требовалось много повторных итераций и уточнений.
Во-вторых, сгенерированный код почти всегда нуждается в тщательной проверке. Внедрение ИИ-кода без анализа может привести к появлению ошибок, уязвимостей и сбоев в работе. В ходе исследования участники отмечали, что тратили значительные ресурсы на исправление багов, удаление дублирующегося кода и улучшение архитектуры — то есть оказывались вовлеченными в исправление последствий ИИ, а не в ускорение проекта. Поддерживает данные выводы и исследование Google DevOps Research and Assessment (DORA) 2024 года. Там было выявлено, что хотя инструменты на базе GenAI увеличивают скорость ревью кода, качество автоматически сгенерированных изменений зачастую оставляет желать лучшего, поскольку разработчики вынуждены исправлять многочисленные ошибки перед отправкой продукта в продакшен.
Таким образом, время, казалось бы, сэкономленное, переходит в дополнительную работу по дебагу и тестированию. Разумеется, мнение профессионального сообщества подтверждает и опыт пользователей на популярных форумах. На ресурсе Reddit, в разделе программирования, многие опытные разработчики признают, что AI помогает быстро сгенерировать часть рабочего кода — около 80%, однако оставшиеся 20% требуют бесконечного времени на отладку и рефакторинг. В итоге работать без AI во многих случаях оказывается быстрее и эффективнее. Важным аспектом является также влияние GenAI на молодых «веб-приятных» программистов, так называемых vibe coders.
Как отмечает известный технический писатель Каустубх Саини, такие разработчики часто создают код, который они сами не в состоянии понять, отладить или поддерживать без помощи ИИ. Это приводит к нарастанию зависимости от автоматизированных инструментов и снижению общей квалификации специалистов, что опасно для долгосрочного развития качества проектов. Проблемы с качеством и продуктивностью не ограничиваются только программированием. Во многих профессиональных сферах применение GenAI приводит к ухудшению конечного результата. Появляется большое количество текстов, картинок и других материалов с ошибками, которые проходят модерацию из-за поверхностной проверки и внешней правдоподобности.
Значит, пользователь, полагающийся исключительно на ИИ, рискует получить некачественный продукт, который придется перерабатывать. Важный урок из всего вышесказанного заключается в том, что GenAI — это прежде всего вспомогательный инструмент, а не замена экспертности и профессиональных навыков. Искусственный интеллект способен помогать упростить рутинные операции и сэкономить время при правильном использовании, но без грамотного контроля и осмысленного применения он может принести обратный эффект. Компании, разрабатывающие инструменты GenAI, активно продвигают идеи улучшения производительности, ведь это способствует продажам технологий. Однако при всём маркетинговом оптимизме необходимо оставаться реалистами и уделять повышенное внимание эффективности и качеству работы.
Оценивать влияние ИИ необходимо на базе реальных условий и задач, а не только на синтетических тестах и демонстрациях возможностей. Таким образом, к вопросу о том, ускорят ли инструменты GenAI программистов или замедлят их работу, отвечать следует осторожно. На сегодняшний день опыт показывает, что без должной подготовки и понимания потенциала и ограничений ИИ, результат часто далек от ожидаемого. Программисты вынуждены тратить дополнительное время на коррекцию и доработку сгенерированного кода, что компенсирует и даже перевешивает выигрыш в скорости написания начального варианта. Важно помнить, что технологии искусственного интеллекта только начинают свой путь эволюции.
Скорее всего, с развитием и совершенствованием моделей, улучшением интерфейсов и обучающих материалов ситуация будет меняться к лучшему. Пока же задача для разработчиков — обучиться эффективно использовать ИИ как инструмент, не возлагая на него излишних ожиданий и не пренебрегая собственными навыками. Это позволит извлечь максимальную пользу и избежать подвохов новейших технологий. Подводя итог, можно сказать, что генеративный искусственный интеллект — мощный ресурс с огромным потенциалом, но его сила раскрывается лишь в руках грамотного специалиста. Настоящее ускорение разработки возможно лишь при гармоничном сочетании опыта программиста и возможностей ИИ, а не при слепом доверии к автоматическим системам.
Каждый профессионал должен признавать ограничения инструмента и вкладывать свои знания в контроль и доработку. Только тогда ИИ станет дополнением, а не тормозом на пути к высококачественному программированию.