Агент Cursor без хаоса: роли экономят время на правках

Обложка: агент Cursor — время на правки из-за ролей без владельца

Вы открыли Agent (режим агента в Cursor: сам правит файлы по задаче) и написали «сделай всё»: собери research, набросай пост и поправь лендинг. Три потока взялись за работу — и все правят один brief.md. К вечеру нет ни готового текста, ни понятного статуса. Есть страх смотреть diff (список изменений в файлах) и ощущение, что время и токены ушли в рутину переписываний.

Ниже — короткий путь к первому результату: один владелец файла и оркестратор, который только делит задачу, а не пишет draft сам. Так вы быстрее доходите до брифа или черновика и меньше времени тратите на спор агентов за одну строку.

Сначала закрепите владельца файла: роль research владеет brief.md и не трогает draft. Оркестратор делит шаги и читает handoff (короткий статус: готово, путь файла, что нельзя трогать) — чужие файлы не правит. Когда это видно в папке проекта, добавьте ещё две роли и один прогон research→draft.

Параллельные агенты в Cursor сами не мержат результат и не запрещают двум сессиям писать в один файл — координация на вас. Nesting (когда субагент порождает ещё одного) ограничен двумя уровнями делегирования. «Рой» без владельца файла даёт конфликты и лишние токены, а не офис.

Остановите спор за brief.md: один владелец файла

Таблица: спор за brief.md против одного владельца файла

Субагент — это отдельная роль с своим промптом и зоной файлов, не «ещё один умный чат». Пока у трёх ролей один и тот же путь, UI не разберёт, кто прав. Community прямо пишет: Agents Window (окно списка агентов и сессий в Cursor) не мержит выводы и не блокирует same-file правки.

Сделайте первый шаг до зоопарка плагинов.

  1. В корне проекта откройте или создайте папку .cursor/agents/.
  2. Создайте файл research.md с YAML в шапке (это блок настроек в начале файла: имя роли и описание): name и короткое description — зачем делегировать эту роль.
  3. В теле роли напишите блок «владеет»: brief.md (и при необходимости папка заметок research).
  4. Рядом блок «не трогает»: draft.md, лендинг, любые файлы текста поста.
  5. В чате Agent уберите формулировку «сделай всё». Дайте узкую задачу: «Только research: обновить brief.md, draft не трогать».
  6. Запустите один прогон и откройте diff / историю файла brief.md.

Мини-фрагмент для research-роли — вставьте в тело файла после YAML:

Владеет: brief.md
Не трогает: draft.md, landing/, handoff.md (кроме чтения статуса)
Задача: собрать факты по теме поста.
Критерий готово: в brief.md есть оффер, аудитория и 3–5 фактов с источниками.

Проверка: в проводнике Cursor → корень → .cursor/agents/ файл research.md открывается, и в нём явно видно «владеет brief.md / не трогает draft»; после прогона brief.md меняла только эта роль. Первый win — не «разобрались в multi-agent», а один понятный владелец файла.

Типичная ошибка: роль есть, а в промпте снова «и заодно набросай пост». Тогда research снова лезет в draft. Восстановление — вычеркнуть вторую задачу из сообщения, оставить один путь файла и повторить узкий запуск. Если brief правит «главный» чат без роли — вы ещё в режиме одного универсального помощника; вернитесь к файлу в .cursor/agents/.

Оркестратор только делит задачу — не пишет чужой текст

Схема: оркестратор делит задачу и не пишет чужой draft

Оркестратор (это диспетчер смены: делит работу и принимает отчёт, сам текст не пишет) в официальном паттерне Cursor — Planner перед Implementer и Verifier. В skill /orchestrate planner не кодит: workers изолированы, без переписки друг с другом, handoff идёт вверх.

Создайте .cursor/agents/orchestrator.md.

  1. В «владеет» укажите план задачи и файл handoff.md (короткий статус после роли).
  2. В «не трогает» — brief.md, draft.md, любые финальные тексты.
  3. В description зафиксируйте сигнал: «делит шаги research/draft, не пишет контент».
  4. Попросите оркестратор только разложить вечер: research → handoff → draft. Без «напиши пост сам».

Проверка: в ответе есть делегирование ролей, а в истории правок draft нет следов оркестратора. Если оркестратор начал писать абзацы поста — остановите чат, допишите в роль «не писать draft / не править brief» и запустите заново только деление задачи.

Три файла ролей в .cursor/agents/, не зоопарк из 19

Чеклист: три файла ролей вместо зоопарка из 19 агентов

В docs Cursor канон — начинать с 2–3 focused субагентов, не с десятков generic. Живые якоря канала (офис страниц, TEYA, Excalibur) показывают, к чему вырасти: там 12–19 ролей. Day-1 новичка — три файла, не весь плагин.

Добавьте минимум:

  • orchestrator.md — делит и читает handoff;
  • research.md — владеет brief;
  • draft.md — владеет черновиком поста или страницы, не трогает brief.

Опционально четвёртый — verifier: только проверяет, ничего не пишет. Пять параллельных субагентов ≈ примерно в пять раз больше токенов, чем один агент: каждый тащит свой контекст. Для зависимого контента (сначала бриф, потом текст) параллель не ускоряет — она спорит.

Проверка: в проводнике Cursor → корень → .cursor/agents/ лежат 3–4 markdown-роля; списки «владеет» не пересекаются по путям. Если уже наплодили десяток «универсальных помощников» — оставьте три файла, остальные перенесите в архив вне .cursor/agents/, чтобы Cursor их не подхватывал. Плагины вроде TEYA или офиса страниц — следующий шаг после стабильного handoff, не вместо него. Если ещё нет даже двух ролей, начните с гайда первый офис из субагентов, затем вернитесь к матрице оркестратор→handoff.

Короткий handoff после research: четыре строки

Handoff мы уже назвали коротким статусом. Здесь — шаблон из четырёх строк, чтобы draft не просил «перескажи весь чат» и не лез в brief.

После research создайте или обновите handoff.md:

  1. Статус: готово / частично / стоп.
  2. Путь артефакта: например brief.md.
  3. Запреты: «draft не переписывает выводы research; оркестратор не правит brief».
  4. Критерий «готово»: одна фраза, что должна увидеть следующая роль (например «в brief есть оффер, аудитория и 3 тезиса»).

Проверка: роль draft стартует по этому файлу и не переспрашивает весь диалог. Если draft снова тянет research-заметки «на всякий случай» — в handoff не хватает пути или запрета; допишите и повторите только шаг draft. Шаблон держите в корне задачи и копируйте после каждой роли.

Один прогон research→draft без каши в папке

Когда владелец файла и handoff на месте, соберите один цикл — не пять параллельных чатов.

  1. Оркестратор формулирует только план: research → handoff → draft.
  2. Research обновляет brief.md и пишет handoff.
  3. Draft читает handoff и пишет только свой файл (например draft.md или черновик поста).
  4. Откройте diff: brief и draft менялись разными ролями.
  5. Убедитесь, что оркестратор не появился автором текста draft.

Проверка успеха за вечер: в проекте есть 3–4 роли с «владеет / не трогает», артефакт research, артефакт draft и короткий handoff; оркестратор не писал текст сам; пути ролей не пересекаются. Завтра тот же сценарий повторяется без нового зоопарка generic-агентов.

Если два агента снова упёрлись в один файл — не включайте «ещё параллель». Поставьте очередь: сначала research, потом draft. Для пересекающихся правок позже пригодится /worktree (отдельная копия проекта на агента) и /apply-worktree — страховка из docs Cursor, не обязательный клик в первый час.

Если ждёте, что Cloud Agents (облачный прогон задачи) сами раздадут субагентов — вернитесь в локальный IDE: day-1 роли и делегирование живут в Cursor на вашем компьютере; облако не обещает тот же UX субагентов. Сначала закройте локальный цикл с handoff, потом читайте Cursor Cloud Agents.

Тот же вечер: бриф есть, каши в diff нет

Ситуация «трое правят один brief.md» закрывается матрицей: диспетчер делит, research владеет брифом, draft владеет текстом, между ними — handoff из четырёх строк. Дальше — skills, rules и плагины: skills для маркетинга, rules проекта, плагины Cursor. Наставник — CursorJr; примеры масштаба — офис страниц и Excalibur. Разборы живых связок — в канале @maya_pro и в MAX: max.ru/maya_pro.

Материал проверен: Артур Хорошев (CEO Maya AI, автор курса по Make.com и вайбкодингу).

Опора на источники: cursor.com/docs/subagents (роли, ownership, nesting, старт 2–3); cursor.com/docs/configuration/worktrees; forum.cursor.com/t/152546 (Cloud ≠ тот же Task/subagent UX); github.com/cursor/plugins orchestrate SKILL; Яндекс Вордстат «агент cursor» ≈510 / parent «cursor ai» ≈12826 на 2026-07-20; t.me/maya_pro #1320, #1324, #1327, #1331.

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

Чем это отличается от «первого офиса из двух субагентов»?

Там — как завести две роли. Здесь — слой оркестратор + владелец файла + handoff: кто делит, кто не трогает чужие пути, как передать статус дальше. Если двух ролей ещё нет, начните с того гайда, затем соберите матрицу из этой статьи.

Нужен ли /worktree в первый вечер?

Нет, если роли не пересекаются по файлам и идут очередью. Worktree нужен, когда два агента реально правят пересекающиеся пути и вы сознательно хотите изоляцию checkout (отдельную копию ветки). Сначала пропишите владельца файла в роли.

Почему не поставить сразу 19 агентов как в TEYA?

Docs Cursor советуют старт с 2–3 focused. Большой плагин — следующий шаг после рабочего handoff. Иначе снова получите generic-зоопарк и те же конфликты файлов.

Cloud Agents сами раздадут субагентов?

Не рассчитывайте на day-1. Community фиксирует: в Cloud делегирование субагентов работает иначе, чем Task в локальном IDE. Сначала стабильный локальный handoff, потом облачный сценарий.

Что писать в handoff, если research «почти готов»?

Статус «частично», путь к текущему brief, список дыр (чего не хватает) и запрет draft дописывать факты «от себя». Draft тогда либо ждёт, либо пишет только каркас под отмеченные дыры — без тихого перехвата brief.