Автор: Михаил Соломонов
В последние несколько месяцев еженедельно к нам в компанию приходят заказчики примерно с одним и тем же запросом: «Мы тут изучили ИИ, кое-что навайбкодили, нам очень понравился результат, теперь вам нужно слегка подрихтовать это, чтобы через две-четыре-восемь недель мы смогли это выпустить в продакшен на внешнюю аудиторию». Каждый раз, заглянув внутрь этого «уже почти готового», мы испытываем удивление от того, что это всерьёз считают чем-то близким к продукту.
Удивление это не про техническое качество кода — про него потом. Удивление про то, насколько быстро в массовом сознании произошла подмена понятий: «я смог что-то получить с помощью ИИ» приравнивается к «я создал работающий продукт». А между этими двумя точками — пропасть, которую почему-то перестали замечать.
Я долго думал, как объяснить эту разницу так, чтобы было понятно и руководителю, который увидел в ИИ серебряную пулю и теперь хочет распустить отдел разработки, и предпринимателю, который прочитал в телеграм-канале, что «теперь можно собрать стартап в одиночку за выходные», и тому самому энтузиасту, который рассказывает, что искусственный интеллект сделает за него всё. И в дискуссии со своем другом и партнером, кажется, нашёл аналогию, которая работает на всех уровнях. Это строительство.
Шалаш в лесу, или одностраничный сайт
Практически любой абсолютно неквалифицированный человек сегодня может построить шалаш. Особенно если рядом валяются подходящие палки, ветки и обрывок брезента. Никаких знаний по сопромату, СНиПам и теплотехнике для этого не требуется — нужно желание, час времени и минимум здравого смысла. Ровно так же сегодня практически любой человек может с помощью ИИ сделать одностраничный сайт или маленькое приложение «для себя». Описал словами, что хочешь, получил код, скопировал, запустил.
Но даже здесь начинаются нюансы. Построить шалаш в середине дикого леса, имея при себе только нож и ножовку — уже сможет не каждый. Найти подходящие деревья, понять, какие ветки несущие, а какие декоративные, не построить это всё на муравейнике или в низине, которую затопит первым же дождём — это уже навык. А еще найдутся те, кто в процессе себя поранит так, что шалаш станет не нужен. Точно так же не каждый, кто получил от ИИ код одностраничника, разберётся, как купить доменное имя, настроить DNS, понять разницу между A-записью и CNAME, прикрутить SSL-сертификат и сделать так, чтобы это всё реально открывалось у других людей, а не только на его ноутбуке.
Разумеется, есть Wix, Tilda и десятки аналогов — это как готовая палатка, которую можно купить в спортивном магазине и просто развернуть на поляне. Но эти инструменты прекрасно работали и до ИИ, и продолжат работать после. Их существование — не аргумент в пользу того, что ИИ перевернул индустрию. Это аргумент в пользу того, что для простых задач давно существуют простые решения.
На этом уровне ИИ — действительно отличный инструмент. Он экономит время, снижает порог входа, делает доступными мелкие задачи, на которые раньше пришлось бы тратить вечер с гуглом. Тут возразить нечего. Проблемы начинаются, когда люди экстраполируют этот опыт на следующий уровень.
Частный дом, или софт для своих
Дальше усложняем задачу. Построить небольшой частный дом — пусть даже двухэтажный, с подвалом и мансардой — неквалифицированный в целом человек тоже в состоянии. Я знаю несколько таких историй лично, включая себя и своего отца. Человек изучает основы со своим уровнем дотошности, рисует планы дома, а дальше что-то строит сам, а для чего-то нанимает бригады по каждому профилю: землеустройство, фундамент, кладка стен, кровля, инженерные коммуникации, отделка. Всё зависит от наличия средств и умений. Если всё на бригадах, то человек не строит сам — он управляет процессом и принимает решения.
И тут начинаются первые серьёзные сходства с разработкой софта посложнее. Бригады, как и ИИ-модели, периодически галлюцинируют («мы так всегда делаем, всё нормально будет»), воруют время и материалы, бывает пропадают на неделю в самый ответственный момент или делают не то, что было нужно. Заказчик быстро обнаруживает, что без минимального понимания, как устроен фундамент, он не сможет проверить, нормально ли его залили. Без понимания, что такое пирог стены, его уговорят сэкономить на утеплителе и через три года он будет отапливать улицу. Не зная, как должен быть устроен узел примыкания крыши к стене, он получит протечку в следующую весну.
Точно так же и с софтом среднего уровня сложности — для семьи, для коллег, для маленького внутреннего бизнес-процесса. Можно начать без понимания и разобраться по ходу дела. Можно с помощью ИИ накидать прототип, потом ещё один, потом склеить их между собой. Получится. Но в процессе придётся очень быстро освоить кучу новых для себя областей: что такое база данных и почему её нельзя класть в ту же папку, что и код; что такое аутентификация и чем она отличается от авторизации; почему пароли нельзя хранить в открытом виде; что такое бэкап и почему он нужен не «когда-нибудь потом», а сразу. А может повезти и человек всего этого не узнает, потому что результат его будет устраивать до поры до времени, пока не нарисуются проблемы безопасности, совместимости или необходимость развития без потери старых данных.
ИИ помогает в каждой из этих задач — но он не подсказывает, что эти задачи существуют. Он отвечает на вопросы, которые ему задают. А чтобы задать правильный вопрос, нужно знать о существовании проблемы. Бригада фундаментщиков не предложит вам гидроизоляцию, если вы про неё не спросили. И если вы про неё не знаете, потому что никогда не строили — вы и не спросите.
Лучше всего этот перелом характеризует знаменитая философско-политическая цитата, описывающая типы рисков и знаний:
есть известные известные — вещи, о которых мы знаем, что знаем их. Есть также известные неизвестные — вещи, о которых мы знаем, что не знаем. Но еще есть неизвестные неизвестные — это вещи, о которых мы не знаем, что не знаем их.
На этом уровне результат уже зависит от того, насколько быстро человек учится, насколько он критичен к получаемым ответам и насколько готов признавать, что чего-то не знает. Самостоятельно сделать что-то рабочее — реально. Но это не «ИИ всё сделал за меня», это «я сделал, активно используя ИИ, и потратил на это сильно больше сил, чем рассчитывал в начале».
📊 Полная таблица доступна на сайте
Главная ловушка вайбкодинга живёт в правом нижнем углу. ИИ блестяще закрывает жёлтую ячейку — отвечает на любой заданный вопрос. Но он не подсвечивает красную: не предупреждает о проблемах, про существование которых вы не подозреваете. Бригада фундаментщиков не предложит вам гидроизоляцию, если вы про неё не спросили. А чтобы спросить — нужно знать, что она бывает, а чтобы поспорить, нужно еще и изучить вопрос.
Два дома, или софт с персональными данными и эквайрингом
Идём дальше. Представим, что человек решил построить уже не один дом для себя, а сразу два: один себе, второй на продажу — чтобы окупить строительство. И вот тут планка резко взлетает. Свой дом можно построить с косяками, к которым потом привыкнешь и обживёшься или исправишь по ходу житья. Дом на продажу будут смотреть критически: каждый потенциальный покупатель приведёт знакомого прораба, попросит документы, потребует акты на скрытые работы, проверит, есть ли разрешение на ввод в эксплуатацию, посмотрит, как стыкуется подоконник с откосом.
Аналог в софте — продукт, который вы делаете уже не только для себя. Он ещё не корпоративный, без жёсткой безопасности и сложных интеграций, но в нём уже есть персональные данные пользователей, онлайн-касса, эквайринг, возможно — медицинские или финансовые данные. Система становится жизненно важной для какого-то небольшого, но реального жизненного процесса. Где-то лежат деньги. Где-то лежат документы людей. Где-то можно получить штраф от Роскомнадзора. Где-то клиент потеряет доверие, если что-то отвалится в неподходящий момент.
И вот здесь начинается самое интересное в случаях, которые приходят к нам с запросом «слегка подрихтовать». Навайбкоженный код в большинстве случаев работает на демо. Он показывает картинку. Он даже умеет принимать платежи. Но при ближайшем рассмотрении мы стабильно находим примерно один и тот же набор. Я свёл верхушку айсберга списка проблем в таблицу, потому что эта часть статьи — самая, на мой взгляд, болезненная и узнаваемая.
Изображенные на картинке строительные проблемы увидит неквалифицированный пользователь, если будет смотреть. Аналогичные проблемы в написанном ИИ софте - не увидит.
📊 Полная таблица доступна на сайте
Это не злая карикатура. Это практически типовой набор того, что мы видим, когда нас зовут «помочь довести продукт до релиза». И вот в этой точке возникает развилка, в которой обычно происходит конфликт. Заказчик считает, что 80% работы сделано — ведь оно же запускается, нажимаются кнопки, проходят платежи. Профессионал видит, что сделано, может быть, 5% — потому что переделывать придётся фундамент, гидроизоляцию, проводку и кровлю. Снаружи похоже на дом, изнутри — это шалаш с натянутым на него фасадом из сайдинга.
И виноват тут не ИИ. ИИ честно сделал то, что у него попросили — «сайт с приёмом платежей». Он не виноват, что у него не спросили про параллельную многопоточную работу, про PCI DSS, про шифрование данных, про политику ротации ключей и про процесс реагирования на инциденты безопасности. Эти вопросы должен задать человек, который знает, что они существуют.
Многоквартирный дом, или корпоративный B2B
Не будем уходить в небоскрёбы, мосты и атомные станции — это отдельная вселенная и тут аналогия совсем запредельная выйдет. Возьмём задачу попроще: построить один многоквартирный дом. Не башню, не комплекс — обычную пятиэтажку. На стороне софта аналог — корпоративное B2B-приложение, которое будут использовать в средней компании.
И здесь мы окончательно покидаем мир, в котором энтузиаст с ИИ может что-то сделать сам.
В строительстве многоквартирного дома появляется проектная документация, проходящая экспертизу. Геологические изыскания. Расчёт несущих конструкций по СП и ГОСТам. Согласование с десятком инстанций — от управления архитектуры до МЧС. Технадзор. Авторский надзор. Скрытые работы с актами. Журнал производства работ. Гарантийные обязательства застройщика на годы вперёд. Ответственность главного инженера проекта — личная, уголовная, не отделимая от его подписи в документах.
В корпоративном B2B-софте появляется ровно тот же ландшафт, только в своих терминах. Информационная безопасность с реальными требованиями, а не «мы тут пароли хешируем». Интеграции с десятком смежных систем, у каждой из которых своя логика, свои сбои и свой график регламентных работ. Управление изменениями — потому что выкатить апдейт, который сломает работу пятисот сотрудников заказчика, стоит дороже, чем весь ваш контракт. Аудит действий пользователей. Соответствие отраслевым стандартам — финансовым, медицинским, государственным, в зависимости от сферы. SLA с реальными штрафами за простой. Резервирование, отказоустойчивость, план восстановления после сбоя. И, главное — ответственность подрядчика по договору, в котором цифры с шестью нулями.
И никакой ИИ образца сегодняшнего дня этот объём не закрывает. Не потому что он «плохой» — он отличный инструмент в руках профессионалов, и мы его сами активно используем. А потому что эту работу нельзя сделать без многолетнего опыта в каждом из доменов. Архитектор, знающий, как разнести подсистемы, чтобы они выдерживали нагрузку и не падали друг от друга. Безопасник, который заранее видит, в каком месте через два года кто-то проэксплуатирует уязвимость. Аналитик, умеющий разговаривать с заказчиком и переводить «нам нужна кнопка» в десятистраничное ТЗ. Архитектор, который держит в голове всю систему целиком. Тестировщики, понимающие, что сломать продукт — это профессия, а не помеха разработке.
Эти люди не «пишут код, который мог бы написать ИИ». Они принимают решения, которых ИИ принять не может — потому что у него нет ни ответственности, ни опыта работы именно с этим заказчиком, ни знания, что в прошлом году аналогичная компания обожглась ровно на такой же интеграции. Эти решения — и есть продукт.
Карта четырёх уровней
Ниже свёл четыре уровня сложности в одну таблицу — и в строительстве, и в разработке.
📊 Полная таблица доступна на сайте
Как меняется вклад ИИ и профессионала с ростом сложности
Если попытаться нарисовать всё вышесказанное одним графиком, получается следующая картинка.
Этот график — главный вывод статьи в одной схеме. ИИ не уменьшает потребность в профессионалах — он смещает её вправо по шкале сложности. На простых задачах профессионалы стали почти не нужны. На сложных — их роль выросла, потому что теперь именно они отвечают за то, чтобы навайбкоженный фасад не рухнул вместе с людьми внутри.
Что со всем этим делать
Аналогия со строительством хороша тем, что в строительстве никому не приходит в голову сказать: «Я тут построил себе беседку на даче, а теперь возьмусь за ЖК на 200 квартир — у меня же получилось с беседкой». Все понимают, что это разные миры. А в софте почему-то этот переход выглядит для непосвящённого как продолжение того же занятия — «ну я же написал страничку, теперь напишу систему».
Из этого получаются три практических вывода — для трёх разных ролей.
Если вы предприниматель и думаете, как использовать ИИ в своём бизнесе — используйте. Серьёзно. Для прототипов, для проверки гипотез, для внутренних маленьких автоматизаций, для одноразовых скриптов, для сайта-визитки — это сегодня лучший инструмент в истории. Сэкономите кучу денег и времени. Но в момент, когда продукт перестаёт быть «для себя» и начинает касаться чужих денег, чужих данных или чужого бизнеса — остановитесь. Проведите ту же ревизию, какую вы провели бы перед сдачей дома в эксплуатацию. И зовите профессионалов.
Если вы руководитель, увидевший в ИИ серебряную пулю и думающий, что разработчики теперь не очень-то и нужны — поинтересуйтесь у своих специалистов по ИБ, что они думают про вайб-кодинг в корпоративном контуре. Поговорите с архитектором о том, какие решения сейчас принимаются в системе, которую вы собираетесь упразднить. Серебряная пуля в этой истории есть, но стреляет она не в ту мишень, в которую вам кажется. Она убивает не зарплатный фонд разработки, а скорость выпуска прототипов и порог входа в эксперименты. Это много, это здорово, но это не то же самое.
Если вы и есть тот самый энтузиаст, который рассказывает, что ИИ за него всё сделает — прекрасно, продолжайте. Это полезный навык, и через несколько лет таких людей будет большинство. Но когда вы собираетесь брать с реальных людей реальные деньги или работать с их данными — отнеситесь к этому как к строительству дома, в котором будут жить семьи. Не как к шалашу, в котором вы переночевали в походе.
ИИ не отменил профессию разработчика. Он отменил профессию человека, который писал лендинги по шаблону за три копейки. Это разные вещи. И путать одно с другим — примерно как считать, что если на стройке появился экскаватор, то теперь любой школьник может построить станцию метро. Экскаватор — отличная штука. Но станцию метро строят люди, которые знают, в каком месте копать нельзя.