Туториал по Cursor AI: как вайбкодить с умом

Устанавливаем, выбраем режимы, правила проекта и строим безопасный рабочий цикл

Туториал по Cursor AI: как вайбкодить с умом

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

В этом туториале по Cursor AI мы пройдём весь путь: установим редактор, разберём режимы и правила проекта, соберём фичу от задачи до рабочего кода. Но главное — научимся проверять то, что написал ИИ. Не обещаем, что после прочтения вы будете собирать проекты по щелчку пальцев, но надеемся, что сможете вайбкодить осознанно и трезво оценивать результат работы.

ВАМ ПРИШЛО ПРИГЛАШЕНИЕ 💌
Приходите к нам в соцсети поделиться своим мнением и почитать, что пишут другие. А ещё там выходит дополнительный контент, которого нет на сайте — шпаргалки, опросы и разная дурка. В общем, вот тележка, вот ВК — велком!

Что такое Cursor и чем он отличается от обычного редактора

Cursor — это редактор кода на основе VS Code, в который глубоко встроен ИИ. Обычное умное автодополнение смотрит на строку, которую вы пишете, и пару соседних. Cursor видит весь проект: он индексирует ваши файлы и держит в голове связи между ними. Поэтому когда вы просите добавить новую функцию, он знает, что в соседнем файле уже есть похожая, какие у вас приняты названия переменных и как устроена структура папок.

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

Cursor отлично закрывает вопрос «как сделать». А вот «что именно сделать» и «зачем» остаётся за вами. ИИ не знает, какие данные у вас чувствительные, кому что можно показывать и где в вашей задаче спрятан подвох. Он бодро напишет код, который запускается — но запускается не равно «работает правильно и безопасно». Дальше мы много раз к этому вернёмся.

Что «видят» и делают обычный автокомплит и Cursor
Что «видят» и делают обычный автокомплит и Cursor

Что такое вайбкодинг и почему вокруг него столько споров

Вайбкодинг (vibe coding) — это подход, при котором вы описываете задачу на естественном языке, ИИ генерирует код, а человек проверяет результат и решает, принять его или отправить на доработку. Термин в начале 2025 года ввёл Андрей Карпати, и за год он успел стать словом года по версии словаря Collins.

За 2026 год сам подход заметно повзрослел. Наивные промпты в духе «сделай мне приложение» уходят в прошлое — на их место приходит работа с чёткими рамками, правилами проекта и проверками. У этого даже появилось название — agentic engineering, то есть инженерия с агентами. Смысл простой: вы не отдаёте ИИ всё на откуп, а выстраиваете вокруг него процесс, в котором каждый его шаг можно проверить и откатить.

Споры вокруг вайбкодинга идут до сих пор, и обе стороны звучат убедительно.

За. Это демократизация разработки. Человек без классического бэкграунда может собрать рабочий прототип за вечер, проверить идею, не нанимая команду. Порог входа в создание софта резко упал, и это открывает двери тем, кого раньше отсекала необходимость годами учить синтаксис.

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

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

Установка и переход с VS Code

Скачайте Cursor с официального сайта cursor.com под вашу систему — есть сборки под Windows, macOS (включая Apple Silicon) и основные дистрибутивы Linux. Установка обычная, как у любого приложения.

Низкий порог входа — отдельный плюс для тех, кто пришёл из VS Code. Cursor сделан на его основе, поэтому интерфейс, темы и горячие клавиши знакомы с первого запуска, переучиваться не нужно. Перенос настроек и расширений из VS Code в редакторе тоже есть, но в текущих версиях он работает нестабильно, так что нужные расширения проще доставить вручную через панель Extensions (Ctrl+Shift+X) — она здесь такая же, как в VS Code.

Дальше — три настройки, которые стоит сделать сразу, до того как вы доверите агенту что-то серьёзное.

  1. Privacy Mode для рабочего кода. В обычном режиме ваш код уходит на серверы моделей для обработки. Privacy Mode отключает хранение кода на стороне сервиса и запрещает использовать его для дообучения моделей. Если вы работаете с проприетарным или клиентским кодом — включите его в настройках. На командном тарифе режим приватности можно включить принудительно для всех.
  2. Индексация кодовой базы. Это та самая функция, благодаря которой Cursor «видит весь проект». Убедитесь, что индексация включена — без неё ИИ работает почти вслепую, только по открытому файлу.
  3. Файл .cursorignore. Сюда вы вписываете то, что агент видеть не должен: логи, секреты, артефакты сборки, большие сгенерированные файлы. Работает по тому же принципу, что и .gitignore. Создайте файл в корне проекта:

# секреты и переменные окружения -- агенту тут делать нечего
.env
.env.*

