# Вайб-кодинг (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 |

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

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

Под капотом — обычная языковая модель с [вызовом инструментов](/pages/tool-calling-api) и обвязка, которая исполняет её решения. Один виток цикла выглядит так:

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

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

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

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

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

## Инструменты

- **Cline** — open-source агент для VS Code и JetBrains: файлы, терминал, браузер, подтверждение каждого шага. [Настройка через RouterAI](/pages/vibe-coding-vscode-cline).
- **Kilo Code** — агент с набором режимов под разные задачи: [VS Code](/pages/vibe-coding-vscode-kilo-code), [IntelliJ IDEA](/pages/vibe-coding-idea-kilo-code).
- **Roo Code** — агент для VS Code с собственными режимами: [гайд](/pages/vibe-coding-vscode-roo-code).
- **Continue** — автодополнение, чат и агент в одном расширении: [гайд](/pages/vibe-coding-vscode-continue).
- **Claude Code** — CLI-агент в терминале: [гайд](/pages/vibe-coding-claude-code).
- **Codex** — CLI-агент от OpenAI: [гайд](/pages/vibe-coding-codex).
- **OpenCode** — терминальный агент с открытым кодом: [гайд](/pages/vibe-coding-opencode).
- **OpenHands** — открытая платформа для запуска кодинг-агентов на своём сервере.
- **Zed** — редактор со встроенными агентами: [гайд](/pages/vibe-coding-zed-dev).
- **Avante** — агент для NeoVim: [гайд](/pages/vibe-coding-neovim-avante).

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

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

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

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

```text
Добавь в сервис 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%. Модель уверенно пишет то, что работает, и не всегда то, что безопасно.
- **Потеря понимания.** Если код никто не читал, через месяц непонятно, почему он устроен именно так.
- **Расход токенов.** Каждый шаг агента — это запрос с содержимым файлов и историей. Длинный цикл отладки обходится дороже, чем кажется в начале; [тарификация](/pages/tarifikaciya-ii-api) считается по токенам, а не по задачам.
- **Лицензии и права.** Условия использования сгенерированного кода задаются лицензией модели и договором с провайдером — перед коммерческим использованием их нужно читать, а не предполагать.
- **«Доверяй, но проверяй».** Практика, которая держит риск в узде: диффы читать, тесты писать, секреты в промпт не класть, опасные команды подтверждать вручную.

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

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

Агенты не привязаны к одному вендору: почти все они умеют работать с любым OpenAI-совместимым провайдером — достаточно указать три поля. Для OpenAI-совместимых инструментов это `Base URL` = `https://routerai.ru/api/v1`, `API Key` = ваш ключ (в примерах — заглушка `sk-xxxxxxxxxxxxxxxx`) и `Model ID` из [каталога моделей](/models). Инструменты с нативным 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` | Большой контекст: анализ крупных репозиториев и документации |

## Что дальше

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

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

- [AI Agent](/pages/ai-agent) — что такое агент и чем он отличается от чат-бота;
- [Автономный ИИ-агент](/pages/avtonomnyy-ii-agent) — сколько автономии бывает и где её предел;
- [Оркестрация ИИ-агентов](/pages/orkestraciya-ii-agentov) — как управлять несколькими агентами;
- [Мультиагентные ИИ-системы](/pages/multiagentnye-ii-sistemy) — когда агентов становится команда;
- [Интеграции RouterAI](/docs/integrations) — пошаговые гайды по настройке агентов под конкретные редакторы.
