| Общие вопросы - | office@ciocdo.ru |
| Сотрудничество - | garasev@ciocdo.ru |
От синтаксиса к смыслу
«В программировании появляется новое направление, которое я условно называю „вибрационным кодингом“. Это стиль, при котором ты полностью отдаёшься ощущениям, позволяешь себе забыть о традиционных правилах разработки, принимаешь экспоненциальный рост кода и перестаёшь воспринимать сам код как нечто важное.Это стало возможным благодаря стремительному развитию больших языковых моделей, таких как Cursor Composer с интеграцией Sonnet. Я практически не касаюсь клавиатуры — общаюсь с Composer голосом через SuperWhisper. Запросы вроде «уменьши отступы на боковой панели вдвое» стали нормой просто потому, что мне лень искать нужное место в коде. Я всегда нажимаю «Принять всё», не вникая в изменения. Если появляются ошибки, просто вставляю текст ошибки обратно в диалог — и чаще всего это срабатывает. Код растёт до такой степени, что мне пришлось бы тратить часы, чтобы его осмыслить. Если модель не может исправить баг — я обхожу его или прошу вносить случайные изменения, пока он не исчезнет. Это, конечно, не подходит для серьёзных продуктов, но для прототипов и проектов выходного дня — в самый раз. Строю ли я веб-приложение? Формально — да. Но на деле я просто смотрю, говорю, запускаю и копирую. И что удивительно — оно в основном работает» — Андрей Карпатый.
Прочитав это высказывание, как бывший программист, я испытываю двоякое чувство… С одной стороны – сбылась моя мечта, теперь можно больше времени уделить проработке бизнес-логики и тестированию гипотез. С другой стороны – а как же архитектура? Solid? Безопасность?
Так что же такое vibe-кодинг? Убийца профессии, супер-инструмент или просто еще один мыльный пузырь? Заглянем «под капот» и попробуем разобраться…
Немного истории
Термин был введён в феврале 2025 года Андреем Карпатым, известным специалистом в области ИИ, сооснователем OpenAI и бывшим руководителем AI-направления в Tesla. С цитаты его высказывания и начинается статья.
Определимся с терминологией
Вайб-кодинг (vibe coding) — это инновационный метод программирования, основанный на использовании больших языковых моделей (LLM) и искусственного интеллекта для генерации кода. Вместо традиционного написания кода построчно, разработчик описывает задачу на естественном языке, а ИИ преобразует её в работающий код.
Как это работает
Процесс вайб-кодинга представляет собой итеративное взаимодействие:
• Разработчик формулирует задачу на обычном языке;
• ИИ генерирует соответствующий код;
• Человек проверяет результат и даёт новые указания;
• Цикл повторяется до достижения желаемого результата.
Посмотрим на инструменты
Cursor — форк редактора кода Visual Studio Code с интеграцией нейросетей. Если говорить проще, то это полноценная IDE для вайб-кодинга. В Cursor на выбор доступно несколько языковых моделей от OpenaAI, Google, DeepSeek, Anthropic и других компаний. Нейросети в Cursor не просто генерируют код, а действуют почти как настоящие программисты. Они учитывают кодовую базу проекта, могут редактировать файлы и создавать новые. Например, можно просто описать суть проекта, а Cursor настроит окружение, напишет код, разделит его на модули и исправит ошибки.
Windsurf — ещё один форк VS Code и главный конкурент Cursor. Редактор также может генерировать код и управлять проектами. Особенность Windsurf — минималистичный интерфейс, адаптированный для тех, кто нечасто работает с профессиональными IDE.
Replit — облачная платформа разработки с поддержкой нейросетевых агентов. Платформа адаптирована для программистов, которые создают мобильные приложения и сайты.
Devin — автономный ИИ-программист, который может стать полноценным членом команды разработки. Можно добавить бота в рабочий чат и назначать ему тикеты из системы планирования задач. После этого Devin проанализирует кодовую базу, задаст уточняющие вопросы и начнёт работу. В конце бот загрузит код в репозиторий и сгенерирует отчёт.
Claude Code — генератор кода для терминала. Под капотом у него нейросеть Claude Opus 4, которая умеет создавать проекты с нуля, фиксить баги и синхронизировать изменения с удалённым репозиторием.
Мнение
Поговорил с нашим руководителем разработки, он высказал интересную мысль, которой хочу поделиться: «Для меня vibe-кодинг напоминает управление командой не очень опытных разработчиков – ставишь задачу и чем детальнее ты ее опишешь, тем меньше итераций в итоге будет, и тем больше шансов получить код, который тебя устроит. Разработчик решает задачу, приходит с результатом, делаешь ревью, даешь замечания, и он уходит на следующую итерацию. И так до тех пор, пока не получишь нужный результат».
Не правда ли, этот процесс в точности описывает процесс vibe-кодинга? Но есть и различия:
1. Время работы разработчика может быть значительным, тогда как от модели результат получаешь сразу.
2. В случае с разработчиком можно управлять качеством кода и архитектурой, чтобы добиться такого же результата от модели, придется продумать архитектуру самому, точечно добиваться результата от модели и «допиливать результат напильником»
3. Нужно правильно подбирать задачи, и инструмент, чтобы получить ожидаемый результат.
Меняем профессию?
Думаю, ответ очевиден, vibe-кодинг это не волшебная палочка, а еще один инструмент, которым нужно научиться пользоваться. И если не научиться, можно завтра обнаружить, что требования работодателя к кандидату изменились, и основными критериями будут не знания алгоритмов и умение грамотно спроектировать архитектуру, а понимание принципов работы ИИ-инструментов, умение формулировать задачи для ИИ, умение анализировать код и экспертиза в предметной области. А с учетом развития инструмента видится, что без него завтра просто невозможно будет эффективно работать.
Резюмируя
Каждой кухарке по Cursor-у!
Боюсь, этот лозунг (трансформированный под новые смыслы) так и останется лозунгом, и vibe-кодинг не поможет кухарке решать задачи в ИТ.
Для его использования, в любом случае, нужны хотя бы минимальные знания и опыт в разработке приложений, а в идеале – серьезный опыт разработки за плечами, понимание архитектуры, видение конечного результата и пути его достижения.
Инструмент неплохо подойдет для решения таких задач, как создание прототипов, mvp, автоматизация рутины и решение типовых задач. Но его использование в больших и сложных проектах должно быть контролируемо и выверено.
На данный момент технология находится на начальной стадии развития, и можно сравнить ее с начинающим разработчиком с большим кругозором – при грамотной постановке задачи, контролируя процесс, можно получить достаточно качественный результат. Но, как и начинающий разработчик, технология будет быстро развиваться и сможет решать более серьезные задачи и с лучшим качеством.
В конце приведу еще одну цитату, другого известного предпринимателя и создателя сайта для стартапов AngelList, Наваля Равиканта, которая, на мой взгляд, отражает суть дальнейшего развития технологии и профессии разработчика: «Искусственный интеллект не заменит программистов. Искусственный интеллект поможет программистам заменить всех остальных».
Источник: журнал «БИТ», Вадим Гришанов, заместитель директора управления цифровой трансформации АО Интертехэлектро, ИТ-эксперт аналитического центра «я-ИТ-ы»