В бигтехе, где я работаю, департаментов много. Прям, я бы сказал, до#уя. И зоны ответственности этих департаментов иногда совершенно неочевидны. Настолько, что в какой-то момент даже старожилы начинают сомневаться:
«А вот эту кнопку должны делать те, кто занимается красными кнопками? Или это уже достаточно светлая, чтобы отнести к специалистам по розовым?».
Куда идти с конкретной задачей? Кто ответственный? Да, есть база знаний, но переварить ее, и тем более запомнить все - задача очень непростая. А для новичка, который только что перешел к нам из небольшого стартапа - так вообще невыполнимая.
Именно такой новичок как раз недавно появился в нашем департе. Толковый, бодрый, с горящими глазами и желанием “починить” все процессы. Но услышав как скрипят шестеренки в его голове, пытающейся переварить весь этот объем данных, я подумал, что вместо того чтобы отправлять его стучаться во все чаты и получать оттуда редиректы, надо попробовать пойти другим путем.
Идея: «Симулятор ПМа»
Так родилась идея игры «Симулятор ПМа» - простого тренажёра, где игроку нужно на время распределять задачи по департаментам компании, ориентируясь на краткое описание задачи.
Механика простая и знакомая каждому ПМу:
есть таска от бизнеса
есть несколько департаментов
задачу нужно отнести в правильный департ
время на перенос зависит от приоритета таски
Звучит просто? Конечно!
Особенно если желание собрать такую игру совпало с желанием попробовать наконец-то этот ваш вайбкодинг.
Итерация №1. «Cursor, сделай игру»
Как и положено человеку, вдохновлённому AI-революцией начинающему вайбкодеру, я начал с максимально наивного промпта:
Ну и список департаментов еще дописал.
10 минут размышлений Курсора, и вот, он сообщает, что игра готова и можно запускать. Что? Серьезно? Это все? Вот так теперь выглядит разработка продукта? В общем, полнейший шок от чуда технологий.
Игра запускалась, и даже карточки можно было таскать.
Конечно же были и “но”:
интерфейс в стиле «детская браузерная игра 2000 года»
задачи, вообще не имеющие ничего общего с реальной работой компании
названия департов, захардкоженные наглухо в код (причем я так даже и не смог найти, откуда они тянутся)
лидерборд… отсутствует (да и имя игрока тоже)
ах да, баллы тоже не начисляются
соревноваться с коллегами нельзя - всё хранится локально
карточку можно перетаскивать только за текст (попал - молодец, не попал - страдай).
Формально - всё логично. Я не попросил - мне не сделали.
В попытках все исправить, я вводил все новые и новые запросы ИИшке, а Cursor старательно размышлял и что-то правил. При этом любая правка превращалась в:
новый деплой
пачку неожиданных багов
новые внезапные элементы верстки, которые появлялись не потому что я просил, а просто потому что Cursor захотел их добавить
После нескольких итераций я получил идеальный результат - полностью неработоспособную игру. Видимо число фич, которые теперь были вкостылены в код, который их изначально не предполагал, превысило критическое значение, и архитектура окончательно рассыпалась.
Итерация №2. «Ладно, давай как взрослые»
Набив все возможные шишки, я сделал то, что разрабы обычно просят сделать сразу - написал нормальное ТЗ.
Для начала я попросил уже ChatGPT (ну не самому же расписывать такое в 2026-м), чтобы он написал подробное ТЗ для Курсора, которое бы учло что:
департаменты и названия задач тянем из отдельных таблиц Supabase (чтобы не деплоить по всякой фигне)
туда же складываем результаты игроков, формируя лидерборд
игровые настройки (уровни, баллы, тайминги) берем из отдельного конфига
иконки департаментов и аватарки авторов задач теперь не рандом от Курсора, а ассеты из облачного S3-хранилища Supabase
визуал отрисовываем в стиле корпоративного таск-трекера
карточку можно тянуть за любую её часть
обязательный запрос имени игрока + возможность его редактирования
и еще штук 25 прочих мелочей, которые вылезли в первой итерации
Думающий ChatGPT венулся с большим документом, где расписал все до мелочей. Я внес минимальные правки и скормил это снова в Курсор.
Мэджик! С первого промпта в Cursor я получил результат, который:
выглядел как корпоративный инструмент
работал стабильно
позволял настраивать параметры игры без повторного деплоя
не разваливался при первой же правке
и вообще… соответствовал ТЗ и выполнял свою задачу (нифигасе)
Заливаю это все на Cloudflare Pages и вуаля, тренажер по департам готов.
Рассуждения про ИИ и суровую реальность
К чему я вообще написал эту статью? Совсем не для того, чтобы рассказать как я попробовал вайбкодинг, а чтобы поделиться парой мыслей, возникших в процессе. Вот первая из них:
ИИ не сможет полностью заменить разработчиков до того момента, пока заказчики не научатся писать нормальные ТЗ.
И проблема совсем не в том, что ИИ тупой.
Проблема в том, что:
«сделай игру» - это не требование,
«примерно как Jira, только проще» - это не спецификация,
«давай сначала сделаем, а потом разберёмся» - это путь в пропасть с костылями.
ИИ просто очень честно отражает качество входных данных.
Казалось бы, следующий очевидный вывод: “Пишите хреновое ТЗ, сохраните работу людям”. Но нет, есть другой.
Главный вывод
В процессе создания тренажёра для ПМа я понял, что вайбкодинг сам по себе - это и есть лучший тренажёр для ПМа.
Он идеально имитирует работу команды разработки и дает возможность быстро и дешево понять как качество постановки задачи влияет на результат:
плохое ТЗ - кривой результат с костылями
мутные требования - баги, «странное поведение» и внезапные элементы в верстке
чётко прописанное ТЗ - внятный результат уже в первой итерации
Так что если вы хотите прокачать себя как проджекта - попробуйте не только читать книжки и проводить митинги, а один раз собрать что-нибудь работающее с помощью ИИ.