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

Им предлагалось выполнить короткое упражнение с относительно новой асинхронной библиотекой Python Trio для проверки концепций, выходящих за рамки простого владения Python. Одной половине группы при этом рекомендовали применять искусственный интеллект, а другой отказали в его использовании. Разработчики были знакомы как с Python, так и с ИИ-ассистентами, но никогда не имели дел с библиотекой Trio.

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

Эксперимент продолжался в течение 70 минут: 10 из них выделялось на знакомство с инструментом, 35 – на написание двух функций с помощью Trio и 25 – на отладку и тестирование.

Участники, получившие доступ к инструментам искусственного интеллекта, оценивались в зависимости от уровня и методов его использования. Набравшие менее 40% баллов доверили ИИ выполнение большинства операций и были разбиты на три категории.

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

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

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

Среди тех, кто набрал 65% баллов и более, также были выделены три группы.

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

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

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

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

Чтобы этого не произошло, исследователи советуют продолжать учиться в процессе работы. У крупнейших поставщиков LLM имеются в том числе и обучающие среды: режимы Claude Code Learning and Explanatory у Anthropic и ChatGPT Study Mode у OpenAI. Чтобы избежать утраты навыков, рекомендуется придерживаться ряда принципов.

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

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

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

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

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