Возможно, вы помните старый-добрый мем про кнопку «Сделать красиво» в Photoshop — лет 10-15 в интернете шутили, что в приложении есть некая магическая кнопка, после нажатия на которую софт сам всё сделает вместо дизайнера/фотографа. Сейчас этой «кнопкой» в программировании выступает искусственный интеллект.
Существует даже мнение, что ИИ существенно ускоряет процесс разработки, так как алгоритмы способны генерировать гораздо больше кода, чем человек-программист. Но, к сожалению, сгенерировать тонну строк — не всегда значит ускорить релиз сервиса, приложения или функции, поскольку на деле всё гораздо сложнее. И сейчас я объясню почему.
Писать код теперь может любой — буквально
Пожалуй, я не открою вам секрет, если скажу, что ИИ-технологии и сам механизм вайб-кодинга существенно снизили порог входа в разработку. Если раньше, в эпоху до чат-ботов, человеку, желающему написать что-то вразумительное в редакторе кода, нужно было читать довольно толстые книги, много экспериментировать, пылесосить Stack Overflow в поисках похожих ошибок и их решений, листать тематические статьи на «Хабре», проходить онлайн-курсы (чаще всего — за деньги) и очень много гуглить, то сейчас достаточно открыть Claude, написать текстовую команду понятным языком и… немного подождать.
Дабы не быть голословным, я открыл чат с Claude, попросил его написать мне «калькулятор на js, html и css», а через 47 секунд у меня был готовый файл с полностью работающим в вебе приложением. Безусловно, это далеко не самая сложная в мире программирования задача, а html и css вовсе не языки программирования, но около четырёх лет назад я проходил курсы по JavaScript, где задача написать свой калькулятор на JS была выпускной работой, на которую после 90 часов обучения давали семь дней. Сейчас с чат-ботом эту же задачу я, человек без реального опыта разработки, решил менее чем за минуту.
Кроме того, мой знакомый, который уже довольно долго работает в мире фронтенд-разработки, буквально недавно в личной беседе заявил, что сейчас человек, знающий английский на уровне B1 (немного выше среднего) с платной подпиской на Claude может выполнять задачи, которые пять-восемь лет назад были доступны на уровне мидл-разработчика или даже выше. Кроме того, ИИ помогает разработчикам, которые имеют за плечами большой опыт и фундаментальные знания в программировании, делать свою работу быстрее и, что самое важное для работодателя, в гораздо больших объёмах.
Ведь если раньше человеку-разработчику приходилось сидеть и нажимать на кнопки самостоятельно, думая и анализируя ситуацию, то сейчас IDE способны подсказывать продолжение переменных и функций, а редакторы кода вовсе могут предугадывать целые куски кода. Или же в VS Code можно просто подключить GitHub Copilot, написать в отдельном окошке то, что нужно сделать, и система сама всё сгенерирует и напишет — разработчику нужно лишь посмотреть на результат, принять правки и переходить к следующей задаче.
В результате в определённых сферах разработчикам удаётся за тот же рабочий день продолжительностью 8 часов (с учётом часа на обед) генерировать на 200% больше кода, чем во времена до искусственного интеллекта. Даже в сферах с довольно трудными в общем понимании языками программирования прирост производительности на человека местами возрастает в два раза.
Соответственно, пользователей, которые способны посредством ИИ писать относительно сносный код, стало очень много, но, что довольно интересно, количество вакансий в сфере программирования при этом постоянно снижается — просто колоссальными темпами. Для наглядности предлагаю изучить этот график, опубликованный специалистами из Federal Reserve Economic Data (база данных экономической статистики США).
Сразу уточню, что на графике указано не количество открытых на рынке труда вакансий, а изменение от базового уровня. Во FRED зафиксировали «базу» в августе 2020 года, установив, что количество вакансий на рынке труда (серый цвет) и количество вакансий в секторе Software Development (синий) составляет 100 пунктов, а дальнейшее движение графика указывает на изменения в ту или иную сторону от этой базы. Например, в начале 2022 года общее количество открытых вакансий на рынке труда США увеличилось на 60% — соответственно, график поднялся до 160 пунктов. А вот количество вакансий в сегменте Software Development возросло в два раза — из-за этого график улетел почти до 240 пунктов.
Но начиная с августа 2022 года компании опомнились от шока и сократили найм в разы: график резко пошёл вниз и на данный момент находится на уровне 60-70 базовых пунктов, то есть предложение по сравнению с 2020 годом ниже на 30-40%. И это с учётом того, что за шесть лет интернет сильно развился, появилось море новых сервисов, платформ и веб-сайтов. При этом общее количество вакансий на рынке труда находится на уровне 120 базовых пунктов — это +20% от того, что было шесть лет назад.
Написать код — не значит выпустить его в релиз
Для того, чтобы разобраться в сложившейся на рынке программирования ситуации, нужно для начала разобраться в том, как собственно код, написанный человеком или искусственным интеллектом в редакторе, попадает в конечный продукт. Начать стоит с того, что после обсуждения идеи (например о том, как улучшить какую-то функцию сайта, дать пользователям приложения больше возможностей или оптимизировать сервис для более быстрой обратной связи) специалист-человек берёт в свои руки ИИ-инструменты и отправляется выполнять поставленную задачу.
Но когда код написан, его, естественно, сразу в продакшн никто не отправляет (хотя в сети и существуют шутки в духе «ляп-ляп и в продакшн», на самом деле так почти никто не поступает) — сначала строчки, составленные человеком и алгоритмами в коллегиальном формате, должны пройти процесс код-ревью. Это механизм, когда написанный программный код отсматривает человек более высокой квалификации, чем тот, кто его писал — соответственно, он может увидеть ошибки, устаревшие паттерны, слишком сложные конструкции и так далее. Данный этап невероятно важен, так как именно на нём зачастую выявляются серьёзные баги и недоработки кода.
И из-за того, что на текущий момент процессом ревью-кода заведуют специалисты-люди (об этом я поговорю детальнее в следующем пункте), они банально не справляются с поставленной задачей. Разработчики выкатывают тонны сгенерированного искусственным интеллектом кода, которые нужно посмотреть, отфильтровать, отправить на рефакторинг или доработку, увидеть ключевые баги и завернуть строчки назад на полную переработку. Естественно, это создаёт огромную нагрузку на разработчиков высокого звена, которые не справляются с потоком ИИ-кода — из-за этого возникает всё больше ошибок, сбоев (даже в крупных сервисах) и иных видов проблем.
Но и после ревью-кода написанный искусственным интеллектом кусок кода в релиз не отправляют — сначала нужно интегрировать его в версию продукта для разработчиков, провести детальное тестирование, выявить баги и отсортировать их по значимости, пофиксить самые основные проблемы, а только потом отправлять в релиз. То есть, как вы уже догадались, сгенерировать код — даже не половина общей работы, так как на остальных этапах разработки без человека пока что точно не обойтись, слишком уж много направлений, где ИИ может очень сильно напортачить.
ИИ теперь проверяет ИИ на ошибки
Изначально идея использования искусственного интеллекта для написания кода заключалась в том, чтобы освободить программистов от рутинных задач в пользу творческих процессов, генерации интересных идей и выпуска продукта быстрее, чем обычно. Но на деле всё получилось немного иначе — уже сейчас крупные компании говорят о том, что их разработчики не справляются с потоком сгенерированного кода, а в социальных сетях часто можно встретить посты о выгорании. И чтобы исправить ситуацию, компания Anthropic недавно представила новый инструмент под названием Code Review.
Собственно, догадаться о функциях данного инструмента нетрудно уже по названию — новая ИИ-система будет получать код (обычно сгенерированный ИИ), после чего алгоритмы будут анализировать его на наличие ошибок, возможных багов, указывать на возможные места, где рефакторинг кода может улучшить работу сервиса, и всё в таком духе. То есть эта система будет делать то, чем ранее занимались разработчики высокого класса в крупных компаниях — отсматривать код, написанный программистами попроще. И «на бумаге» это звучит действительно круто — уж теперь-то разработчики точно освободятся и смогут творить что-то невероятное, генерировать классные идеи и воплощать их в жизнь.
Но, конечно, есть одно «но» — Code Review является невероятно дорогой системой. Исходя из официальной информации и данных в сети, стоимость проверки одного Pull Request («запрос на слияние» — предложение на изменение в коде в ветке продукта) на текущий момент составляет в среднем 15-25 долларов. В отрыве от реальных сценариев может показаться, что это не очень большая сумма, но, к счастью, в сети уже нашлись энтузиасты, которые масштабировали эту стоимость на крупную компанию. Давайте представим, что в компании работает 100 разработчиков — это относительно небольшое предприятие, некая среднестатистическая студия.
Каждый из разработчиков этой студии отправляет один Pull Request за рабочий день — это 500 Pull Request в неделю или около 2000 Pull Request в месяц. При средней цене проверки этого запроса в системе Code Review на уровне 20 долларов, получается, за работу ИИ-системы компании придётся отдавать минимум 40 тысяч долларов в месяц или 480 тысяч долларов в год. Вероятно, в США, где студенты колледжа после выпуска получают от крупных компаний офферы на 200 тысяч долларов в год, это не космические цифры, но во всём остальном мире за 480 тысяч долларов в год можно нанять 5-10 разработчиков-людей с очень высокой квалификацией, которые справятся с код-ревью даже лучше, чем ИИ-система.
Кроме того, даже если компания всё же решила передать всю разработку в руки ИИ, подготовив полмиллиона долларов в год, обойтись только алгоритмами она всё равно не сможет, так как код после ревью в Code Review всё равно нужно посмотреть человеку. Да, несмотря на высокую цену, инструмент Code Review всё равно не застрахован от ошибок, даже достаточно глупых, плюс ИИ-система всегда может что-то упустить, что человек заметит. То есть на вершине всей этой цепочки всё равно останется человек, даже если алгоритмы будут становиться лучше и лучше.
Вайб-кодинг — настоящее и будущее
Можно с абсолютной уверенностью сказать, что вайб-кодинг в обозримом будущем никуда уже не денется — это новая реальность мира разработки, отказаться от которой уже не получится. Крупные и не очень компании привыкли к возможности генерировать огромные объёмы кода — откатиться назад к прежнему уровню уже не представляется возможным.
Кроме того, в ближайшее время, судя по трендам в мире ИИ и тому, как развиваются агентские функции, разработчиком будет уже не тот человек, который непосредственно пишет код, а затем имплементирует его в конечный продукт, а тот, кто проверяет этот код за ИИ, отслеживая возможные ошибки, сбои и неточности.




