Волна паники захлестнула IT-сообщество. Гуру из Кремниевой долины наперебой объявляют о «смерти программирования». Стартапы хвастаются ИИ-инженерами, которые пишут код лучше людей. Новостные ленты пестрят заголовками о массовых увольнениях разработчиков. На этом фоне мы решили поговорить с теми, кто каждый день работает с кодом, — практикующими разработчиками, техлидами и архитекторами. Их откровения удивили. Оказалось, что между громкими заявлениями и реальностью — пропасть. ИИ действительно умеет писать код, но есть нюансы, о которых молчат в корпоративных презентациях. Разбираемся, где искусственный интеллект незаменим, а где он беспомощен как первокурсник, и почему программисты не торопятся переквалифицироваться в курьеров.

Полную версию дискуссии, организованной нашей компанией Artezio, можно посмотреть на канале Ai4Dev на Youtube. А еще у нас появился Telegram-канал для разработчиков, которые используют ИИ. В нем уже почти четыре тысячи подписчиков и можно обмениваться мнениями и реальными кейсами.

Три ключевые проблемы LLM в программировании

Призывы к замене программистов звучат отовсюду. Сатья Наделла, глава Microsoft, заявляет, что уже сейчас до 30% кода компании генерирует ИИ, а Дженсен Хуанг из NVIDIA и вовсе считает, что детям больше не нужно учиться программированию. «Наша задача — создать такие компьютерные технологии, чтобы никому не пришлось программировать и чтобы языком программирования стал человеческий», — заявил Хуанг на Всемирном правительственном саммите.

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

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

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

Вторая серьезная проблема носит юридический характер. 

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

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

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

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

«Массивы данных для обучения ИИ по некоторым языкам программирования слишком скудны, чтобы он мог создавать на них полноценные проекты, — констатирует Николай Алешин, Golang-разработчик. — Возьмем, к примеру, Python: по нему накоплено огромное количество информации, и нейросеть обучена отлично. Но когда речь заходит о C# или других, менее распространенных технологиях, генерируемые ИИ примеры требуют значительной доработки».

Павел Карасев, в свою очередь, иллюстрирует проблему на конкретном примере: «Языки, слабо представленные в открытом доступе, действительно даются нейросетям с большим трудом. Казалось бы, что сложного в языке 1С? Однако на практике мы видим, что у больших языковых моделей (LLM) пока недостаточно компетенций для генерации корректного кода на 1С, который можно было бы без доработок интегрировать в проект».

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

Джуны под угрозой: кого ИИ заменит первым?

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

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

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

Владас Жиленас, технический директор компании ItFox, подтверждает эту тенденцию: «Безусловно, востребованность джунов в их классическом понимании снижается. ИИ отлично пишет код. По моему опыту, ему особенно хорошо удается создание небольших проектов с нуля. Модели вроде Sonnet прекрасно генерируют каркас приложения, описывают инструкции и формируют README-файлы».

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

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

Эту мысль развивает и Дмитрий Смирнов: «Джуны будут обязаны использовать ИИ-ассистентов, что, в свою очередь, будет повышать их собственный уровень. Это взаимосвязанный процесс. Само понятие "джуниор" кардинально изменится — тот, кого мы считали джуном два года назад, сегодня уже не будет соответствовать этому статусу. Требования к квалификации разработчиков всех уровней неизбежно возрастут».

«Эффект Excel» в программировании: как ИИ меняет правила игры

Николай Алешин, Golang разработчик, ШтрафовНет.ру, проводит интересную параллель с появлением массовых инструментов в прошлом, предлагая взглянуть на ситуацию через призму «эффекта Excel». «Вспомните, как появление Excel изменило подход к работе с данными, — говорит он.  — Люди получили возможность самостоятельно решать множество задач, для которых раньше приходилось нанимать отдельных специалистов или целые компании. Для проведения базовой аналитики и многих расчетов услуги бухгалтера перестали быть необходимостью».

Эта аналогия помогает понять суть происходящих изменений. Речь идет не просто о замене одного инструмента другим, а о фундаментальном сдвиге: меняется сам исполнитель задач. «То же самое мы наблюдаем сейчас с искусственным интеллектом, — заключает Николай Алешин. — Все больше людей получают возможность самостоятельно справляться с простыми задачами в программировании. Как следствие, спрос на разработчиков для выполнения базовых проектов будет неуклонно снижаться».

Новая планка для входа в профессию

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

