
С внедрением искусственного интеллекта (ИИ) в различные сферы деятельности, в том числе в разработку программного обеспечения, возникло множество новых возможностей для оптимизации рабочих процессов. Нейросети позволяют автоматизировать рутинные задачи, снижая нагрузку на специалистов и увеличивая скорость выполнения проектов. Однако активное использование ИИ в разработке также оказывает неожиданные побочные эффекты, один из которых — усугубление дефицита квалифицированных кадров в IT-сфере.
По данным исследований, более 97% программистов используют нейросети для автоматизации различных задач. Это не удивительно, ведь современные инструменты, такие как GitHub Copilot, помогают писать код быстрее, предлагают оптимизации и исправляют ошибки. Такие помощники снижают объем ручной работы, позволяя программистам сосредоточиться на более творческих и сложных задачах. В результате компании экономят время и ресурсы, что кажется очевидным преимуществом.
Однако вместе с увеличением роли ИИ в разработке возрастает и зависимость программистов от этих технологий. Молодые специалисты, только начинающие свою карьеру, часто предпочитают использовать готовые библиотеки или решения из интернета, вместо того чтобы создавать код с нуля. Это не только снижает их навыки программирования, но и приводит к созданию громоздких и неоптимизированных программных продуктов.
Готовые библиотеки могут занимать огромные объемы памяти, утяжеляя конечное решение. Часто это приводит к необходимости закупки более мощного оборудования, что увеличивает расходы бизнеса. При этом качество кода, сгенерированного с помощью нейросетей, нередко оставляет желать лучшего. Как показывают исследования GitClear, такие проекты требуют постоянной доработки, что сводит на нет первоначальную экономию.
Использование нейросетей для автоматизации разработки, безусловно, ускоряет процесс создания продуктов. Но при этом повышается и сложность их обслуживания. Программы, созданные с использованием автоматизированных инструментов, могут быть менее эффективными, а их поддержка обходится дороже. Компании, выбирая ускоренную разработку, часто сталкиваются с тем, что затраты на эксплуатацию и поддержку софта значительно превышают ожидания.
Вместо того чтобы инвестировать в обучение и развитие собственных кадров, многие компании предпочитают полагаться на ИИ-инструменты. Это создает порочный круг: дефицит квалифицированных специалистов усиливается, а зависимость от нейросетей растет.
Применение нейросетей в разработке приводит к своеобразной "интеллектуальной деградации" специалистов. Этот феномен, который иногда называют "эффектом Lego", заключается в том, что разработчики все больше полагаются на готовые решения и инструкции, теряя навыки самостоятельного решения задач. Исследование Рашада Филизера подтверждает, что использование инструментов, подобных GitHub Copilot, снижает уровень компетенций разработчиков. Подобно тому, как современные наборы Lego уже не требуют креативности, нейросети предлагают готовые шаблоны, что подрывает способность программистов к глубокому анализу и собственному поиску решений.
Ранее конструкторы Lego представляли собой наборы кубиков, которые требовали от детей фантазии и навыков, чтобы создать желаемое. Но сегодняшние наборы, ориентированные на готовую инструкцию, упрощают сборку. Аналогично, при использовании ИИ в программировании, многие разработчики, особенно начинающие, перестают развивать способность к критическому мышлению. Если решение "разрушится", они не всегда смогут восстановить его, так как привыкли к готовым шаблонам, предлагаемым ИИ.
Нейросети выполняют базовые функции, заменяя начальные этапы программирования, что, казалось бы, должно решить проблему дефицита кадров. Но на практике это не работает, особенно когда речь идет о сложных проектах. Нейросети пока не способны писать полноценные высокоуровневые системы, которые требуют глубокого понимания архитектуры и продвинутых знаний. Они выполняют лишь стандартные операции, которые обычно поручают младшим разработчикам, или "джунам". Однако таких специалистов на рынке сегодня достаточно, а вот высококлассных профессионалов, обладающих опытом и креативностью, по-прежнему не хватает.

К примеру, Google провела эксперимент, по итогам которого нейросеть ChatGPT продемонстрировала уровень начального программиста и могла бы претендовать на должность младшего разработчика. Однако это еще раз подчеркивает, что нейросеть не может заменить программистов высокого уровня, так как создание сложных решений по-прежнему требует человеческой интеллектуальной гибкости и опыта. Тем не менее, ИИ может снижать мотивацию молодых специалистов к освоению более сложных аспектов разработки, оставляя их на базовом уровне и, тем самым, ограничивая рост их компетенций.
Еще один важный аспект, ограничивающий применение искусственного интеллекта в разработке, — это невозможность возложить на него юридическую ответственность. ИИ является объектом права, а не субъектом, и, следовательно, не способен нести ответственность за принимаемые решения и их последствия. Более того, производители ИИ-систем, как правило, также не берут на себя ответственность за их применение.
Это подтверждается положениями пользовательских соглашений большинства ИИ-сервисов, где прямо указывается, что конечный пользователь несет ответственность за использование искусственного интеллекта. Похожая практика существует и в автомобильной индустрии, где автопилоты обязуют водителей контролировать процесс и вмешиваться в случае ошибок. В разработке программного обеспечения ситуация аналогична: ИИ-инструменты, такие как помощники по написанию кода, также далеки от совершенства, и их ошибки могут привести к неблагоприятным последствиям, за которые ответственность будет лежать на пользователе.
Кроме того, процесс взаимодействия с нейросетью часто остается непрозрачным. В отличие от живого разработчика, уровень компетенций которого можно оценить, работа ИИ-помощника скрыта за сложными алгоритмами. Пользователь не всегда понимает, как именно нейросеть обрабатывает данные, на какой базе была обучена и насколько безопасен ее код. Это создает дополнительные риски при использовании ИИ в производственных проектах и требует осторожного подхода.
В будущем, возможно, появятся более продвинутые модели, которые смогут не только разрабатывать, но и проверять код на уровне, приближенном к человеческому. Уже сейчас существует множество инструментов, способных тестировать код и указывать на ошибки, и такие системы постепенно зарекомендовали себя как полезные инструменты для начального уровня тестирования. Однако ожидания по поводу того, что ИИ сможет полностью заменить разработчиков, остаются нереалистичными.

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