# логи -- только мусорят контекст
*.log
logs/

# артефакты сборки и зависимости
dist/
build/
node_modules/

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

Privacy mode в настройках
Privacy mode в настройках
Индексирование в настройках
Индексирование в настройках

Основные режимы работы — Tab, Chat и Agent

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

Tab — предиктивное автодополнение. Самый безобидный уровень. Вы пишете код, Cursor предсказывает следующий фрагмент и предлагает его серой подсказкой. Жмёте Tab — фрагмент вставляется. Он ничего не меняет без вашего нажатия и не запускает команды. С него стоит начинать.

Chat (режим Ask) — вопросы по коду без права на правки. Здесь вы спрашиваете: «что делает эта функция», «почему падает этот тест», «как тут устроена авторизация». ИИ отвечает и может предложить код, но сам файлы не трогает и команды в терминале не запускает. Отличный режим, чтобы разобраться в чужом проекте.

Agent mode — автономное исполнение. Самый мощный уровень. Вы описываете задачу, и агент сам читает нужные файлы, вносит правки сразу в нескольких местах, запускает команды в терминале и итерируется по ошибкам, пока не доведёт дело до конца или не упрётся в вопрос, который не может решить без вас.

Вот ключевое различие в правах, ради которого всё это перечисление. Запускать команды в терминале может только Agent mode. Tab и Ask на это не способны в принципе. Поэтому переход в Agent mode — это момент, когда вы реально передаёте инструменту часть контроля над своей машиной. По умолчанию агент спрашивает разрешение перед выполнением команд в терминале — не отключайте это поведение на проектах, которые что-то значат.

Полезный блок со скидкой

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

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

Composer — сборка фич на несколько файлов

Composer работает с задачами, которые не помещаются в один файл. Вы описываете фичу целиком, например — «добавь регистрацию по email с подтверждением» —, а Composer планирует, создаёт и правит сразу несколько файлов, доводя её до рабочего состояния. Он раскладывает большую задачу на шаги и идёт по ним.

Здесь стоит сделать оговорку про версии, потому что название путает. Исторически Composer был отдельной панелью для мультифайловой сборки. В Cursor 3 (апрель 2026) интерфейс перестроили вокруг агентов, и эта возможность теперь живёт внутри Agent mode. Вдобавок словом Composer Cursor стал называть ещё и собственную быструю модель (Composer 2, Composer 2.5). Так что если в меню вы видите Composer и как режим, и как модель — это нормально, просто проверьте на актуальной версии, что где.

Когда Composer уместен: целая фича, рефакторинг через несколько модулей, новый эндпоинт со всей обвязкой. Когда переусложняет: если нужно поправить одну строку или переименовать переменную, не зовите тяжёлую артиллерию — хватит обычной правки или Tab. Большой инструмент на маленькой задаче только добавит шума в дифф.

Как работает Composer
Как работает Composer

Правила проекта, чтобы Cursor писал код в вашем стиле

Без правил Cursor пишет обобщённый код — технически правильный, но «никакой». Он не знает, что у вас принято использовать именованные экспорты, что бизнес-логика живёт отдельно от обработчиков запросов, а сырые данные нельзя менять. С правилами всё иначе: код сразу встраивается в стиль и конвенции вашего проекта, и вам не приходится объяснять одно и то же в каждой новой сессии.

Актуальный формат — директория .cursor/rules/ в корне проекта, внутри которой лежат отдельные файлы с расширением .mdc. Старый одиночный файл .cursorrules ещё работает для совместимости, но считается устаревшим: он грузится целиком на каждый запрос, даже когда правила не относятся к делу. Новый формат позволяет подключать нужные правила по ситуации.

Каждый .mdc — это обычный Markdown с небольшим заголовком вверху (его называют frontmatter), который задаёт, когда правило подключается. Вот пример файла .cursor/rules/api.mdc для бэкенда на FastAPI:

---
description: Конвенции для эндпоинтов FastAPI
globs: app/routers/**/*.py
alwaysApply: false
---
# Правила для API
- Все обработчики маршрутов -- async def.
- Тело запроса и ответы описываем моделями Pydantic, не возвращаем сырые dict.
- Пути ресурсов во множественном числе: /users, не /user.
- Все маршруты с префиксом /api/v1/.
- Операции с БД -- в try/except с откатом транзакции при ошибке.

Разберём заголовок. Поле description коротко объясняет, о чём правило. globs задаёт маску файлов, для которых оно включается, — здесь правило подхватывается, только когда вы работаете с файлами в app/routers/. А alwaysApply: false означает, что правило не грузится в каждый запрос подряд, а только когда оно к месту. Есть и другие режимы подключения — всегда, по запросу самого ИИ или вручную по @имя-правила.

