Разрабатывать нельзя вайбкодить!

Разрабатывать нельзя вайбкодить!

1. Введение: Парадигма новой разработки

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

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

2. История проекта: Двадцать лет за одну неделю

В основе проекта «Poliglot» лежит мечта, зародившаяся еще в студенческие годы, сразу после получения диплома Инженера. На протяжении 20 лет идея создания собственного компилируемого языка программирования оставалась нереализованной из-за колоссального объема рутинной работы, требующей глубоких знаний в области построения компиляторов, токенайзеров, парсеров и лексических анализаторов.

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

3. Эволюция подходов: От чата к системной инженерии

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

3.1. Простой диалог с чат-ботом

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

  • Плюсы: Этот метод идеален для быстрой проверки гипотез. Можно за секунды получить реализацию стандартной функции или простого скрипта.
  • Минусы: Полное отсутствие контекста. Нейросеть не помнит, что делала в предыдущем сообщении, быстро «забывает» общую архитектуру и начинает противоречить сама себе. Для проекта масштаба «Poliglot» этот метод оказался абсолютно нежизнеспособным, так как не обеспечивал целостности кодовой базы.

3.2. Вайбкодинг с использованием QWEN CLI

Следующим шагом стало использование специализированных CLI-инструментов (Command Line Interface), таких как QWEN, которые «видят» код всего проекта.

  • Плюсы: Итеративная разработка. ИИ мог вносить изменения в существующие файлы, сохраняя общую структуру.
  • Минусы: Потеря контекста при увеличении объема. ИИ начал «галлюцинировать», сбиваться с цели и самостоятельно придумывать себе задачи, особенно при активации режима «размышлений» (chain of thought). Разработчик тратил больше времени на возвращение ИИ в нужное русло, чем на проектирование

3.3. Гибридный подход: QWEN CLI + SDD (Specification-Driven Development)

Для решения проблемы потери фокуса была внедрена методология SDD. Цели, ценности продукта и технические спецификации хранились в отдельных текстовых файлах, на которые ИИ должен был постоянно ссылаться.

  • Плюсы: Появилась возможность формализовать требования и удерживать ИИ в рамках заданной логики.
  • Минусы: Критическая неэффективность. За 20 часов работы модель «съела» 50 миллионов токенов. Результатом стал 0% связного, готового к сборке кода. Постоянная перегрузка контекста (лимит в 256 тысяч токенов) приводила к тому, что ИИ начинал удалять ранее написанный рабочий код, пытаясь «освободить место» для новых инструкций.

3.4. Оптимальная связка: GigaCode (TDD) + QWEN CLI (SDD)

Успех пришел с разделением ролей. GigaCode использовался для TDD (Test-Driven Development), фокусируясь на конечном результате и покрытии кода тестами. QWEN CLI в связке с SDD отвечал за архитектурное планирование.

  • Плюсы: Фокус на результате. Человек (Продуктовый инженер) держит в голове глобальную цель, дробит её на атомарные задачи и проверяет гипотезы. После формирования стабильного ядра продукта, подключение SDD (OpenSpec) позволило модели работать эффективно. Потребление токенов снизилось с 50 млн до адекватных 5–10 млн, а результат стал предсказуемым и рабочим

4. Реальность разработки: Миф об автономности

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

4.1. Ожидания vs Реальность

Как я думал, будет проходить работа:

Разрабатывать нельзя вайбкодить!

Я формулирую цель, ИИ в SDD формирует список задач и начинает выполнять их, пока я занимаюсь своими делами, лишь изредка поглядывая на прогресс.

4.2. Как выглядит работа на самом деле

Как выглядит работа программиста при работе с ИИ:

Разрабатывать нельзя вайбкодить!

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

Это не пассивное наблюдение, а активный, изматывающий процесс управления сложной, но непредсказуемой системой.

5. Результаты проекта «Poliglot»

Несмотря на все трудности, итог превзошел ожидания. Проект трансформировался в процессе разработки.

5.1. Что получилось

«Poliglot» — это не просто очередной язык. Это большой «трансформер», способный переводить код с одного языка на другой. Он поддерживает трансляцию из JavaScript, PHP, Java, SQL, Python в TypeScript, AssemblyScript и далее WASM (WebAssembly).
Ключевая особенность: разработчик может начать писать на привычном языке, использовать возможности другого языка внутри одного файла, и на выходе получить код, который бесшовно выполняется как на сервере, так и на клиенте (в браузере). Это решает проблему полиглотизма в командах разработки и легаси-системах.

Примечание: Технические детали реализации транслятора не являются основной темой данной статьи и будут опубликованы в рамках другой статьи.

5.2. Польза для бизнеса

Реализация «Poliglot» стала катализатором для решения более масштабной задачи в рамках ИИ-инициативы другого продукта, в банке где я работаю, — платформы «СРЕДА». Опыт создания транслятора позволил приступить к разработке «ИИ Продуктового Инженера». Это система, в которой на естественном языке можно описать бизнес-проблему или методологию компании. ИИ, используя набор из более чем 600 готовых модулей, собирает готовый продукт: Backend, Frontend и кастомные доработки. При наличии в компании живых разработчиков, ИИ подготавливает для них точную базу для дальнейших улучшений под нужды бизнеса.

6. Личный опыт и экзистенциальные сомнения

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

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

7. Выводы

На основе опыта разработки «Poliglot» и анализа текущего состояния рынка ИИ, можно сформулировать следующие выводы:

  1. Скорость против качества. ИИ сделает это быстрее, чем человек, но результат будет «топорным». Нейросеть отлично справляется с паттернами, но пасует перед уникальными бизнес-нюансами и сложной логикой.
  2. Роль MVP. ИИ идеально генерирует MVP (Minimum Viable Product). Он не способен сгенерировать идеально готовый, поддерживаемый и безопасный продукт с учетом всех долгосрочных бизнес-особенностей.
  3. "Восхождение Продуктового инженера". Если вы хотите от ИИ не просто прототипа, а готового продуктового решения, необходимо инвестировать в роль Продуктового инженера. Это не классический программист. Это специалист с сильными аналитическими способностями, который должен: Задавать правильные вопросы.Анализировать бизнес-процессы.Структурировать проблему.Декомпозировать её для ИИ.Понимать языки программирования, чтобы безошибочно верифицировать работу нейросети и исправлять её критические ошибки

Запятая в названии «Разрабатывать нельзя вайбкодить!» смещается. Мы не отказываемся от разработки, но мы больше не можем игнорировать вайбкодинг. Будущее за симбиозом человеческого системного мышления и машинной скорости исполнения.

Список литературы по теме: