Редакция PLPB ·

Как пользоваться Cursor: Tab, Inline Edit и Agent на одном проекте

Практический гайд по Cursor для новичков: чем отличаются Tab, Inline Edit и Agent, как ставить задачу, ограничивать изменения и проверять результат.

Короткий ответ

В Cursor удобно разделять работу на три уровня. Tab помогает дописывать код небольшими фрагментами. Inline Edit меняет выделенный участок по короткому запросу. Agent выполняет многошаговую задачу с поиском файлов, редактированием, терминалом и проверкой. Чем шире задача, тем важнее сначала дать контекст и критерии готовности.

Официальный Quickstart Cursor предлагает начать с объяснения кодовой базы, затем сделать небольшое изменение и посмотреть diff. Это хороший базовый шаблон и для ежедневной работы.

Tab: локальная подсказка

Tab подходит, когда вы уже пишете код и хотите ускорить рутинное продолжение. Он полезен для:

повторяющихся конструкций;
очевидных продолжений функции;
однотипных тестов;
небольших правок рядом с текущей строкой.

Tab не заменяет постановку задачи. Если нужно изменить архитектуру, несколько файлов или контракт API, не пытайтесь решить это длинной цепочкой подсказок. Сформулируйте задачу и перейдите к Inline Edit или Agent.

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

1
не добавились ли лишние зависимости;
1
соответствует ли код локальным соглашениям;
1
не пропущена ли обработка ошибки;
1
не использует ли фрагмент данные, которых нет в текущем модуле.

Inline Edit: точное изменение выделения

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

Хорошие запросы для Inline Edit:

text
Сделай функцию чистой: не меняй публичную сигнатуру,
убери повторное вычисление и сохрани текущие сообщения об ошибках.
text
Добавь проверку пустого массива. Не меняй формат успешного ответа.
После изменения предложи тесты, но не трогай соседние функции.

Inline Edit особенно удобен для:

преобразования одного компонента;
добавления проверки входных данных;
уточнения сообщения об ошибке;
рефакторинга небольшого блока;
написания теста рядом с существующей функцией.

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

Agent: многошаговая задача

Cursor Agent умеет искать файлы, редактировать код и запускать инструменты, включая терминал. Это полезно, когда задача выглядит как последовательность: найти реализацию, изменить несколько модулей, обновить тесты и проверить результат.

Перед запуском Agent зафиксируйте четыре элемента:

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

Пример:

text
Добавь фильтр по статусу в список заказов.
Сначала найди текущий запрос и компонент списка.
Не меняй схему базы и стили других страниц.
После правки запусти существующий type-checker и перечисли изменённые файлы.

Для крупной задачи попросите сначала план. Если требования неясны, лучше получить список вопросов, чем позволить Agent самостоятельно выбрать бизнес-правила.

Один проект — один рабочий цикл

Полезно пройти одну и ту же задачу тремя режимами:

1
Tab: допишите локальную строку или тестовый шаблон.
1
Inline Edit: выделите функцию и попросите добавить проверку.
1
Agent: попросите найти места вызова, обновить тесты и проверить проект.

После этого вы увидите границу между режимами. Tab ускоряет набор, Inline Edit даёт точечный контроль, Agent помогает координировать действия по проекту.

Как писать задачу для Agent

Слабая формулировка

text
Почини авторизацию.

Здесь нет сценария ошибки, ожидаемого поведения и границ изменения.

Рабочая формулировка

text
При истёкшей сессии API сейчас возвращает необработанную ошибку.
Найди middleware и тесты этого сценария. Покажи план.
После подтверждения верни единый код ошибки, сохрани успешный путь,
добавь тест и запусти существующую проверку. Не меняй формат токена.

Полезно просить Agent отвечать по этапам: «что найдено», «что изменено», «какие проверки выполнены», «что осталось проверить вручную».

Терминал и разрешения

Agent может вызывать команды, но это не делает каждую команду безопасной. Перед подтверждением посмотрите:

какая папка указана текущей рабочей директорией;
не удаляет ли команда файлы;
не меняет ли миграции или данные;
не отправляет ли содержимое проекта в сеть;
не использует ли секреты из окружения.

Для установки пакета или запуска скрипта попросите объяснить назначение команды. Для массовых изменений сначала создайте точку возврата в Git и ограничьте область работы.

Diff, тесты и checkpoints

После выполнения Agent:

1
просмотрите diff;
1
проверьте, что изменены только нужные файлы;
1
запустите type-checker, линтер или тесты;
1
проверьте поведение вручную;
1
только затем фиксируйте результат.

Checkpoints Cursor помогают сохранить локальные снимки состояния во время сессии, но они не заменяют Git и code review. Для рабочего проекта держите нормальную ветку и коммиты.

Когда нужен явный контекст

Если Agent неверно понял архитектуру, добавьте @File, @Folder или конкретный символ через @Code. Не вставляйте в запрос весь репозиторий «на всякий случай»: лишний контекст увеличивает шум и затрудняет проверку.

Отдельно о выборе файлов и папок рассказано в гайде PLPB про контекст Cursor, а постоянные инструкции разобраны в гайде по Cursor Rules.

Как вести задачу от запроса до коммита

Шаг 1. Зафиксируйте ожидаемый результат

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

Шаг 2. Выберите минимальный режим

Для одной строки используйте Tab. Для одного выделенного блока — Inline Edit. Только для цепочки действий переходите в Agent. Это уменьшает область потенциального diff.

Шаг 3. Передайте контекст

Добавьте файл, символ, тест или лог. Укажите, какие публичные контракты нельзя менять. О контексте подробно рассказано в отдельной статье PLPB.

Шаг 4. Попросите план

Даже для небольшой задачи попросите перечислить файлы и способ проверки. Если план включает ненужную миграцию или новую зависимость, остановитесь и уточните предположение.

Шаг 5. Проверьте результат

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

Примеры задач по режимам

ЗадачаРежимГраница
Дописать обработчик известного типаTabТекущий файл и соседние строки
Добавить проверку к выделенной функцииInline EditВыделенный блок и его тест
Найти все вызовы и обновить контрактAgentПеречень разрешённых каталогов
Разобраться в неизвестном модулеChat или Agent без правокТолько анализ и список источников

Таблица — не жёсткое правило. Если Tab начинает подсказывать не то, переключайтесь на более явный контекст. Если Agent создаёт слишком большой diff, возвращайтесь к Inline Edit или разбивайте задачу.

Как давать обратную связь

Если предложение неверно, объясните причину конкретно:

text
Не принимай этот вариант: он меняет публичное поле response.data.
Сохрани существующий контракт и предложи решение только внутри адаптера.

Не ограничивайтесь «это неправильно». Укажите факт проекта и требуемую границу. Так Cursor может скорректировать следующий шаг, а вы сохраняете историю решений.

Когда не стоит использовать Agent

Agent не нужен для механической правки одной строки, чтения справки или проверки очевидного типа. Избыточный режим увеличивает количество действий и усложняет review. Начинайте с самого узкого инструмента, который решает задачу.

Частые вопросы (FAQ)

Чем Tab отличается от Agent?

Tab предлагает локальное продолжение кода. Agent выполняет многошаговую задачу и может работать с несколькими файлами и инструментами.

Когда выбирать Inline Edit?

Когда вы знаете точный фрагмент и хотите сохранить контроль над областью изменения. Выделение задаёт Agent понятную границу.

Можно ли попросить Agent сначала только проанализировать код?

Да. Явно напишите «не изменяй файлы» и попросите перечислить точки входа, найденные зависимости и план.

Нужно ли принимать все предложения Tab?

Нет. Принимайте только подсказки, которые можете быстро проверить и объяснить.

Заменяет ли Agent code review?

Нет. Просмотр diff, тесты и проверка требований остаются обязательными.

Как уменьшить лишние изменения?

Укажите разрешённые файлы, запретите затрагивать соседние модули, попросите план и проверяйте diff после каждого этапа.

Нужен доступ к сервису?

Выберите товар в каталоге, оформите заказ и оплатите его на сайте. Дальнейшие шаги появятся в чате заказа.

Каталог подписок

Вопросы: help@plpb.tech