Cursor Agent: как поручить одну функцию и проверить изменения до принятия
Cursor Agent может изучать проект, менять несколько файлов и запускать команды. Это ускоряет работу только тогда, когда задача ограничена, а результат проверяется вне ответа агента. Для первого опыта подойдет функция показа пароля в уже существующей форме входа.
Откройте копию небольшого проекта
Запустите Cursor, откройте корневую папку и дождитесь индексации. Проверьте git status и штатную команду запуска. Если проект не работал до агента, после правки будет трудно отделить старую проблему от новой.
Создайте ветку feature/password-toggle и исходный коммит. Не используйте рабочую основную ветку для эксперимента.
Начните с режима чтения
В Cursor есть режимы с разной самостоятельностью. Для исследования используйте Ask или другой read-only режим, если он доступен в текущей версии.
Найди форму входа и поле пароля. Ничего не меняй. Назови компонент, связанные стили и существующие тесты. Предложи минимальный план для кнопки «Показать пароль» без новой библиотеки.
Убедитесь, что агент нашел именно текущую форму, а не похожий компонент в архивной папке или примерах.
Задайте критерии функции
После анализа переключитесь в Agent и дайте точные требования:
Добавь рядом с полем пароля кнопку-переключатель. Она меняет тип поля между password и text, имеет доступное название для экранного диктора и не отправляет форму. Сохрани текущие стили. Измени только связанные файлы, не обновляй зависимости. Добавь или обнови тест, если в проекте уже есть тесты этого компонента.
Фраза «если тесты уже есть» не дает агенту повода устанавливать новый тестовый стек ради одной кнопки.
Проверяйте каждое действие
Cursor показывает предлагаемые изменения и команды. Разрешайте их по смыслу. Для этой функции не нужны сетевой доступ, миграции базы или удаление файлов.
Когда агент закончит, откройте встроенный diff. Проверьте:
• кнопка имеет type="button";
• значение пароля не сбрасывается при переключении;
• состояние можно понять не только по иконке;
• клавиша Enter по-прежнему отправляет форму;
• не изменены другие поля и общие стили.
Запустите приложение и пройдите сценарий мышью и клавиатурой. Затем выполните тесты самостоятельно.
Принимайте строки, а не пересказ
Отчет агента может утверждать, что функция доступна с клавиатуры, хотя реальная кнопка не получает фокус. Источником правды остаются diff и работающий интерфейс.
Если часть изменения полезна, а часть нет, отклоните лишние фрагменты или попросите Cursor вернуть конкретные строки. Не принимайте большой файл целиком ради одной удачной функции.
Перед коммитом выполните git diff --staged. Сообщение должно описывать функцию, например feat: add password visibility toggle.
Следующая задача должна оставаться отдельной
Не просите в той же сессии заодно изменить регистрацию и восстановление пароля. Создайте новый коммит и новый запрос. Малые границы облегчают ревью и откат.
Такой управляемый цикл хорошо переносится на разные AI-редакторы и агенты. В ИИ-лаборатории Глеба Кудрявцева разбираем этот подход уже на уровне полноценного проекта: от постановки небольшой задачи и проверки diff до работы с Git, базой, деплоем и безопасностью. Здесь важен не конкретный инструмент вроде Cursor, а сама логика управляемой разработки с AI.
Функцию можно принять, когда она соответствует всем критериям, diff не содержит побочных правок, интерфейс проверен руками, а Git сохраняет понятную точку возврата.