Термин vibe coding появился в феврале 2025 года — его ввёл Андрей Карпати, один из основателей OpenAI. Суть подхода: код создаётся через естественный язык, быстрые итерации и работу «по ощущению», без глубокого погружения в синтаксис и архитектуру. Карпати оговорился, что метод подходит для небольших, условно «выходных» проектов и не является заменой профессиональной разработке. Вторую часть тезиса многие проигнорировали.
Практика показывает: люди без технического фона сегодня вполне способны написать ChatGPT что-то вроде «сделай программу для фиксации результатов анализов, чтобы работала на телефоне» — и получить работающий результат. Проблема не в том, что результат плохой, а в том, что он непредсказуемый. Модель сама решает, что в запросе важно, а что второстепенно, потому что всё смешано в один абзац: цель, ограничения, пожелания к интерфейсу, технологический стек.
Vibe++ — попытка решить именно эту проблему. Это не язык программирования и не формальный стандарт, а рекомендательный шаблон описания задачи в YAML-подобном синтаксисе. Задача раскладывается по смысловым блокам: project (что создаётся), purpose (зачем), audience (для кого), style (настроение и характер решения), technology (стек), architecture (желаемый подход), documentation (что должно быть задокументировано), rules (ограничения). Последний блок делится на три уровня: hard — обязательные требования, firm — желательные, soft — мягкие пожелания. Это позволяет модели расставить приоритеты, а не угадывать их.
Промпт делится на блоки: project, purpose, audience, style, technology, architecture, documentation, rules.
Автор идеи провёл сравнительный тест: одно и то же приложение генерировалось сначала обычным текстовым промптом, затем структурированным запросом на Vibe++. Оба варианта запускались с первого раза без доработки кода. Версия, написанная обычным промптом, заняла около 500 МБ в закладке Google Chrome; Vibe++-версия — около 50 МБ. Генерация структурированного промпта заняла вдвое больше времени, однако разница в потреблении памяти оказалась десятикратной.
Отдельного внимания заслуживает блок documentation. Новички почти никогда не просят модель добавить README или описать архитектуру проекта — и потом сами не понимают, что именно им сгенерировали. Явное указание «добавь README, опиши структуру, комментируй только неочевидное» делает результат заметно удобнее для дальнейшей работы. Аналогично работают стилевые маркеры: слова «минималистичный», «MVP», «без внешних библиотек», «без сложной архитектуры» не являются строгими инженерными терминами, но задают LLM правильный вектор.
Vibe++ не претендует на то, чтобы автоматически улучшать качество кода, превращать новичка в senior-разработчика или гарантировать пригодность результата для продакшена. Это промежуточный слой между хаотичным запросом и нормальной постановкой задачи — способ оформить намерения так, чтобы модель с большей вероятностью поняла, что именно от неё требуется. Синтаксис намеренно прост: секции, поля, списки, вложенные блоки — всё на человеческом языке, без формальной грамматики компилятора.