Правила проекта, чтобы Cursor писал код в вашем стиле

Что класть в правила: ваш стек и версии, соглашения об именовании, любимые паттерны и — отдельно — явные запреты («не используй default-экспорты», «не пиши прямые SQL-запросы в сервисах»). Запреты часто полезнее предписаний.

И главное по части командной работы: коммитьте директорию .cursor/rules/ в репозиторий. Тогда все, кто работает над проектом, получают одинаковое поведение ИИ — Cursor генерирует код в едином стиле и у вас, и у коллеги. Правила превращаются в исполняемую документацию: новый человек в команде читает их и сразу понимает конвенции. Подробности про форматы и режимы — в официальной документации Cursor.

Рабочий процесс вайбкодинга от задачи до готового кода

Теперь соберём всё вместе на сквозном примере. Допустим, у вас есть API, и нужно добавить новый эндпоинт с валидацией входных данных. Вот как выглядит цикл вайбкодинга, который держит результат под контролем.

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

Добавь POST-эндпоинт /api/v1/orders для создания заказа.
Используй стиль из @routers/users.py и схемы из @schemas/order.py.
Провалидируй входные данные через Pydantic, при ошибке верни 422.

Чем конкретнее контекст, тем меньше агент придумывает от себя.

Шаг 2. Дайте агенту выполнить задачу. Он создаст и поправит нужные файлы, возможно — допишет что-то в соседних местах.

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

Диффы, выделенные цветом (на панели справа)
Диффы, выделенные цветом (на панели справа)

Шаг 4. Запустите тесты. Код, который запускается, ещё не код, который работает. Прогоните тесты — в Agent mode это можно попросить сделать сам агент, но смотреть на результат должны вы.

Шаг 5. При ошибке верните агенту вывод. Если тест упал, скопируйте текст ошибки обратно в чат. Агент прочитает вывод и предложит исправление. Это и есть итерация: вы гоняете цикл «правка → тест → ошибка → правка», пока всё не станет зелёным.

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

Сквозной цикл вайбкодинга
Сквозной цикл вайбкодинга

Как откатывать неудачные правки

Иногда агент уводит проект не туда — и это нормально. Главное, чтобы откат был дешёвым.

Первая страховка встроена прямо в Cursor — это Restore Checkpoint в таймлайне чата. Cursor сохраняет контрольные точки по ходу диалога, и вы можете вернуться к любой из них. Откатываются именно правки ИИ, а ваши ручные изменения при этом сохраняются. Удобно, когда «давай попробуем по-другому» нужно сделать без потерь.

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

Как откатывать неудачные правки
Кнопка отката правок

Где вайбкодинг ломается и как закрывать риски

Вот раздел, ради которого стоило читать всё предыдущее. Тут будет неприятно, но честно — с цифрами и реальными утечками.

ИИ-код по исследованиям содержит заметно больше уязвимостей, чем написанный вручную. Платформа ревью кода CodeRabbit в декабре 2025 года разобрала 470 реальных пул-реквестов из открытых проектов и сравнила те, что писались с участием ИИ, с чисто человеческими. Результат: в ИИ-коде примерно в 1,7 раза больше проблем в целом (в среднем 10,83 замечания на пул-реквест против 6,45 у людей), а конкретно по безопасности — примерно в 1,5 раза больше находок. Отдельные классы уязвимостей встречаются ещё чаще: например, XSS — до 2,7 раза чаще (отчёт CodeRabbit «State of AI vs Human Code Generation»). Причина структурная: модели учились на публичных репозиториях, где рядом с хорошими практиками лежит горы небезопасного и устаревшего кода, и ИИ воспроизводит и то, и другое.

Теперь от статистики к реальным историям — они показывают, во что эти проценты превращаются на практике.

Moltbook, январь 2026. Основатель ИИ-соцсети публично заявил, что не написал ни строчки кода — всё собрал промптами. Через три дня после запуска исследователи безопасности из Wiz нашли ключ к базе данных Supabase прямо в клиентском JavaScript, при выключенной защите на уровне строк. Этого хватило, чтобы получить доступ ко всей рабочей базе: около 1,5 миллиона токенов аутентификации, десятки тысяч email-адресов и личные сообщения. С такими ключами злоумышленник мог выдавать себя за любого пользователя платформы.

Череда приложений на Lovable, 2025 год. Исследователи обнаружили, что приложения, собранные на популярном ИИ-конструкторе, массово подключались к базе без настроенных прав доступа. По одной из проверок около 170 приложений из выборки сливали пользовательские данные через одну и ту же дыру — этому классу уязвимостей даже присвоили номер CVE-2025-48757. Из открытых приложений вытаскивали домашние адреса, балансы и API-ключи.