«Одной из точек роста для современных разработчиков становится мультиязычность, — отмечает Дмитрий Смирнов.  — Языки программирования в целом похожи, и ИИ-системы действительно позволяют, например, специалисту со знанием Swift относительно быстро и эффективно освоить Kotlin».

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

Не замена, а трансформация

Каждый день появляются новые нейросетевые модели, а главы крупных компаний в Европе и США проводят сокращение под флагом LLM и оптимизации зарплатных фондов. На первый взгляд, у программистов есть все основания для паники. Однако эксперты в области разработки смотрят на ситуацию гораздо спокойнее, видя в происходящем не революционный переворот, а закономерный процесс.

«Искусственный интеллект не заменит программистов, он их изменит», — уверен Иван Кузьминов, техлид в Outlines Tech. Он подчеркивает, что, как и любой технологический прорыв, внедрение ИИ не происходит одномоментно. История доказывает, что новые мощные инструменты не уничтожают профессии, а трансформируют их. «Вспомните AutoCAD. Разве он заменил инженеров? Нет. Изменил их работу? Безусловно. Сегодня уже никто не чертит карандашом на ватмане. Тот же путь предстоит пройти и большим языковым моделям».

Эту точку зрения разделяет и Дмитрий Смирнов: «Полностью заменить разработчика в ближайшие 10 лет — задача практически невыполнимая. Всегда будет нужен человек, который проверяет результат, понимает контекст реального мира и держит руку на пульсе актуальных технологий».

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

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

Эта трансформация уже сегодня кардинально меняет требования к начинающим специалистам. Порог входа в профессию стремительно растет.

Идея автоматизировать написание кода и превратить программистов в проектировщиков не нова. Владас Жиленас проводит параллель с концепциями двадцатилетней давности: «Я помню, в начале 2000-х была очень популярна идея генерировать код из UML-диаграмм. Тогда говорили: “Давайте переквалифицируем программистов в архитекторов! Они будут рисовать красивые схемы, а машина — превращать их в код”».

Эта мечта, потерпевшая неудачу в прошлом, сегодня обретает второе дыхание, но уже в новой форме. «Сейчас наступает именно то, что предсказывали тогда, — отмечает Жиленас. — Мы описываем архитектуру и логику работы программы текстом, а код за нас пишет LLM. Мы снова возвращаемся к роли проектировщиков, но вместо диаграмм нашим инструментом становится язык».

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

Legacy против новых проектов: где ИИ всесилен, а где — бессилен

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

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

«ИИ уже сейчас замечательно пишет юнит-тесты и интеграционные тесты. Этим необходимо пользоваться, — отмечает Владас Жиленас. — Мы в компании все тесты пишем через ИИ-ассистентов вроде Cursor. Это невероятно удобно. Разработчики больше не тратят часы на скучную работу и могут сосредоточиться на интересных архитектурных задачах».

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

Совершенно иная картина складывается при работе с legacy-кодом. Здесь успехи ИИ куда скромнее, а риски — выше.

«Legacy-код — это настоящая боль, — делится опытом Владас Жиленас. — Мы в качестве эксперимента попробовали поручить LLM небольшой рефакторинг нашего старого Python-проекта и получили на выходе множество „костылей“ и неуклюжих решений. Без контроля со стороны опытного middle- или senior-разработчика такие задачи пока невыполнимы».

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

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

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

В итоге — код пишет машина, а решает человек?

Несмотря на громкие заявления, прогнозы о скором исчезновении профессии программиста можно пока смело считать преждевременными. Реальность, как всегда, сложнее заголовков: профессия разработчика не исчезает, а трансформируется. 

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

Комментарии (4)


  1. spirit1984
    08.07.2025 07:44

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

    Процитирую известную статью:

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

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

    Но пока что ИИ скорее здесь будет выступать в роли хорошего ассистента, т.е. когда программист видит фрагмент кода, от которого наливаются кровью глаза, он может выделить его и спросить у ИИ "Какого лешего?" а тот путем поиска по внутренним источникам компании ответить "Этот код был сделан в 2015 году, потому что вот поэтому, гляньте более детально сюда или спросите такого-то". Это тоже очень хорошее ускорение.


    1. gonzazoid
      08.07.2025 07:44

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

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


      1. gonzazoid
        08.07.2025 07:44

        Упс, не туда. Ответить надо было на уровень выше, сорян


  1. usiqwerty
    08.07.2025 07:44

    Вспомните AutoCAD. Разве он заменил инженеров? Нет. Изменил их работу? Безусловно. Сегодня уже никто не чертит карандашом на ватмане. Тот же путь предстоит пройти и большим языковым моделям

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