Инструменты
Промт для Cursor — это не заклинание и не длинное письмо. Это короткое техническое задание агенту, который сам открывает файлы, правит код и запускает команды. Чем точнее вы обозначите цель, границы и проверку, тем меньше правок придётся откатывать.
Ниже — где писать промт, как он выглядит, какой режим выбрать, как давать контекст и что выносить в правила. Шаблоны можно копировать, они собраны под частые задачи. Интерфейс описан по документации Cursor (cursor.com/docs), сверенной 12 октября 2026 года. Названия кнопок могут меняться между версиями, поэтому, если что-то не совпадает, смотрите официальные доки.
Где писать промт в Cursor#
Основное место — панель агента. Она открывается сочетанием Cmd+I на Mac или Ctrl+I на Windows и Linux. В поле ввода этой панели и пишется промт. Там же:
- переключается режим — выпадающим списком или клавишами Shift+Tab;
- подключаются файлы, папки, вывод терминала и прошлые чаты через @;
- выбирается модель (список над полем ввода);
- вставляется скриншот — перетаскиванием или из буфера обмена.
Второе место — правила проекта. Это тоже промт, только постоянный: Cursor добавляет текст правил в начало контекста модели. Подробнее — в разделе «Промт или правило» ниже.
Как установить сам Cursor, описано в карточке Cursor и в официальной документации.
Почему обычный промт не работает#
Чаще всего промт для Cursor пишут одной фразой: «сделай лендинг для моего сервиса» или «почини форму». Результат непредсказуем: агент сам выбирает стек, структуру и детали, а вы потом переписываете то, что он додумал.
Проблема обычно не в Cursor, а в промте. Агент — исполнитель. Ему нужно короткое техническое задание, а не пожелание. Дальше — как такое задание выглядит.
Как выглядит промт для Cursor: плохой и хороший пример#
Возьмём одну задачу: на сайте форма заявки отправляется даже с пустым телефоном.
Плохой промт:
Почини форму, она плохо работает.
Агент не знает, какую форму, что значит «плохо» и когда остановиться. Он начнёт искать сам, может поправить не то и не скажет, как убедиться, что стало лучше.
Хороший промт:
Цель: форма заявки не должна отправляться, если поле «Телефон» пустое
или в нём меньше 10 цифр. Показывай ошибку под полем.
Где: @src/components/LeadForm.tsx
Не трогай: стили формы и другие компоненты.
Результат: покажи дифф и одной фразой объясни, что изменил.
Проверка: запусти npm test и npm run build, пришли вывод.
Разница не в длине, а в том, что у второго промта есть ответ на каждый вопрос, который агент иначе решал бы наугад.
Формула промта из пяти частей#
Удобно держать в голове пять строк. Не все обязательны в каждой задаче, но если какой-то нет, спросите себя, догадается ли агент сам.
| Часть | Что писать | Пример |
|---|---|---|
| Цель | что должно получиться, в терминах поведения | «кнопка "Купить" неактивна, пока корзина пуста» |
| Где | файлы и папки через @, если вы их знаете | @src/cart/ |
| Ограничения | что не менять, какие библиотеки не добавлять | «без новых зависимостей, API не трогай» |
| Результат | в каком виде отчитаться | «дифф + список изменённых файлов» |
| Проверка | команда или сценарий, который покажет успех | «npm test, затем открой /cart и проверь кнопку» |
Последняя строка — самая недооценённая. В руководстве команды Cursor по работе с агентами прямо сказано: агент не исправит то, о чём не знает, поэтому ему нужен проверяемый сигнал — тесты, типы, линтер. Документация Claude Code советует то же самое: дать агенту проверку, которая возвращает «прошло / не прошло», и просить показать доказательство (вывод команды), а не слово «готово».
Режимы Cursor: какой промт для какого#
По документации Cursor у агента четыре встроенных режима. Переключаются они в одном поле, Shift+Tab перебирает их по кругу.
| Режим | Что делает | Когда брать | Первая фраза промта |
|---|---|---|---|
| Agent | правит файлы, запускает команды | задача понятна и небольшая | «Добавь…», «Исправь… и запусти тесты» |
| Ask | только читает код и отвечает, без правок | разобраться в проекте или чужом коде | «Объясни, как устроена авторизация…» |
| Plan | задаёт уточняющие вопросы, изучает код и пишет план, который можно отредактировать до запуска | большая задача, много файлов, несколько вариантов решения | «Составь план, как добавить…» |
| Debug | выдвигает гипотезы, добавляет логи, просит воспроизвести баг и чинит по фактам | баг воспроизводится, но причина неясна | «Ошибка: … Шаги воспроизведения: …» |
Пара практических следствий из документации:
- Plan перед кодом. План открывается как Markdown-файл, его можно поправить руками. Если агент построил не то, Cursor советует не латать результат новыми промтами, а откатить изменения, уточнить план и запустить его заново. Готовый промт для этого шага — «сначала план».
- Debug любит подробности. Чем точнее описаны шаги воспроизведения, ожидаемое и фактическое поведение, тем полезнее логи, которые агент расставит.
Как давать контекст: @ вместо копипасты#
Наберите @ в поле ввода, и Cursor предложит, что прикрепить:
- файлы и папки —
@auth.ts,@src/components/; @Terminals— вывод терминала, например текст ошибки сборки;@Chats— контекст прошлого разговора;@Commit (Diff of Working State)— ваши незакоммиченные изменения,@Branch (Diff with Main)— весь дифф ветки;@Browser— содержимое встроенного браузера.
Два правила, которые прямо следуют из документации:
- Знаете файл — отметьте его. Не знаете — не гадайте. Агент сам ищет по проекту. Лишние файлы в контексте только сбивают его с толку.
- Не вставляйте код простынёй. Ссылка через @ короче и всегда актуальна, а вставленный кусок устаревает после первой же правки.
Скриншот — тоже контекст. Для вёрстки и визуальных багов его часто проще вставить, чем описать словами.
Отдельно про длину разговора. У чата фиксированное окно контекста. Когда оно заполняется, Cursor сжимает старые сообщения в краткое резюме, и детали теряются. Поэтому на новую задачу открывайте новый чат, а если нужен прошлый контекст, подключите его через @Chats.
Шаблоны промтов для Cursor#
В квадратных скобках — то, что нужно заменить. У каждого шаблона указан режим и то, как проверить результат.
Новая функция
Режим: Plan, если затронуто больше пары файлов; иначе Agent.
Цель: [что должен уметь пользователь после изменения].
Где: [@файлы или @папка, если знаешь; иначе найди сам и перечисли файлы до правок].
Как сейчас устроено похожее: [@пример существующего компонента или модуля] — следуй этому образцу.
Не трогай: [модули, публичный API, стили].
Без новых зависимостей, если без них можно обойтись.
Результат: список изменённых файлов и дифф.
Проверка: [команда тестов / сборки]; пришли вывод.
Что получится: изменение в стиле уже существующего кода, а не «своя архитектура» агента.
Исправить ошибку
Режим: Agent; если причина неясна — Debug.
Ошибка: [текст ошибки или @Terminals].
Где проявляется: [страница, команда, шаги воспроизведения].
Ожидаю: [как должно быть]. Сейчас: [как есть].
Сначала назови 2–3 гипотезы причины и проверь их, потом правь.
Не глуши ошибку try/catch и не отключай проверки — найди причину.
Проверка: [команда или шаги], пришли вывод.
Если агент ходит по кругу с одним и тем же фиксом, возьмите отдельный промт для исправления ошибки: он заставляет собрать контекст и откатить неудачные попытки.
Рефакторинг без изменения поведения
Режим: Plan, затем Agent.
Задача: [вынести логику / разбить файл / переименовать] в [@файл].
Поведение не меняется: те же входы — те же выходы, тот же публичный API.
Сначала запусти [команда тестов] и запомни результат.
Делай шагами, после каждого шага снова запускай тесты.
Тесты не правь и не удаляй. Если тест мешает — остановись и спроси.
Результат: краткий список шагов и итоговый дифф.
Что получится: изменения маленькими порциями, каждая подтверждена тестами.
Написать тесты
Режим: Agent.
Напиши тесты для [@файл], сценарий: [какой случай, например «пользователь вышел из аккаунта»].
Используй тот же стиль и фреймворк, что в [@папка с тестами].
Без моков там, где можно проверить реально.
Код [@файл] не меняй. Если тест падает из-за бага в коде — опиши баг, но не чини.
Проверка: запусти только новые тесты, пришли вывод.
Так советуют и в Cursor: вместо «добавь тесты для auth.ts» назвать конкретный случай, указать образец в проекте и попросить обойтись без моков. Если хотите идти от тестов, разделите работу на два промта: сначала тесты, которые падают, потом код, который их проходит, с запретом трогать тесты.
Объяснить чужой код
Режим: Ask.
Объясни, как работает [функция / поток / модуль] в [@файл или @папка].
Нужно: по шагам, с путями файлов и названиями функций.
Отдельно: какие внешние сервисы и переменные окружения используются.
Ничего не меняй.
Что получится: карта кода, по которой потом удобно писать промт для правки.
Первый промт нового проекта по ТЗ
Режим: Plan.
Прочитай ТЗ: [@docs/spec.md].
1. Задай вопросы по всему, что неясно или противоречиво. Не пиши код.
2. После ответов составь план: структура проекта, шаги, у каждого шага — критерий готовности.
3. Правила проекта (стек, команды, запреты) предложи вынести в AGENTS.md.
Начнём с первого шага только после моего «ок».
Сам текст ТЗ лучше собрать заранее: шаблон есть на странице ТЗ для нейросети, а промт для первого шага с разбором — «сначала план». Если проект — сайт или бот, загляните в задачи: там цепочка от ТЗ до результата.
Вёрстка страницы или лендинга
Режим: Plan. Этот шаблон — развитие первой версии этой статьи: тогда мы разбирали промт для лендинга из пяти элементов, и они по-прежнему работают.
Контекст: [что за проект и для кого]. Стек: [например, Astro или Next.js, Tailwind].
Структура страницы, блоки по порядку:
1. Шапка: [логотип, пункты меню, кнопка].
2. Первый экран: заголовок «[текст]», подзаголовок «[текст]», кнопка «[текст]» → [куда ведёт].
3. [Следующий блок: что в нём, сколько карточек].
...
Для каждого блока: тексты как указано, без «рыбы»; вёрстка от 360 px до десктопа;
семантические теги (header, main, section, footer), один h1 на странице.
Оформление: цвета [основной, фон, акцент], шрифт [название], скругления [есть / нет].
SEO: title «[текст]», description «[текст]», alt у всех изображений.
Не делай: [онлайн-оплату, личный кабинет, анимации — что не нужно].
Сначала покажи план файлов. Проверка: npm run build без ошибок, страница
нормально выглядит на ширине 360 px.
Что получится: страница с теми блоками и текстами, которые вы задали, а не с теми, что агент посчитал типичными. Полная цепочка от структуры до публикации — в промте для создания сайта и на странице как сделать сайт с помощью нейросети.
Промт или правило: что вынести, чтобы не повторять#
Если вы третий раз пишете в промте «у нас TypeScript, тесты через vitest, не добавляй библиотеки», это пора вынести в правила. Модель не помнит прошлые разговоры, а правила Cursor подставляет в начало контекста каждый раз.
Варианты по документации Cursor:
- Project Rules — файлы
.mdcв папке.cursor/rules, хранятся в репозитории. Можно сделать правило всегда активным, привязать к маске файлов (например, только кsrc/components/**/*.tsx), дать агенту подключать его по описанию или вызывать вручную через @. - AGENTS.md — обычный Markdown в корне проекта, более простая альтернатива
.cursor/rules. Тот же файл понимают и другие агенты, подробнее — на странице AGENTS.md. - User Rules — ваши личные правила для всех проектов.
Создать правило можно прямо из чата командой /create-rule. Что туда класть, команда Cursor формулирует коротко: команды сборки и тестов, принятые в проекте шаблоны, ссылки на образцовые файлы. Чего не класть: весь стайлгайд (для этого есть линтер), описание каждой команды и правила под редкие случаи. Добавлять правило стоит тогда, когда агент повторяет одну и ту же ошибку.
Пусть агент сам составит AGENTS.md по вашему проекту: для этого есть отдельный промт.
Как писать промты эффективно: семь частых ошибок#
- Слишком общий запрос. «Сделай форму лучше» — агенту не на что опереться. Опишите поведение: что должно происходить и когда.
- Всё сразу. Пять задач в одном промте — и половина будет сделана поверхностно. Одна задача — один промт, большая задача — через Plan.
- Нет критериев готовности. Агент останавливается, когда ему кажется, что всё готово. Напишите, по какому признаку работа считается законченной.
- Нет запретов. Если что-то трогать нельзя (стили, API, тесты, конфиги), скажите об этом прямо. Иначе агент может «улучшить» и это.
- Один бесконечный диалог. После многих сообщений и сжатий контекст засоряется. Новая задача — новый чат, прошлое подключайте через
@Chats. - Нет команды проверки. Без
npm test, сборки или сценария вы сами становитесь проверкой и ловите ошибки после агента. - «Сделай красиво». Вкус не передаётся словом «красиво». Дайте скриншот, образец на сайте или конкретные требования: отступы, цвета, поведение на мобильном.
Когда агент закончил, читайте дифф. Код от нейросети может выглядеть правильно и при этом ошибаться в мелочах. Как проверять такой код по шагам, разобрано в статье как проверить код от нейросети. Если агент свернул не туда, у Cursor есть контрольные точки: можно вернуть файлы к состоянию до правки.
Чек-лист перед отправкой промта в Cursor#
- Выбран режим: Ask для вопросов, Plan для большой задачи, Agent для понятной правки, Debug для неясного бага.
- Цель описана как поведение: что должно происходить и когда.
- Нужные файлы отмечены через @, лишние не подключены.
- Указано, что трогать нельзя.
- Есть критерий готовности и команда проверки.
- Сказано, в каком виде нужен результат: дифф, список файлов, короткое объяснение.
- Повторяющееся (стек, команды, запреты) вынесено в правила, а не переписано в промт.
- Промт разбит на строки или пункты, а не написан сплошным текстом.
Что ещё почитать#
- Больше готовых промтов под задачи — в библиотеке промтов для программирования.
- Если ищете, чем пользоваться без оплаты: бесплатные нейросети для программирования.
- Пошаговый пример от ТЗ до результата: как сделать сайт с помощью нейросети.
Источники: документация Cursor об агенте, о промтах и @-упоминаниях, о режиме Plan, о режиме Debug, о правилах, справка о режиме Ask; руководство Cursor «Best practices for coding with agents»; рекомендации Anthropic для Claude Code.