Освоение вайб-коддинга: быстрый старт и практика

Курс учит писать код в режиме «потока»: быстро превращать идеи в прототипы, использовать ИИ-инструменты и поддерживать качество без перегруза процессами. Вы освоите техники ускорения разработки, грамотные промпты и проверку результата через тестирование и рефакторинг.

1. Что такое вайб-коддинг и когда он полезен

Что такое вайб-коддинг и когда он полезен

Определение вайб-коддинга

Вайб-коддинг — это способ разработки, при котором вы формулируете намерение (что нужно получить) и вместе с ИИ быстро итеративно приближаетесь к рабочему решению: просите набросать код, уточняете требования, просите исправить ошибки, добавить тесты, улучшить читаемость, объяснить решение.

Ключевая идея: вы управляете направлением и критериями готовности, а ИИ помогает ускорить набор кода, поиск вариантов и устранение рутины.

Важно: вайб-коддинг — не про «написать всё за меня», а про «быстро накидать, проверить, уточнить и довести до приемлемого качества».

Чем вайб-коддинг отличается от обычной разработки

В классической разработке вы обычно идёте так: спецификация → дизайн → реализация → тестирование → исправления.

В вайб-коддинге процесс чаще выглядит как короткие циклы с постоянной обратной связью.

!Цикл коротких итераций: промпт → код → проверка → уточнение

