Блог

Беларусский разработчик в Амстердаме рассказывает, почему ИИ замедляет разработку

В Гарварде провели исследование и доказали то, что я давно говорил. ИИ не делает программирование быстрее. А даже наоборот — замедляет его. 

Обяъсню почему.


Кто пишет: Миша Ларченко, фуллстек-разработчик и техлид в ИТ-консалтинге в Нидерландах. Ведёт техноблог на YouTube на 67+ тысяч подписчиков.


От замены Stack Overflow до гор «нейрослопа»

Если целиком абстрагироваться от того, что нейросети в итоге не заменили разработчиков, оказалось, что они даже не дают значительного роста производительности.

Когда в 2022–2023 годах появился привычный нам ИИ, все мы начали использовать ChatGPT вместо Google и Stack Overflow, чтобы искать ответы на программистские вопросы. И это на самом деле сильно ускорило разработку. Ведь уже не надо тратить кучу времени, чтобы нагуглить нужные куски кода и сниппеты на форумах.

Затем мы стали свидетелями «таб-программирования». Это когда нейросеть прямо в редакторе кода подсказывает тебе строчку или целый блок, а ты кнопкой Tab одобряешь предложение и потом слегка правишь руками. Это тоже заметно ускорило процесс: теперь ты не просто не ищешь решение, а сразу получаешь готовый кусок кода, в который в худшем случае нужно внести небольшие изменения.

А потом появились полноценные агенты. Они сами работают на твоём компьютере, сами пишут код, сами запускают тесты. Все мы тогда подумали: ну вот оно, счастье, теперь разработчиков можно практически целиком заменить, а написание кода и сопутствующие проблемы — больше не ответственность человека. Во многих вопросах прирост действительно был заметен, особенно в самой генерации: мы получили возможность за короткое время выдавать просто огромное количество этого «нейрослопа».

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

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

Как выяснилось, вижу это не только я. Исследователи в Гарварде изучили вопрос и подтвердили, что проблема повсеместная. Рост в разработке заметили в объёмах: количество кода в их выборке выросло на 30%, а пулреквестов стало на 23% больше. Но проверяются они теперь очень долго.

По моим ощущениям, время аппрува пулреквеста выросло раза в два. Исследование Гарварда даёт похожий расклад в цифрах:

  • время на проверку и слияние (мёрж) пулреквеста выросло на 49%;
  • число комментариев от ревьюеров на один пулреквест увеличилось на 35%;
  • доля сотрудников, привлечённых к проверке кода, выросла на 14%;
  • среднее время на проверку пулреквеста увеличилось с 7 до почти 10 дней.

То есть время на аппрув и мёрж растянулось практически в полтора раза, что неизбежно бьёт по скорости доставки кода.

Почему мы больше не верим коду коллег

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

Теперь ситуация совершенно другая. Когда я открываю пулреквест на работе (или мердж-реквест, так как мы работаем в GitLab), я прекрасно понимаю, что весь код и вся документация в нём сгенерированы нейросетями. И я по умолчанию отношусь к ним скептически.

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

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

Конечно, сейчас многие пулреквесты пытаются проверять с помощью того же ИИ. Для этого есть и встроенные в Git решения, и сторонние приложения, и специальные скиллы с промптами (на моём тренинге, кстати, все команды делают подобные приложения для ревью). Но ситуацию это совершенно не спасает. Если мы не можем доверять коду, который написал ИИ, почему мы должны доверять ревью, которое сделал ИИ? В итоге люди всё равно тратят уйму времени на то, чтобы вручную, глазами проверить всё, что нагенерировала нейросеть.

Узкое горлышко и «тёмные фабрики»

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

Как только эту проблему решат, программистов действительно заменят. Появятся те самые Dark Factory или специальные харнесы для искусственного интеллекта, которые будут получать задачу в упрощённом виде, сами её программировать, сами верифицировать и выкидывать в прод готовый код. Разработчики на этом этапе станут совершенно не нужны. Но так как такую Dark Factory всё ещё никто не сделал — ни Anthropic, ни OpenAI, ни xAI, — это значит, что автоматически валидировать код мы пока не умеем. А значит, мы как разработчики всё ещё при работе.

Мнение автора может не отражать позицию редакции.

Обсуждение
Комментируйте без ограничений

Релоцировались? Теперь вы можете комментировать без верификации аккаунта.

Richard James
Richard James тунеядец в опале
0

как вы достали с этим разработчиком из амстердама

0

спасибо данному эксперту за такой уникальный инсайт