Как стать автором
Поиск
Написать публикацию
Обновить

Вайб-кодинг: как использовать нейросети и не получать плохой код

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров14K

Многие до сих пор очень скептично относятся к использованию нейросетей в работе, хотя при правильном подходе они помогают достичь крутых результатов. Это грустно, но понятно — на это есть причины.

В этой статье разберём, почему у одних вайб-кодинг превращается в сплошное разочарование, а другие создают продукты за недели вместо месяцев.

Почему многие до сих пор думают, что ИИ не умеет в разработку?

На мой взгляд, есть две основные проблемы, которые отчасти взаимосвязаны:

  1. Многие попробовали нейросети, когда они объективно были очень плохи в кодинге

  2. Чтобы научиться управлять нейросетью, нужно немного практики

Представьте: в начале 2023 года ChatGPT едва мог написать функцию сложения без багов. Люди попробовали, получили ужас, сделали вывод «вайб-кодинг — отстой» и забили. А модели тем временем прокачались в разы.

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

Анатомия плохого вайб-кодинга

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

Основные признаки плохого подхода:

  • Слишком общие задачи без деталей

  • Отсутствие контекста проекта

  • Попытки сделать всё за один промпт

  • Игнорирование архитектуры проекта

Секрет успеха в вайб-кодинге состоит из трёх компонентов: качество нейросети + хорошо переданный контекст + чётко поставленная задача. Качество нейросетей кратно растёт из года в год, что позволяет отдавать им всё более сложные задачи. Со стороны разработчика нужно только скачать условный Cursor и попытаться разобраться как он может ему помочь в работе.

Простые вещи, которые помогут с любым проектом

Даже если вы пока не нашли применение разработке через агентов, есть несколько возможностей Cursor, которые гарантированно помогут в работе:

1. Autocomplete

Его хвалят примерно 100% разработчиков, которые его попробовали. Он с высокой точностью предугадывает следующие действия разработчика и предлагает применить следующие шаги, просто нажав на Tab.

Серьёзно, это кажется мелочью, но когда вы привыкнете, работать в обычном редакторе станет мучением.

2. Разбор чужого кода

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

Ошибок в ответах на подобные вопросы я пока не замечал — модель отлично анализирует существующий код.

3. Написание документации

Думаю, мало кто любит писать документацию, а ведь это можно просто отдать нейросети, задав ей нужный формат. Загружаете код, просите написать README или API-документацию — и получаете готовый результат, который нужно только слегка подправить.

Секреты хорошего вайб-кодинга

Ну а если всё же решитесь попробовать делегировать нейросети что-то более серьёзное, то вот ниже делюсь своим опытом.

Хороший вайб-кодинг — это когда вы умеете грамотно работать с контекстом проекта, знаете, насколько нужно детализировать задачу в зависимости от её сложности и знаете какую задачу нейросеть потянет, а какую нужно разбить на более мелкие.

Золотое правило баланса

В вайб-кодинге вы всегда балансируете между трудозатратами на детализацию промпта и качеством работы модели. Чем проще задача и круче модель, тем меньше можно париться по поводу детализации промпта и передачи контекста, чтобы с большой вероятностью получить приемлемый результат. Чем сложнее задача, тем, соответственно, больше усилий вам нужно прилагать и тем больше технических навыков потребуется.

  • Простая задача: «Сделай функцию для валидации email» — и получите рабочий код

  • Сложная задача : нужна детализация и разбивка на этапы, чтобы получить хороший результат

Понимание этого баланса — половина успеха в вайб-кодинге.

Передача контекста

Cursor на своей стороне многое делает для улучшения передачи контекста в LLM — эффективно индексирует кодовую базу и использует эмбеддинги для поиска релевантной части кода. Но мы со своей стороны также можем на это влиять.

Жизненно необходимо прописывать правила для нейросети. Например, .cursorrules при работе через Cursor. Примеры можно найти тут. Важно также вести подробную документацию, включающую описание проекта и его структуры. Чем больше передаём полезной информации, тем лучше.

Это сделает результат менее случайным и более близким к необходимому. Например, при использовании в Django проекте CBV, нужно это написать, иначе модель спокойно может сгенерировать код с использованием FBV.

Правильная детализация задач

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

Подход 1: Итеративный (для задач попроще)

  1. Пишете поверхностный промпт

  2. Смотрите результат и что с ним не так

  3. Откатываете и пишете более детальный промпт с учётом полученного результата

Подход 2: Через вопросы (для задач посложнее)

  1. Описываете идею и просите у модели накидать вопросов

  2. Просите сделать промпт с учётом полученной информации

  3. Берёте промпт и вставляете его в новом окне

Работа с комплексными задачами

Если задача объёмная, то лучше зафиксировать её описание в каком-нибудьPLAN.md  и разбить по шагам. Этот файл также можно составить совместно с моделью. Потом поэтапно кормить её кусками этой задачи.

Комплексный workflow от идеи до прототипа

Вот реальный пример того, как некоторые используют разные AI-инструменты в связке при создании прототипа:

  1. Фундамент в ChatGPT — от идеи до базового описания продукта. Собираю 3-4 документа: идея/overview + детальное описание флоу + PRD + дизайн-систему.

  2. Исследование в Perplexity — если есть функции, которые у кого-то реализованы хорошо, иду в Perplexity Labs и прошу детально описать реализацию функции.

  3. Дизайн в специализированных инструментах — прошу ChatGPT сделать промпт для Lovable и v0. Сую промпты в эти инструменты, смотрю на первичный результат, выбираю тот, который понравился больше.

  4. Финальная доработка в Cursor — забираю лучший вариант и допиливаю до нужного состояния.

Такой подход позволяет использовать сильные стороны каждого инструмента: ChatGPT для планирования, Perplexity для исследований, v0/Lovable для дизайна, Cursor для разработки.

Что делать дальше?

Если вы до сих пор скептично относитесь к ИИ в разработке — попробуйте ещё раз, но уже с правильным подходом. Начните с простых задач, постепенно усложняйте.

И даже если вы пока не поняли, как использовать ИИ-агентов на полную — как минимум autocomplete в Cursor точно стоит того, чтобы его установить. Уже это приятно сократит вашу рутину при написании кода.


Как я делаю продукты с почти нулевым бюджетом с помощью нейросетей я показываю у себя в телеге.

Мои продукты (не реклама, просто хвастаюсь):

  • Buyer — метмамаркетплейс брендовых кроссовок и одежды с миллионом товаров и выручкой в десятки миллионов рублей

  • EasyFit AI — Telegram бот для контроля питания, который считает КБЖУ по фото, который активно ищет Product Market Fit

Теги:
Хабы:
-7
Комментарии13

Публикации

Ближайшие события