Скан Escape.tech, октябрь 2025. Просканировали 5600 публично доступных вайбкод-приложений и нашли больше 2000 серьёзных уязвимостей, свыше 400 утёкших секретов и 175 случаев утечки персональных данных — включая медицинские записи и номера банковских счетов. Всё это в живых, работающих системах, которые находились за считаные часы.

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

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

  • Управление доступом к данным. Настроены ли права на уровне базы (Row Level Security, ролевой доступ)? Может ли пользователь A прочитать данные пользователя B? Это проверяют запросом с минимальными правами.
  • Отсутствие секретов в коде и репозитории. Нет ли захардкоженных API-ключей, паролей, токенов — особенно в клиентской части, которая видна всем. Сюда же работает .cursorignore и привычка хранить секреты в переменных окружения.
  • Незакрытые эндпоинты. Не торчит ли наружу что-то без аутентификации, что должно быть закрыто.

Не игнорируйте правила проекта и чтение диффа — это не даст вам попасть в статистику выше. Кстати, в самом Cursor для этого появился встроенный инструмент: Security Review просматривает изменения на типовые уязвимости перед отправкой кода. Полезно, но он не заменяет вашу голову — а дополняет её.

Когда Cursor не лучший инструмент

Cursor хорош, но не всемогущ, и честно очертить границы полезнее, чем нахваливать.

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

Очень большие кодовые базы. На огромных проектах точность падает, если не настроить индексацию аккуратно. Чем больше код, тем важнее .cursorignore и продуманные правила, иначе агент тонет в контексте и начинает фантазировать.

Стоимость при интенсивной работе. Бесплатного тарифа (Hobby) и базового Pro хватает на знакомство и небольшие проекты. Но есть нюанс с тем, как Cursor берёт деньги. С 2025 года тарифы работают на кредитной модели: в подписку входит пул использования на сумму тарифа (на Pro это около 20 долларов в месяц).

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

Когда Cursor не лучший инструмент
Дашборд расходов

Частые вопросы

Можно ли вайбкодить совсем без знания программирования?

Собрать прототип — да, и многие так делают. Довести его до продакшена и не словить утечку — почти нет. Чтобы проверять то, что написал ИИ (а проверять придётся, см. раздел про риски), нужно понимать код хотя бы на базовом уровне. Без этого вы не отличите рабочее решение от красиво выглядящей дыры.

Чем Cursor отличается от GitHub Copilot?

Copilot — это расширение, которое встраивается в ваш редактор. Cursor — самостоятельный редактор (форк VS Code), переосмысленный вокруг ИИ. У Cursor более зрелый агентный опыт: автономные правки в нескольких файлах, запуск команд, параллельные агенты. Copilot проще завести в больших компаниях через экосистему GitHub. Если нужен сильный агент — Cursor, если важна интеграция с GitHub из коробки — Copilot.

Безопасно ли давать агенту доступ к терминалу?

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

Хватит ли бесплатного тарифа для учёбы?

Для учёбы и небольших пет-проектов — да. Бесплатный Hobby даёт полноценный редактор и ограниченный лимит запросов к ИИ; новым пользователям дают ещё и недельный пробный Pro. При активной ежедневной работе лимиты заканчиваются за неделю-две, и тогда есть смысл смотреть на Pro.

Где взять готовые правила под мой стек?

Начните с одного небольшого файла под основной язык, добавляйте по мере того, как замечаете, что объясняете Cursor одно и то же по третьему разу. Это и есть сигнал, что правило пора записать. Большие наборы правил из интернета лучше не копировать целиком — устаревшее правило вредит сильнее, чем его отсутствие.

Что в итоге

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

ИИ берёт на себя «как». «Что» и «зачем» остаются за вами — и именно в этом ваша ценность как разработчика, которую никакой агент не заменит.

Если хочется применить Cursor к настоящему проекту, попробуйте собрать с ним что-то, что потом не страшно показать людям — например, небольшого AI-агента и развернуть его на сервере. А если чувствуете, что для уверенной проверки ИИ-кода не хватает системной базы, её стоит подтянуть: без понимания кода вайбкодинг превращается в лотерею.

Советуем дополнительно почитать по теме 

Бонус для читателей

Если вам интересно погрузиться в мир ИИ и при этом немного сэкономить, держите наш промокод на курсы Практикума. Он даст вам скидку при оплате, поможет с льготной ипотекой и даст безлимит на маркетплейсах. Ладно, окей, это просто скидка, без остального, но хорошая.

Вам может быть интересно
medium