Загрузка...

Вайб-кодинг (Vibe coding): что это такое и как работает

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

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

Термин появился 2 февраля 2025 года: Андрей Карпати (Andrej Karpathy), сооснователь OpenAI и бывший директор по ИИ в Tesla, написал в посте на X, что есть «новый вид программирования, который я называю "vibe coding", когда полностью отдаёшься вайбам, принимаешь экспоненты и забываешь, что код вообще существует».

Словари закрепили выражение в том же году: в марте 2025-го Merriam-Webster добавил «vibe coding» в раздел «slang & trending», а Collins назвал его словом года — 2025. Формулировка словаря простая: разработка, в которой естественный язык превращается в код с помощью ИИ.

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

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

Разница между ними — не в инструментах, а в том, сколько проверки остаётся за человеком.

Чем отличается от обычного использования ИИ в коде

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

Подход Кто пишет код Что делает человек Типичный инструмент
Автодополнение Модель дописывает строку, решение о вставке за человеком Пишет код, принимает или отклоняет подсказки GitHub Copilot, Continue
Чат про код Модель отвечает текстом и сниппетами Копирует код в файлы, объясняет контекст вручную чат в IDE, веб-чат, API
Агент с доступом к проекту Агент Ставит задачу, утверждает действия, проверяет результат Cline, Claude Code, Codex, OpenCode

Ключевое отличие агента — не «умнее», а «с руками»: у него есть инструменты (чтение и запись файлов, терминал, поиск по проекту, иногда браузер) и право выполнять их по цепочке. Автодополнение живёт внутри одной строки, агент — внутри всего репозитория и цикла «правка → запуск → исправление».

Как это работает технически

Под капотом — обычная языковая модель с вызовом инструментов и обвязка, которая исполняет её решения. Один виток цикла выглядит так:

  1. Сбор контекста. Агент читает структуру проекта и нужные файлы — сам ищет по коду, а не ждёт, что вы всё скопируете в чат.
  2. План. Модель формулирует, что и где менять. В Cline для этого есть отдельный режим Plan, в котором агент только предлагает, но не трогает файлы.
  3. Правка. Агент записывает изменения в файлы — целиком или точечными патчами.
  4. Проверка. Запускает тесты, линтер, сборку, читает вывод терминала.
  5. Исправление. Если упало — возвращается к шагу 3 и повторяет, пока не позеленеет или пока не кончится лимит шагов.

Помимо файлов и терминала, у агентов обычно есть поиск по репозиторию и подключение внешних инструментов через MCP — так агент получает доступ к базе данных, трекеру задач или внутренней wiki. Поведение задаётся обычным текстом: файл правил в проекте (например, .clinerules у Cline) описывает, как запускать тесты, где лежит документация и чего не делать.

Почему качество упирается в модель и контекст:

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

Агент с доступом к терминалу — это исполнение произвольных команд на вашей машине, поэтому инструменты ограничивают его явно: подтверждения на каждую запись в файл и каждую команду, отдельные режимы Plan и Act у Cline, чекпоинты для отката к состоянию до задачи и лимиты шагов, после которых цикл останавливается сам.

Инструменты

  • Cline — open-source агент для VS Code и JetBrains: файлы, терминал, браузер, подтверждение каждого шага. Настройка через RouterAI.
  • Kilo Code — агент с набором режимов под разные задачи: VS Code, IntelliJ IDEA.
  • Roo Code — агент для VS Code с собственными режимами: гайд.
  • Continue — автодополнение, чат и агент в одном расширении: гайд.
  • Claude Code — CLI-агент в терминале: гайд.
  • Codex — CLI-агент от OpenAI: гайд.
  • OpenCode — терминальный агент с открытым кодом: гайд.
  • OpenHands — открытая платформа для запуска кодинг-агентов на своём сервере.
  • Zed — редактор со встроенными агентами: гайд.
  • Avante — агент для NeoVim: гайд.

Примеры: как выглядит задача

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

Слабый промпт: «Сделай нормальный вывод ошибок в API». Агент не знает, что значит «нормальный», где находится обработка ошибок и как проверять результат, — и начинает угадывать.

Рабочий промпт:

Добавь в сервис invoices эндпоинт GET /invoices/{id}/pdf.
Сначала посмотри, как устроены существующие эндпоинты в src/api и как
генерируются PDF в src/reports. План покажи до правок.
После реализации запусти pytest tests/invoices и приложи вывод.

Здесь есть три вещи, которые агенту действительно нужны: где искать аналоги, граница правок (сначала план) и критерий готовности (зелёные тесты). Общее правило: чем меньше в задаче «сделай хорошо» и чем больше проверяемых условий, тем меньше витков и токенов.

Ещё два сценария, с которых обычно начинают: отладка («запусти npm test, найди причину падения в тестах корзины и исправь, только логика, без рефакторинга соседних файлов») и небольшой скрипт под себя («напиши на Python скрипт, который находит картинки в текущей папке и конвертирует их в PNG через Pillow, создай requirements.txt»).

Типичные ошибки: держать один чат на весь проект — история растёт, и агент перестаёт различать, что уже сделано; работать без тестов — тогда цикл остановится не на «работает», а на «выглядит правдоподобно»; оставлять ключи и .env в контексте агента.

Риски и ограничения

  • Уязвимости. По данным Veracode (отчёт 2025 года: более 100 моделей, 80 задач на Java, JavaScript, C#, Python), в среднем 45% сгенерированного кода содержало известные уязвимости, а в Java доля неудач по безопасности дошла до 72%. Модель уверенно пишет то, что работает, и не всегда то, что безопасно.
  • Потеря понимания. Если код никто не читал, через месяц непонятно, почему он устроен именно так.
  • Расход токенов. Каждый шаг агента — это запрос с содержимым файлов и историей. Длинный цикл отладки обходится дороже, чем кажется в начале; тарификация считается по токенам, а не по задачам.
  • Лицензии и права. Условия использования сгенерированного кода задаются лицензией модели и договором с провайдером — перед коммерческим использованием их нужно читать, а не предполагать.
  • «Доверяй, но проверяй». Практика, которая держит риск в узде: диффы читать, тесты писать, секреты в промпт не класть, опасные команды подтверждать вручную.

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

Вайб-кодинг и RouterAI

Агенты не привязаны к одному вендору: почти все они умеют работать с любым OpenAI-совместимым провайдером — достаточно указать три поля. Для OpenAI-совместимых инструментов это Base URL = https://routerai.ru/api/v1, API Key = ваш ключ (в примерах — заглушка sk-xxxxxxxxxxxxxxxx) и Model ID из каталога моделей. Инструменты с нативным Anthropic API, например Claude Code, подключаются к https://routerai.ru/api.

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

Модель Для чего в вайб-кодинге
anthropic/claude-sonnet-5.5 Основная для агентов: длинные цепочки правок, рефакторинг, разбор чужих ошибок
anthropic/claude-haiku-5.5 Быстрая и дешёвая: мелкие правки, рутина, массовые задачи
openai/gpt-5.5 Альтернатива для сложных задач, другой стиль рассуждений
deepseek/deepseek-v4-flash Экономичный вариант с большим контекстом для черновой работы
google/gemini-3.1-pro-preview Большой контекст: анализ крупных репозиториев и документации

Что дальше

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

Что почитать дальше: