Pull to refresh

Ошибки ИИ, которые спасают вашу работу: как нейросети генерируют баги

Level of difficultyEasy
Reading time6 min
Views617

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

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

Я Илья Некрасов, Android Team Lead KODE. В этой статье предлагаю разобраться, почему бизнес так любит идею «разработки без разработчиков» и почему она не работает. 

Какие задачи ИИ может решать, а какие пока только портить

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

Контекст? Не, не слышал

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

Попросите ChatGPT написать микросервис для банковских транзакций. Он бодро нагенерит вам код, в котором не будет и намека на ACID-транзакции. И самое забавное — ИИ никогда не переспросит: «Вы вообще уверены, что хотите хранить пароли вот в таком виде?». Потому что его задача не решить вашу проблему, а сгенерировать правдоподобный ответ. 

Архитектурные решения требуют инженерного мышления

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

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

Желаемое за действительное

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

Главная проблема в том, что ИИ не понимает разницы между «похоже на код» и «рабочий код». 

Возьмем типичный пример: вы просите ChatGPT реализовать простой REST API. Модель уверенно генерирует эндпоинты, но вставляет SQL-запросы с прямыми подстановками параметров, «оптимизирует» производительность, добавляя лишние преобразования данных.

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

Что говорят исследования

ИИ-инструменты действительно ускоряют написание кода — исследования показывают рост продуктивности на 55%. Согласно Stack Overflow, около 70% разработчиков уже используют ИИ. Но это только одна сторона медали.

С увеличением скорости растет и количество ошибок. По данным Uplevel, их стало на 41% больше. Код, написанный с помощью нейросетей, сложнее читать, поддерживать и понимать. McKinsey сообщает, что 63% разработчиков сталкивались с неточностями в генерируемом ИИ коде. Это замедляет работу, а иногда приводит к багам и уязвимостям.

Но дело не только в технической стороне. Исследования показывают: ИИ влияет и на нас самих, на то, как мы думаем, оцениваем себя и воспринимаем эффективность своей работы.

Как ИИ меняет мозг

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

Это явление авторы называют накоплением когнитивного долга : чем больше доверяешь ИИ, тем меньше развиваешь собственные навыки. А когда перестаёшь им пользоваться, восстановление этих навыков занимает время.

Плацебо тоже работает в ИИ

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

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

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

А где же настоящий выигрыш?

Статья AI is actually making workers less productive подтверждает: почти 80% пользователей ИИ говорят, что он добавил им работы , а не экономии времени. Люди тратят время на проверку и модерацию сгенерированного ИИ контента, учатся пользоваться новыми инструментами без четкого понимания их пользы.

Более того, 96% руководителей ожидают, что ИИ повысит производительность , но 40% сотрудников не видят, как это может происходить в текущих условиях.

ИИ остаётся лишь помощником

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

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

Почему бизнес верит в ИИ (и к чему это приведет)

От ИИ ожидают ускорения работы, снижения нагрузки на младших разработчиков, возможно, даже экономии бюджета. На деле все выглядит иначе.

Что хочет бизнес   

Что получает на деле    

Быстрая разработка

Больше времени на проверку и тесты

Экономия бюджета

Увеличенные затраты на ревью и тестирование

Автоматизация

Нужны сеньоры, чтобы исправлять ИИ 

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

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

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

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

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

Один из ключевых навыков хорошего лид-разработчика — вырастить из джуна полноценного сеньора, способного принимать решения и брать ответственность. ИИ пока не умеет расти. Он остаётся тем же самым помощником от первой до сотой задачи, ни более самостоятельным, ни более ответственным. Через полгода эйфории обычно приходит осознание: ИИ не замена команде. Он лишь инструмент, и пользоваться им нужно уметь. Если решили на проекте доверить задачи джунов Copilot'у, то подумайте, не придется ли через пару месяцев нанимать двух сеньоров, чтобы исправлять то, что нагенерировал ИИ.

Почему разработчикам не стоит волноваться (но расслабляться тоже рано)

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

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

Tags:
Hubs:
+7
Comments3

Articles