Что остаётся на вас

  • Постановка задачи: что именно должно работать и как вы проверите результат.
  • Контроль рисков: безопасность, приватность, лицензии, корректность.
  • Принятие решений: что включать в код, а что отклонять.
  • Что ускоряет ИИ

  • Генерацию «скелета» проекта (файлы, структуры, шаблоны).
  • Черновую реализацию функций и обработку типовых кейсов.
  • Объяснения, рефакторинг, подсказки по тестам и документации.
  • Почему это работает: сила коротких циклов

    Вайб-коддинг эффективен, потому что уменьшает стоимость одной попытки.

  • Быстро получаете черновик.
  • Сразу запускаете и видите факты (ошибки, логи, результаты тестов).
  • Уточняете промпт и требования на основе фактов, а не догадок.
  • При этом качество результата всё равно зависит от того, насколько хорошо вы:

  • формулируете критерии готовности,
  • проверяете поведение,
  • фиксируете ограничения.
  • Когда вайб-коддинг особенно полезен

    Быстрые прототипы и MVP

  • Проверка идеи до того, как вы вложитесь в архитектуру.
  • Демонстрация концепта коллегам или заказчику.
  • Автоматизация рутины

  • Скрипты для обработки файлов, миграций, отчётов.
  • Генерация однотипного кода (DTO, мапперы, сериализация).
  • Изучение нового стека

  • Быстро собрать минимальный пример и понять «как принято».
  • Сравнить подходы и выбрать рабочий.
  • Рефакторинг с опорой на тесты

  • Попросить ИИ упростить код.
  • Затем подтвердить, что тесты проходят и поведение не изменилось.
  • Документация и объяснения

  • Получить черновик README, комментарии, примеры использования.
  • Сверить с реальным поведением кода.
  • Когда вайб-коддинг опасен или невыгоден

    Критичные системы

  • Финансы, медицина, безопасность, инфраструктура.
  • Цена ошибки высока, нужны формальные процессы: ревью, аудит, строгие тесты.
  • Скрытые требования и сложные домены

  • Если вы сами не уверены в правилах предметной области, ИИ может уверенно «додумать» неверные детали.
  • Безопасность и приватность

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

  • OWASP Top 10 for LLM Applications
  • NIST AI Risk Management Framework
  • Лицензии и заимствования

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

    В вайб-коддинге полезно считать любой результат ИИ черновиком до проверки.

    Проверка обычно включает:

  • Запуск и воспроизведение сценария.
  • Минимальные тесты на ключевые требования.
  • Просмотр кода на очевидные ошибки: границы, null-значения, обработка исключений.
  • Быструю оценку безопасности: ввод пользователя, файлы, сеть, SQL, командная строка.
  • Если вы используете ассистентов в IDE, начните с официальных руководств:

  • Документация GitHub Copilot
  • Если работаете через API, полезно держать под рукой:

  • Документация OpenAI API
  • Документация Anthropic
  • Мини-словарь: простыми словами

  • Промпт — ваш запрос к ИИ: контекст + требования + формат ответа.
  • Итерация — один цикл: запрос → ответ → проверка → уточнение.
  • Критерии готовности — измеримые признаки «сделано» (тесты, примеры вход/выход, ограничения).
  • Галлюцинация — правдоподобный, но неверный ответ или код, который «выглядит правильно», но ломается в деталях.
  • Как эта статья связана с курсом

    Эта статья задаёт рамку: вайб-коддинг — это управляемая итеративная разработка с ИИ, где ответственность за качество остаётся у вас.

    Далее в курсе вы будете прокачивать три навыка:

  • Как ставить задачу так, чтобы ИИ выдавал проверяемые результаты.
  • Как быстро проверять и фиксировать корректность (тесты, воспроизводимые шаги).
  • Как снижать риски (безопасность, приватность, лицензии, контроль изменений).
  • 2. Подготовка среды: редактор, плагины, шаблоны проектов

    Подготовка среды: редактор, плагины, шаблоны проектов

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

    Эта статья — про практическую основу: как настроить среду так, чтобы итерации были быстрыми и воспроизводимыми. Цель — минимизировать трение: меньше ручной рутины, быстрее запуск, проще проверка, удобнее диффы и откаты.

    !Диаграмма показывает, как редактор, ИИ-помощник и тесты связываются в короткий цикл итераций

    Что значит «готовая среда» для вайб-коддинга

    Хорошо подготовленная среда делает три вещи:

  • Ускоряет генерацию и внесение изменений (ИИ, сниппеты, шаблоны).
  • Ускоряет проверку результата (терминал, тесты, линтеры, форматтеры).
  • Снижает риск «случайно сломать» (Git, диффы, изоляция зависимостей, повторяемые команды).
  • Практический критерий: вы должны уметь за 5–10 минут начать новый мини-проект и за 1–2 минуты воспроизвести ошибку и проверить фикс.

    Редактор: как выбрать базу

    Для вайб-коддинга важны не «самый умный редактор», а интеграции и скорость цикла.

    Варианты, которые чаще всего подходят

    | Вариант | Когда хорош | На что обратить внимание | |---|---|---| | Visual Studio Code | Универсальный выбор, много расширений, удобно настраивать рабочие профили | Следите за качеством расширений и конфликтами форматтеров/линтеров | | IntelliJ IDEA / другие IDE JetBrains | Если вы много в Java/Kotlin, Python, JS/TS и хотите «из коробки» сильную навигацию и рефакторинги | Тяжелее по ресурсам, но часто экономит время на больших проектах | | Cursor | Если хотите IDE, где ИИ встроен глубже (чат, правки по коду, контекст проекта) | Уточните политику данных и включайте правила приватности |

    Если вы новичок или хотите минимум решений — берите VS Code. Если вы уже в экосистеме JetBrains — обычно выгоднее остаться там.

    Минимальная настройка редактора

  • Включите автоформатирование при сохранении.
  • Включите подсветку проблем (lint) в реальном времени.
  • Настройте быстрый запуск тестов из IDE.
  • Настройте единый стиль (форматтер и линтер не должны спорить).
  • ИИ-помощник: как встроить в рабочий цикл

    ИИ в редакторе полезен в двух режимах:

  • Автодополнение (ускоряет набор, хорош для шаблонного кода).
  • Чат/агент (удобен для задач уровня «объясни», «рефактори», «накинь тесты», «найди причину ошибки по логу»).
  • Популярные варианты

  • GitHub Copilot (автодополнение и чат в поддерживаемых IDE).
  • Continue (расширение для VS Code и JetBrains, ориентировано на работу с контекстом репозитория).
  • Важно: какой бы инструмент вы ни выбрали, фиксируйте правила безопасного использования.

    Мини-политика безопасности для ассистентов

  • Никогда не отправляйте в чат секреты: токены, ключи, пароли, приватные ключи SSH.
  • Если вы работаете с закрытым кодом или персональными данными, выясните внутренние правила компании и настройки инструмента.
  • Если сомневаетесь — вставляйте в чат минимальный фрагмент, который воспроизводит проблему, без чувствительных данных.
  • Плагины и инструменты: базовый набор для «быстро и чисто»

    Вместо «100 расширений» полезнее иметь маленький стабильный набор.

    Обязательный минимум

  • Git-интеграция в редакторе.
  • Линтер (проверка качества и типовых ошибок).
  • Форматтер (единый стиль кода).
  • Запуск тестов и удобный просмотр результатов.
  • Пример набора для популярных стеков

    | Стек | Линт/качество | Форматирование | Тесты | |---|---|---|---| | JavaScript/TypeScript | ESLint | Prettier | Vitest или Jest | | Python | Ruff | Ruff (format) или Black | pytest | | Go | go vet и линтеры (по необходимости) | gofmt | go test |

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

    Терминал и команды: сделайте проверки «одной кнопкой»

    Если проверка сложная, вы будете откладывать её «на потом» — и вайб-коддинг превратится в хаос.

    Сведите процесс к нескольким стандартным командам:

  • test — быстрые тесты.
  • lint — проверки линтера.
  • format — автоформатирование.
  • check — всё вместе.
  • Практика: один файл с командами

    Удобно закрепить команды в одном месте:

  • Makefile (кроссплатформенно с оговорками).
  • package.json scripts для Node.js.
  • justfile (если используете just).
  • Ключевой эффект: вы можете просить ИИ «предложи фикс», а потом всегда прогонять один и тот же check и возвращаться к чату уже с фактами (логами и ошибками).

    Шаблоны проектов: чтобы стартовать за минуты

    Шаблон проекта — это заранее подготовленная структура, где уже есть:

  • минимальный каркас приложения,
  • зависимости,
  • линт/формат,
  • тестовый фреймворк,
  • README с командами запуска.
  • Готовые генераторы, которые часто экономят время

  • Frontend и fullstack на JS/TS: Vite.
  • Python-проекты: официальный гайд по упаковке и окружениям в Python Packaging User Guide.
  • Универсальные репозитории-шаблоны: функция шаблонов в GitHub — Creating a template repository.
  • Что должно быть в вашем личном «идеальном шаблоне»

  • Структура каталогов (например, src/, tests/, docs/).
  • Команды test, lint, format, check.
  • Минимальные тесты «дымовой проверки».
  • Конфигурация форматирования и линтинга.
  • Файл с переменными окружения-примером (например, .env.example) без секретов.
  • Шаблоны промптов: чтобы ИИ отвечал предсказуемо

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

    Шаблон промпта для генерации кода

  • Контекст: язык, фреймворк, структура проекта.
  • Требование: что должно делать изменение.
  • Ограничения: что нельзя менять.
  • Критерии готовности: как проверить (команды, тесты, примеры ввода/вывода).
  • Формат ответа: какие файлы и какие фрагменты кода вернуть.
  • Шаблон промпта для отладки

  • Симптом: что именно не работает.
  • Шаги воспроизведения: команда и входные данные.
  • Ожидание и факт: что ожидали и что получили.
  • Логи/трейс: самый короткий фрагмент, который полезен.
  • Границы: что уже пробовали.
  • Чем точнее вы задаёте критерии готовности, тем проще вам проверять результат и тем меньше шанс, что ИИ «угадает не то».

    Пример рабочего процесса: «настроил один раз — экономлю каждый день»

  • Создайте свой шаблон репозитория на GitHub с минимальным стеком (линт, формат, тесты, команды).
  • Настройте редактор: автоформат при сохранении, запуск тестов, Git-дифф.
  • Добавьте ИИ-помощника и заведите 2–3 промпт-шаблона.
  • Договоритесь с собой: любое изменение проходит check перед коммитом.
  • Как эта статья связана с курсом

    Первая статья объяснила, почему вайб-коддинг держится на коротких проверяемых итерациях.

    Эта статья делает эти итерации технически дешёвыми: вы настраиваете редактор, плагины и шаблоны так, чтобы быстро получать черновики от ИИ и так же быстро подтверждать или опровергать их тестами и линтерами.

    3. ИИ в вайб-коддинге: промпты, контекст, итерации

    ИИ в вайб-коддинге: промпты, контекст, итерации

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

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

    !Схема показывает, как промпт, изменения и проверки образуют управляемую итерацию

    Как ИИ “видит” вашу задачу

    ИИ не запускает код “в голове” и не знает ваш проект целиком. Он опирается на текст, который вы ему дали, и на общие знания о технологиях.

    Чтобы ожидания совпали с реальностью, полезно помнить три свойства:

  • Контекст ограничен: ИИ видит только то, что вы передали в запросе (плюс то, что IDE-помощник подтягивает автоматически).
  • Неопределённость нормальна: один и тот же запрос может привести к разным решениям, поэтому важны критерии готовности.
  • Ошибки правдоподобны: ИИ может уверенно предложить код, который компилируется, но не соответствует вашему кейсу или ломает крайние случаи.
  • Следствие: ваша задача в вайб-коддинге не “попросить код”, а “организовать проверяемую итерацию”.

    Промпт как техническое задание

    Хороший промпт обычно состоит из пяти частей. Их удобно держать как шаблон и заполнять.

    Намерение

    Один абзац: что вы хотите получить и для кого.

    Примеры:

  • “Добавь endpoint для загрузки аватара пользователя.”
  • “Исправь падение при пустом файле конфигурации.”
  • Контекст

    Ровно то, что необходимо, чтобы не гадать.

  • Язык и версии (например, Node.js 20, Python 3.12).
  • Фреймворк и ключевые библиотеки.
  • Кусок структуры проекта и релевантные файлы.
  • Команды запуска и проверок (npm test, pytest, make check).
  • Ограничения

    Чётко укажите границы, чтобы изменения не расползались.

  • “Не менять публичный API функции parseConfig.”
  • “Не добавлять новые зависимости.”
  • “Сохранить обратную совместимость формата JSON.”
  • Критерии готовности

    Это то, что превращает вайб-коддинг в инженерный процесс.

  • Какие тесты должны пройти.
  • Какие сценарии руками проверить.
  • Какой ожидаемый вход/выход.
  • Формат ответа

    Упростите применение результата.

  • “Верни патч unified diff.”
  • “Перечисли файлы и вставь полный новый файл, если он небольшой.”
  • “Сначала план, потом изменения.”
  • Контекст: что давать ИИ, а что нет

    Принцип “минимально достаточного контекста”

    Давайте только то, без чего ИИ будет вынужден придумывать.

    Удобный порядок:

  • Что вы делаете (цель).
  • Как воспроизвести (команда, входные данные).
  • Что ожидали и что получили (факт).
  • Логи/трейс (короткий, но информативный фрагмент).
  • Фрагменты кода (только релевантные).
  • Практичные форматы контекста

  • Дерево файлов на 2–3 уровня (чтобы ИИ ориентировался, где что лежит).
  • Содержимое 1–3 файлов (или фрагменты с указанием, что пропущено).
  • Конфиги проверок (например, package.json scripts, pyproject.toml).
  • Пример “дерева”:

    Чего нельзя класть в промпт

  • Секреты: токены, ключи, пароли, приватные ключи.
  • Персональные данные и конфиденциальные документы (если это запрещено политиками вашей компании).
  • Закрытый код целиком “на всякий случай”.
  • Если вы сомневаетесь, лучше передать:

  • минимальный воспроизводимый пример,
  • замаскированные значения,
  • .env.example вместо .env.
  • Полезные ориентиры по рискам и типовым проблемам:

  • OWASP Top 10 for LLM Applications
  • Итерации: как двигаться быстро и не ломать проект

    Вайб-коддинг выигрывает не “магией ИИ”, а тем, что вы уменьшаете стоимость одной попытки.

    Правило маленьких шагов

    Просите изменения так, чтобы их можно было проверить за минуты.

    Вместо:

  • “Сделай авторизацию и личный кабинет.”
  • Лучше:

  • “Добавь middleware проверки токена, пока без ролей.”
  • “Добавь тесты на 401/200.”
  • “Добавь роль admin и один endpoint под неё.”
  • Структура одной итерации

  • Промпт с критериями готовности.
  • Применение изменений.
  • Запуск check (или test/lint).
  • Короткий просмотр диффа.
  • Если упало: вернуть в ИИ факты (ошибка, лог, команда).
  • Если вы используете Git, удобно держать ритм:

  • одна итерация = один маленький коммит,
  • если ИИ “увёл не туда” — откат и уточнение промпта.
  • Шаблоны промптов для типовых задач

    Ниже несколько заготовок, которые можно копировать и заполнять. Они специально устроены так, чтобы ИИ отвечал применимо и проверяемо.

    Генерация фичи с тестами

    Отладка по фактам (логам)

    Рефакторинг без изменения поведения

    Ключевое правило: просите опираться на тесты.

    Как просить ИИ так, чтобы он меньше “угадывал”

    Просите сначала вопросы, если требований не хватает

    Если вы сами чувствуете неопределённость, можно встроить это в процесс.

    Пример:

  • “Если в требованиях есть неоднозначности, задай до 5 уточняющих вопросов. Если вопросов нет, сразу предложи решение.”
  • Явно фиксируйте допущения

    Попросите ИИ написать, что он предполагает.

  • “Перечисли допущения (assumptions), на которых основано решение.”
  • Это уменьшает риск скрытых “додумок” и облегчает уточнения.

    Просите минимальный дифф

  • “Сделай минимально возможные изменения, без перестройки архитектуры.”
  • Это особенно важно в существующих проектах.

    Типовые ошибки вайб-коддинга

  • Слишком общий запрос без критериев готовности: проверить нечем, итог спорный.
  • Слишком много контекста: ИИ начинает “тонуть” и путаться в деталях.
  • Противоречивые ограничения: “не менять API”, но “переделай формат ответа”.
  • Применение результата без дифф-ревью: легко пропустить лишние правки.
  • Отладка без фактов: “не работает, исправь” почти всегда ведёт к угадыванию.
  • Мини-чеклист перед отправкой промпта

  • Я дал команду, которой воспроизводится проблема или проверяется фича.
  • Я описал ожидаемое поведение и фактическое.
  • Я приложил только релевантные файлы/фрагменты.
  • Я указал ограничения (что нельзя менять).
  • Я указал формат ответа (желательно unified diff).
  • Я не отправил секреты.
  • Как эта статья связана с курсом

    Первая статья дала рамку: вайб-коддинг работает, когда вы управляете направлением и критериями качества.

    Вторая статья сделала цикл быстрым и воспроизводимым через среду, команды и шаблоны.

    Эта статья добавляет центральный навык: управляемое взаимодействие с ИИ. Вы научились упаковывать задачу в промпт, давать ровно нужный контекст и вести итерации так, чтобы каждый шаг проверялся тестами, линтером и понятными фактами.

    4. Прототипирование: от идеи до работающего MVP за часы

    Прототипирование: от идеи до работающего MVP за часы

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

  • короткие итерации промпт → код → проверка → уточнение
  • среда, где проверки запускаются одной командой (check)
  • промпты, которые дают ИИ ровно нужный контекст и критерии готовности
  • Теперь применим это к самой практичной задаче: быстро превратить идею в работающий MVP, который можно показать пользователю, команде или заказчику.

    !Диаграмма показывает путь от идеи до демо и обратной связи через короткие итерации

    Что вы строите: прототип, MVP и демо

    Чтобы не спорить с собой и с ИИ о том, что именно нужно сделать, разделяйте три понятия.

  • Прототип — проверка идеи на минимальном уровне. Может быть “грязным”: заглушки, ручные шаги, минимум архитектуры.
  • MVP (минимально жизнеспособный продукт) — минимальная версия, которая уже решает одну понятную задачу пользователя и может быть проверена в реальности.
  • Демо — сценарий показа. Иногда MVP шире демо, но для быстрого старта важнее, чтобы демо было железобетонным.
  • Практическое правило: если вы делаете MVP “за часы”, думайте как про вертикальный срез — один путь пользователя от начала до конца, даже если всё вокруг упрощено.

    Основная стратегия: вертикальный срез + таймбокс

    Вертикальный срез

    Вертикальный срез отвечает на вопрос: может ли пользователь получить ценность от начала до конца?

    Пример: “пользователь загрузил файл → система обработала → показала результат”.

    Таймбокс

    Таймбокс — это жёсткое ограничение по времени на попытку.

  • 2–4 часа — чтобы получить первый показуемый результат
  • 1 день — чтобы добавить минимальную устойчивость и удобство
  • Таймбокс важен для вайб-коддинга: он дисциплинирует итерации и удерживает вас от “перфекционизма в черновике”.

    Шаг 1: сформулируйте гипотезу и критерии успеха

    Гипотеза — это проверяемое утверждение, ради которого вы делаете MVP.

    Хороший формат:

  • Для кого: конкретный пользователь
  • Проблема: что болит
  • Решение: что вы даёте
  • Успех: как поймёте, что это сработало
  • Пример:

  • Для: менеджера, который еженедельно собирает статусы
  • Проблема: долго сводить заметки в единый отчёт
  • Решение: загрузка текста заметок → генерация структурированного отчёта
  • Успех: отчёт готов за 2 минуты и требует не больше 2 правок вручную
  • Критерии успеха должны быть измеримыми хотя бы “по ощущениям” в демо.

    Шаг 2: определите MVP-скоуп через список “должно/не должно”

    Чтобы ИИ не разнёс задачу на “идеальный продукт”, задайте границы.

    Удобный список:

  • Должно: 3–5 пунктов поведения
  • Не должно: 3–5 запретов (что точно не делаем сейчас)
  • Пример “не должно” для MVP за часы:

  • не должно быть полноценной регистрации
  • не должно быть платёжной интеграции
  • не должно быть сложной ролевой модели
  • Шаг 3: выберите самый дешёвый стек и шаблон проекта

    Ваше решение сейчас — не “лучший стек навсегда”, а “самый быстрый путь к проверке гипотезы”.

    Типовые быстрые связки:

  • UI-прототипы: Vite + простой фронтенд
  • API за часы: FastAPI (Python) или Flask (Python)
  • Хранилище: SQLite (встроенно, удобно для MVP)
  • Ключевой критерий выбора: вы должны быстро запускать test и воспроизводить ошибки.

    Шаг 4: соберите “контекст-пакет” для ИИ

    Чтобы ИИ стабильно помогал, дайте ему компактный пакет контекста.

    Минимальный контекст-пакет:

  • цель MVP (1 абзац)
  • “должно/не должно”
  • команды проверок: test, lint, format, check
  • дерево проекта (после генерации шаблона)
  • один демо-сценарий в виде шагов
  • Таблица, которая помогает не забыть важное:

    | Артефакт | Зачем нужен | Как используется в вайб-коддинге | |---|---|---| | Демо-сценарий | фиксирует “что показать” | критерий готовности для итераций | | Команды check | быстрая проверка фактов | “не спорим — запускаем” | | Ограничения | не даём задаче расползаться | просим минимальный дифф | | Логи ошибок | основа для отладки | отправляем в ИИ факты |

    Шаг 5: начните с “скелета” и одного счастливого пути

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

    Приём: fake it till you make it.

  • сначала заглушка, но с правильным интерфейсом
  • потом реальная реализация под тем же интерфейсом
  • Таблица для решений “что заглушать”:

    | Часть продукта | Что сделать в MVP | Что оставить на потом | |---|---|---| | Авторизация | простой “ключ в .env” или отключено | полноценные пользователи, роли, OAuth | | Данные | SQLite + одна таблица | миграции, масштабирование, оптимизация | | UI | один экран + минимум стилей | дизайн-система, адаптивность | | Ошибки | понятные сообщения для демо | полный каталог ошибок, локализация | | Интеграции | мок-ответы | реальные API, ретраи, лимиты |

    Шаг 6: ведите разработку короткими итерациями

    Структура каждой итерации:

  • маленькая задача на 15–30 минут
  • промпт с критериями готовности
  • применили изменения
  • запустили check
  • посмотрели дифф
  • либо коммит, либо уточнение
  • Если итерация занимает час и вы не можете понять, где ошибка — задача слишком большая.

    Практика “одна итерация — один коммит”

    Это дисциплинирует и упрощает откаты, если ИИ “увёл в сторону”.

    Шаг 7: используйте промпты, заточенные под MVP

    Ниже — 3 шаблона, которые хорошо работают именно для “сделать за часы”.

    Промпт на план MVP и вертикальный срез

    Промпт на генерацию каркаса проекта

    Промпт на доведение демо-сценария до “неубиваемости”

    Шаг 8: проверяйте MVP как продукт, а не как код

    Для MVP за часы важно не только “чтобы работало на моей машине”, а чтобы было показываемо.

    Мини-чеклист “готово к демо”:

  • один демо-сценарий проходит 3 раза подряд без сюрпризов
  • есть понятный способ запустить: одна команда или 2–3 команды из README
  • если что-то падает, вы видите сообщение “что делать” (а не просто stack trace)
  • вы можете быстро откатить изменения через Git
  • Частая ошибка: полировать то, что вы ещё не проверили

    Сигналы, что вы ушли в преждевременную “красоту”:

  • вы обсуждаете архитектуру, хотя нет работающего вертикального среза
  • вы добавляете сложные паттерны и абстракции “на будущее”
  • вы переписываете код без тестов и без ясного выигрыша для демо
  • Правило: сначала докажите ценность вертикального среза, потом решайте, стоит ли переписывать “в чистую”.

    Как эта статья связана с курсом

  • Из статьи про вайб-коддинг вы берёте управляемые итерации и ответственность за проверку результата.
  • Из статьи про среду вы берёте быстрый цикл через шаблоны проектов, команды check, Git и линтеры.
  • Из статьи про ИИ вы берёте структуру промпта, минимально достаточный контекст и работу по фактам.
  • Прототипирование объединяет всё это в прикладной навык: за короткое время вы создаёте MVP, который можно проверить на реальной обратной связи, а не только “по ощущениям от кода”.

    5. Качество без бюрократии: линтеры, тесты, проверка логики

    Качество без бюрократии: линтеры, тесты, проверка логики

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

    Идея простая: вы не добавляете тяжёлые процессы, вы добавляете быстрые автоматические «ворота качества», которые срабатывают каждый раз, когда ИИ предложил изменения.

    !Диаграмма короткой итерации с автоматическими проверками

    Что значит «качество» в вайб-коддинге

    В классической разработке качество часто обеспечивается процессом: ревью, дизайн-доки, согласования. В вайб-коддинге качество обеспечивается проверяемостью.

    Практичное определение:

  • Качество — это когда изменение предсказуемо (понятно, что и почему поменялось), повторяемо проверяется (командами lint/test/check) и не ломает пользовательский сценарий.
  • Чтобы это работало без бюрократии, достаточно трёх уровней контроля:

  • Линтер и форматтер ловят типовые ошибки и приводят код к единому стилю.
  • Тесты фиксируют ожидаемое поведение и защищают от регрессий.
  • Проверка логики ловит то, что линтер и тесты часто пропускают: неверные допущения, крайние случаи, ошибки в сценариях.
  • Линтеры и форматтеры: быстрые и беспощадные

    Линтер и форматтер дают максимальную выгоду на единицу времени: они быстро запускаются и сразу отрезают большой класс проблем.

    Что делает линтер

    Линтер отвечает на вопрос: «похоже ли это на код, который мы хотим поддерживать?» Он ловит:

  • подозрительные конструкции (неиспользуемые переменные, странные сравнения);
  • потенциальные баги (необработанные промисы, неправильная область видимости);
  • нарушения соглашений команды.
  • Примеры инструментов:

  • JavaScript/TypeScript: ESLint
  • Python: Ruff
  • Что делает форматтер

    Форматтер отвечает на вопрос: «как именно должен выглядеть код?» Он снижает шум в диффах и делает правки ИИ проще для ревью.

    Примеры инструментов:

  • JavaScript/TypeScript: Prettier
  • Python: встроенное форматирование Ruff описано в документации Ruff
  • Мини-правила, чтобы линтеры не мешали скорости

  • Держите линт быстрым: если линт занимает минуты, вы перестанете запускать его на каждой итерации.
  • Выберите один форматтер: когда форматируют сразу два инструмента, диффы становятся хаотичными.
  • Фиксируйте команды в проекте: lint, format, check.
  • Тесты: страховка от регрессий и главный «якорь правды»

    ИИ может предложить решение, которое выглядит правильно, но меняет поведение. Тесты превращают обсуждение с ИИ в инженерный цикл: вы возвращаете не мнение, а факт.

    Какие тесты нужны для быстрого вайб-коддинга

    Чтобы не утонуть в инфраструктуре, достаточно трёх типов.

  • Дымовые тесты: проект запускается, основной модуль импортируется, ключевая команда работает.
  • Unit-тесты: проверяют чистую логику функции или небольшого компонента.
  • Интеграционные тесты на один сценарий: проверяют вертикальный срез MVP (из статьи про прототипирование).
  • Инструменты:

  • JavaScript/TypeScript: Vitest или Jest
  • Python: pytest
  • Go: пакет тестирования описан в документации Go testing
  • Что сделать, чтобы тесты ускоряли, а не тормозили

  • Сделайте быстрый набор тестов, который выполняется за десятки секунд.
  • Выносите медленные проверки в отдельную команду (например, test:slow).
  • Давайте ИИ критерий готовности в терминах команд: «должно пройти check».
  • Проверка логики: то, что не ловят линтер и тесты

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

    Типовые логические поломки в вайб-коддинге

  • Правильный код, неверное требование: ИИ додумал поведение.
  • Пограничные случаи: пустой ввод, очень большой ввод, неожиданный формат.
  • Частичная регрессия: тесты прошли, но UX или API-сценарий стал неудобным.
  • Невидимая ошибка: поменяли формат данных или сообщение об ошибке, а это важно для клиентов.
  • Практика «3 проверки логики» на каждую итерацию

    Это занимает минуты, но резко снижает число сюрпризов.

  • Проверка сценария: пройдите один «счастливый путь» руками или через CLI.
  • Проверка края: один неприятный кейс (пусто, неверно, слишком много).
  • Проверка инварианта: что должно оставаться истинным (например, «не меняем публичный API», «ошибка содержит код и сообщение», «не пишем секреты в лог»).
  • Команда check: качество одной кнопкой

    В предыдущей статье про среду вы уже вводили идею check. Здесь уточним, что именно в неё полезно включать.

    Хорошая check должна быть:

  • быстрой: иначе вы не будете запускать её часто;
  • строгой: если что-то не так, она должна падать;
  • предсказуемой: одинаково работает на разных машинах.
  • Типичный состав:

  • форматирование (или проверка форматирования);
  • линт;
  • быстрые тесты.
  • Пример того, как вы формулируете критерий готовности в промпте:

  • «Верни минимальный diff. После применения должен проходить check. Добавь тест, который падает на старом поведении и проходит на новом.»
  • Как просить ИИ делать изменения «под тесты», а не «на глаз»

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

    Рабочий шаблон промпта для качественной итерации

    Почему «тест сначала» часто быстрее

    Не обязательно писать тест буквально первым, но полезно сначала зафиксировать проверяемый пример.

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

    Даже если check зелёный, перед коммитом полезно сделать короткий просмотр диффа. Это занимает 1–3 минуты, но ловит важные вещи.

    Чеклист дифф-ревью для вайб-коддинга

  • Нет ли лишних файлов и «случайных» рефакторингов.
  • Не добавлены ли зависимости без необходимости.
  • Не появился ли ввод/вывод, который может утечь в логи (токены, персональные данные).
  • Обработаны ли ошибки ввода пользователя.
  • Если вы делаете что-то связанное с вебом и пользовательским вводом, держите в голове базовые классы уязвимостей. Полезный ориентир: OWASP Top 10.

    Как всё это связывается с предыдущими статьями курса

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

  • check зелёный,
  • тесты фиксируют поведение,
  • логика проверена на сценарии и краю,
  • дифф понятный и минимальный.
  • 6. Рефакторинг и поддерживаемость: как не утонуть в быстрых решениях

    Рефакторинг и поддерживаемость: как не утонуть в быстрых решениях

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

    В прошлых статьях вы уже построили основу, которая защищает от хаоса:

  • короткие итерации промпт → код → проверка → уточнение
  • среда, где есть быстрые команды check, линтеры и тесты
  • прототипирование вертикальным срезом
  • качество без бюрократии через автоматические «ворота»
  • Эта статья добавляет следующий слой: как рефакторить так, чтобы скорость вайб-коддинга не превратилась в долгосрочную боль, и как использовать ИИ для поддерживаемости, не устраивая «переписывание мира».

    !Цикл: фича и маленький рефакторинг в одном ритме

    Что такое рефакторинг и поддерживаемость

    Рефакторинг — это изменение внутренней структуры кода без изменения внешнего поведения. То есть пользовательский сценарий и результаты работы программы остаются прежними, а код становится понятнее и проще поддерживать.

    Поддерживаемость — это насколько легко:

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

    Почему быстрые решения начинают топить проект

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

    Частые источники будущих проблем:

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

    Главный принцип: рефакторинг как серия маленьких проверяемых шагов

    Рефакторинг в вайб-коддинге работает только если он:

  • маленький
  • обратимый
  • проверяемый
  • Практическое правило: если вы не можете объяснить рефакторинг одной фразой и проверить его командой check, вы делаете слишком большой шаг.

    «Страховка» для рефакторинга

    Чтобы рефакторинг был безопасным, вам нужна минимальная страховочная сетка:

  • Линтер и форматтер, чтобы не тащить мусор в дифф
  • Быстрые тесты, которые ловят регрессии
  • Git-коммиты маленькими порциями, чтобы легко откатываться
  • Если тестов мало, полезная техника — характеризующие тесты. Это тесты, которые фиксируют текущее поведение (даже если оно не идеально), чтобы рефакторинг не изменил его случайно.

    Когда рефакторить, чтобы не потерять темп

    Рефакторинг — это инвестиция. Важно делать её в правильный момент.

    Таблица практичных сигналов:

    | Сигнал | Что происходит | Минимальное действие | |---|---|---| | Одну и ту же правку повторяете в 2–3 местах | высокая цена изменения | вынести общую функцию | | Функция стала «простынёй» | трудно понять и тестировать | извлечь 1–2 подфункции | | Ошибки обрабатываются по-разному | UX и дебаг нестабильны | унифицировать формат ошибок | | ИИ каждый раз «угадывает» не то | требования не выражены в коде | добавить тест на сценарий | | Боитесь трогать код | нет уверенности в последствиях | сначала тест, потом правка |

    Баланс для вайб-коддинга:

  • если рефакторинг ускорит следующие 2–3 итерации, делайте его сейчас
  • если рефакторинг не влияет на ближайшие изменения, отложите и зафиксируйте в списке долгов
  • Самые выгодные рефакторинги для вайб-коддинга

    Ниже — виды рефакторинга, которые почти всегда дают максимум пользы за минимум времени.

    Переименование и прояснение намерения

    Плохая поддерживаемость часто начинается с имён.

  • переименовать функцию так, чтобы она говорила что делает, а не как
  • переименовать переменные, чтобы исчезли tmp, data, res2
  • удалить неиспользуемые параметры и мёртвый код
  • Это кажется косметикой, но для вайб-коддинга это критично: ИИ лучше продолжает код, если намерение выражено явно.

    Извлечение функций и «разделение уровней»

    Антипаттерн: одна функция делает всё сразу.

    Хороший минимум:

  • одна функция отвечает за разбор входа
  • другая за бизнес-логику
  • третья за форматирование ответа
  • Это снижает риск, что ИИ «починит одно и сломает другое».

    Удаление дублирования

    Если вы видите копипасту, почти всегда это будущий баг.

    Мини-подход:

  • вынести повторяющийся кусок в функцию
  • добавить тест на общий сценарий
  • Упрощение условий и явные крайние случаи

    Быстрые решения часто прячут крайние случаи в сложных if.

    Полезный трюк:

  • ранние выходы (return при ошибке), чтобы основной путь читался сверху вниз
  • явная обработка пустого ввода
  • Стандартизация ошибок

    Для поддерживаемости важно, чтобы ошибки были предсказуемыми.

    Простой стандарт:

  • единый формат сообщения (или структуры JSON)
  • единый набор типов ошибок
  • запрет на утечку чувствительных данных в текст ошибки
  • Мини-пример: рефакторинг без изменения поведения

    Ниже пример на TypeScript, где логика валидатора стала читабельнее, но поведение сохраняется.

    Что улучшилось:

  • ограничения стали явными константами
  • тип ошибки документирует возможные результаты
  • регулярное выражение вынесено и не теряется в строке
  • Важно: такой рефакторинг почти всегда безопасен, если тесты фиксируют ожидаемые ответы.

    Как использовать ИИ для рефакторинга, а не для «переписывания»

    ИИ особенно полезен в рефакторинге, потому что он быстро предлагает варианты упрощения. Но его нужно направлять, иначе он начнёт «улучшать архитектуру» и ломать совместимость.

    Правила промпта для безопасного рефакторинга

    В промпте на рефакторинг всегда фиксируйте:

  • что поведение менять нельзя
  • как проверить неизменность поведения
  • насколько маленьким должен быть дифф
  • Шаблон:

    Приём «попроси варианты и выбери один»

    Иногда полезно попросить ИИ предложить 2–3 варианта рефакторинга и явно сравнить их по критериям.

    Критерии выбора для вайб-коддинга:

  • минимальный дифф
  • минимум новых сущностей
  • максимум ясности для следующей итерации
  • Антипаттерны рефакторинга в вайб-коддинге

    Ниже — то, что чаще всего ломает темп и создаёт новые риски.

  • Большой рефакторинг без тестов
  • «Перепишем на другую архитектуру» вместо локального улучшения
  • Добавление зависимостей ради косметики
  • Смешивание рефакторинга и изменения поведения в одном коммите
  • Правки форматтера, линтера и логики в одном диффе
  • Если хочется сделать «красиво и правильно», полезно разделить работу:

  • Сначала тесты или характеризующие тесты
  • Потом рефакторинг маленькими шагами
  • Потом отдельной задачей изменение поведения, если оно реально нужно
  • Мини-чеклист: рефакторинг, который не утопит проект

    Перед тем как принять рефакторинг от ИИ и закоммитить, проверьте:

  • check зелёный
  • дифф не содержит лишних файлов и случайных правок
  • нет скрытого изменения поведения
  • тесты покрывают хотя бы один сценарий и один крайний случай
  • следующий разработчик поймёт код без чтения переписки с ИИ
  • Как эта статья связана с курсом

  • Из темы про ИИ и промпты вы берёте дисциплину: контекст, ограничения, критерии готовности, формат ответа.
  • Из темы про прототипирование вы берёте фокус на вертикальный срез и скорость.
  • Из темы про качество без бюрократии вы берёте «ворота»: линтер, тесты и проверка логики.
  • Рефакторинг и поддерживаемость добавляют устойчивость: вы продолжаете двигаться быстро, но не платите за это тем, что каждая следующая фича становится всё дороже.

    Полезный ориентир по теме рефакторинга: Refactoring.com

    7. Личный рабочий процесс: ритуалы фокуса, скорость и стабильность

    Личный рабочий процесс: ритуалы фокуса, скорость и стабильность

    В прошлых статьях вы построили технический фундамент вайб-коддинга:

  • короткие итерации промпт → код → проверка → уточнение
  • среду, где есть check, линтеры, тесты и Git
  • правила контекста и промптов
  • прототипирование вертикальным срезом
  • рефакторинг маленькими безопасными шагами
  • Теперь нужен последний слой, без которого вайб-коддинг часто превращается в хаос: личный рабочий процесс. Это набор ритуалов и правил, которые удерживают фокус, сохраняют скорость и дают стабильность, даже когда ИИ “сыплет” идеями и правками.

    !Схема показывает ритуальный цикл одной итерации, который держит темп и качество

    Зачем нужен личный процесс, если уже есть промпты и check

    ИИ снижает стоимость написания кода, но повышает риск распыления:

  • вы чаще переключаетесь между задачами
  • вы получаете больше вариантов и начинаете “улучшать” без цели
  • вы быстрее накапливаете полурабочие состояния
  • Личный процесс нужен, чтобы каждую итерацию доводить до одного из стабильных исходов:

  • готово и проверено (есть зелёный check и понятный дифф)
  • отложено осознанно (зафиксировано, почему и что дальше)
  • откачено быстро (Git вернул вас в рабочее состояние)
  • Три цели личного процесса

    Фокус

    Фокус — это когда в конкретные 20–40 минут вы делаете только одну вещь: один баг, один тест, один endpoint, одно упрощение.

    Скорость

    Скорость — это когда стоимость итерации низкая:

  • быстро сформулировали запрос
  • быстро применили изменения
  • быстро проверили фактами (check)
  • Стабильность

    Стабильность — это когда вы почти никогда не “ломаете себе день”:

  • есть точки возврата (коммиты)
  • есть привычка не сливать в одну кучу рефакторинг и новую фичу
  • есть ритуал завершения сессии
  • Главный принцип: одна сессия — одна проверяемая цель

    В вайб-коддинге полезно думать не задачами на неделю, а сессиями.

    Хорошая цель сессии:

  • проверяется командой (check или test)
  • укладывается в 25–45 минут
  • имеет понятный критерий готовности
  • Плохая цель сессии:

  • “сделать авторизацию”
  • “улучшить архитектуру”
  • “навести порядок в проекте”
  • Если цель звучит широко, разбейте её до уровня “один тест + один фикс”.

    Базовый ритуал одной итерации

    Ниже — практичный “скелет”, который хорошо сочетается с предыдущими статьями курса.

    Ритуал старта (1–3 минуты)

  • Откройте один тикет/заметку: что делаю сейчас
  • Зафиксируйте критерий готовности: как пойму, что сделано
  • Запустите текущий check, чтобы знать исходную точку
  • Ритуал работы (15–35 минут)

  • Сформулируйте промпт с ограничениями и форматом ответа (часто unified diff)
  • Примените изменения
  • Запустите check
  • Посмотрите дифф глазами (1–2 минуты)
  • Ритуал завершения (2–5 минут)

  • Если check зелёный и дифф адекватный: маленький коммит
  • Если не зелёный: зафиксируйте факт (лог) и следующий шаг
  • Обновите одну заметку: что было сделано и что осталось
  • Эта тройка ритуалов делает результат воспроизводимым: вы в любой момент можете продолжить или откатиться.

    Таймбоксинг: как удерживать темп без выгорания

    Таймбокс — это заранее заданный “контейнер времени”. Он нужен не для дисциплины ради дисциплины, а чтобы не утонуть в бесконечных “ещё чуть-чуть улучшу”.

    Рабочие варианты:

  • 25/5 минут в стиле Pomodoro Technique
  • 45/10 минут для более глубоких задач
  • 90 минут для прототипирования, но с обязательной паузой посередине
  • Практическое правило для вайб-коддинга:

  • если за один таймбокс вы не приблизились к зелёному check, задача слишком большая или критерии расплывчаты
  • Мини-процесс для общения с ИИ, который даёт стабильность

    Контекст-пакет, который вы “носите” между итерациями

    Чтобы не пересказывать одно и то же, держите короткий контекст-пакет в заметке или в docs/dev-notes.md:

  • стек и версии
  • команды: test, lint, format, check
  • ключевые ограничения (например, “без новых зависимостей”)
  • ссылка на демо-сценарий (если это MVP)
  • Это ускоряет промпты и снижает шанс, что ИИ начнёт угадывать.

    Правило “сначала факт, потом просьба”

    Если что-то сломалось, не начинайте с “почини”. Начинайте с фактов:

  • команда, которой воспроизводится
  • ожидание и факт
  • фрагмент лога
  • Это напрямую опирается на подход из статьи про итерации и качество.

    Два режима работы с ИИ

  • Режим генерации: “сделай каркас, добавь тесты, предложи дифф”
  • Режим диагностики: “вот шаги и лог, найди причину, предложи минимальный фикс”
  • Смешивание режимов часто ломает стабильность: вы просите “починить баг”, а ИИ начинает “улучшать архитектуру”.

    Git как часть личных ритуалов, а не “когда-нибудь потом”

    Стабильность вайб-коддинга почти всегда упирается в Git.

    Практичные правила

  • Одна итерация — один маленький коммит
  • Коммит только при зелёном check (или вы явно помечаете, что это WIP)
  • Если ИИ “увёл в сторону”, вы откатываетесь, а не чините хаос поверх хаоса
  • Полезные ориентиры:

  • Pro Git (книга)
  • Git documentation
  • Мини-шаблон сообщений коммита

  • feat: добавить <...>
  • fix: исправить <...>
  • test: добавить тест на <...>
  • refactor: упростить <...> без изменения поведения
  • Коммит-ритуал дисциплинирует и ИИ: вам проще просить “минимальный diff”, когда вы заранее знаете, что это отдельный маленький коммит.

    Личные “ворота качества”, которые не замедляют

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

    Минимальный набор ворот

  • format при сохранении или перед коммитом
  • lint после каждого значимого изменения
  • test на ключевые сценарии
  • check как финальная точка итерации
  • Ритуал дифф-ревью (1–3 минуты)

    Спросите себя:

  • Нет ли лишних файлов и случайных форматирований
  • Не добавлены ли зависимости без причины
  • Не изменился ли публичный API случайно
  • Нет ли утечки чувствительных данных в логах
  • Если вы работаете с пользовательским вводом и вебом, держите под рукой ориентир по типовым рискам: OWASP Top 10.

    Устойчивость к переключениям: как не терять контекст

    Контекст теряется не потому, что вы “не собраны”, а потому что в вайб-коддинге слишком легко начать параллельно 5 веток мысли.

    Техника “одна активная нить”

  • В каждый момент времени у вас одна активная задача
  • Остальные идеи вы не делаете сразу, а записываете в парковку
  • Парковка — это список из 3–10 пунктов:

  • “потом добавить нормальные сообщения об ошибках”
  • “потом вынести повторяющуюся логику в helper”
  • “потом добавить интеграционный тест на вертикальный срез”
  • Смысл: идеи не теряются, но и не разрушают текущий таймбокс.

    Мини-заметка в конце сессии

    Достаточно двух строк:

  • Статус: что сейчас работает и что не работает
  • Следующий шаг: одна конкретная команда или один конкретный файл
  • Это резко снижает “стоимость входа” на следующий день.

    Ритм: как сочетать скорость и поддерживаемость

    Скорость без поддерживаемости накапливает долг. Поддерживаемость без скорости убивает вайб.

    Практичный компромисс:

  • в каждой 3–5 итерации делайте маленький рефакторинг
  • рефакторинг только под зелёные тесты
  • рефакторинг и изменение поведения — в разных коммитах
  • Это напрямую продолжает прошлую статью про рефакторинг: маленькие, проверяемые, обратимые шаги.

    Рецепты личного процесса под разные ситуации

    Когда вы делаете MVP “за часы”

  • Жёсткий таймбокс (2–4 часа)
  • Один демо-сценарий как главный критерий
  • Минимум “красоты”, максимум воспроизводимости
  • Обязательный ритуал “прогнать демо 3 раза подряд”
  • Когда вы чините баг

  • Сначала тест или воспроизводимый сценарий
  • Потом минимальный фикс
  • Потом дифф-ревью на “случайные изменения”
  • Когда вы чувствуете, что проект начинает “тонуть”

    Сигналы:

  • вы боитесь трогать код
  • каждая правка цепляет 5 файлов
  • ИИ постоянно предлагает взаимоисключающие изменения
  • Действия на один таймбокс:

  • добавить характеризующий тест на текущее поведение
  • выделить одну функцию и упростить её без изменения поведения
  • договориться о едином формате ошибок
  • Шаблоны: то, что стоит держать под рукой

    Шаблон промпта на одну итерацию

    Шаблон “парковки” идей

    Итог: личный процесс как ускоритель, а не ограничение

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

  • маленькая цель
  • промпт с критериями
  • быстрый check
  • короткое дифф-ревью
  • коммит или откат
  • заметка на продолжение
  • Это даёт три эффекта одновременно:

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