Оркестрация Суб-агентов в Cursor AI: часы автономной работы через циклы агентов
Alexey Andreevsky · 2026-02-15 · 38м 40с · 20 965 просмотров · YouTube ↗
Топики: ai-loop-engineering
🎧 Аудио
📝 Summary
model=deepseek-v4-flash · prompt=summary-v7 · 11 732→3 437 tokens · 2026-07-20 12:11:14
🎯 Главная суть
Оркестрация субагентов в Cursor AI позволяет передавать большие списки задач (целые roadmap) и уходить от компьютера на часы — субагенты работают последовательно в своих контекстах, не забивая основной контекст агента, что предотвращает галлюцинации и даёт высокую автономность. Система строится на трёх компонентах: субагенты (отдельные специализированные «рабочие»), скиллы (описания процессов) и команды (однокнопочные инструкции для запуска скиллов).
Зачем нужна оркестрация субагентов
Когда агенту даётся одна большая задача (или список задач) и он пытается всё решить самостоятельно, контекст забивается к середине процесса — нейронка начинает галлюцинировать. Оркестрация решает это, заставляя основного агента делегировать подзадачи субагентам, каждый из которых работает в своём изолированном контексте. Результат субагента возвращается в основной чат, но внутренняя работа остаётся скрытой. Так можно обрабатывать задачи длительностью 30–60 и более минут без вмешательства пользователя. Плата — повышенный расход токенов (порядка непрерывного ручного промптинга), но это оправдано высвобождением времени разработчика.
Создание субагента Worker
Первый субагент создаётся через настройки Cursor (раздел Rules, Skills, Sub-agents → Sub-agents → New). Вызывается встроенная команда create subagent. В промпте нужно описать роль («пишет код, внедряет функционал, выполняет задачи по разработке») и имя (например, worker). Важно: агент должен размещаться в папке проекта — .cursor/agents/, а не в глобальной папке пользователя. После создания в папке появляется YAML/JSON-файл с полями description (отображается в интерфейсе) и основной инструкцией. Агент можно вызвать вручную через /имя или @имя. Для выбора модели (например, Haiku для простых задач, Opus для сложных) есть поле с опциями: inherit (наследует модель основного чата) или конкретная модель.
Создание субагента Code-Reviewer
Аналогично создаётся второй субагент — code-reviewer. Его задача — проверять качество кода, который написал Worker, находить критические ошибки, недочёты и предлагать оптимизации. При создании можно сразу указать модель (например, Sonnet 4.5) и попросить разместить агента в директории проекта. После создания агента его инструкцию можно редактировать вручную — это шаблон, который нужно адаптировать под конкретный проект.
Проблема автоматического распознавания: скиллы не срабатывают сами
Наличие субагентов и их описаний не гарантирует, что Cursor автоматически решит их вызывать для каждой задачи. При попытке дать задачу «создать T3 Stack проект с главной страницей» основной агент просто выполнил её сам, не задействовав ни Worker, ни Code-Reviewer, несмотря на то, что ранее был создан скилл с описанием процесса оркестрации. Описание скилла (skill.md) загружается в контекст, но агент может игнорировать его, если не получает явной команды «используй skill такой-то». Значит, нужен механизм автоматического запуска — им становятся кастомные команды.
Скиллы: детальное описание процесса
Скилл — это папка .cursor/skills/название/ с основным файлом skill.md, в котором прописана последовательность действий. Например, скилл subagent workflow содержит инструкцию: «Когда получена задача на разработку, сначала запустить Worker для её выполнения. После его завершения обязательно запустить Code-Reviewer для проверки. Если найдены критические ошибки, Worker должен снова внедрить исправления». Код скилла был создан с помощью команды create skill в настройках, при создании можно указать глобальное или локальное (проектное) размещение.
Команды: как убрать ручной ввод
Чтобы не писать каждый раз «используй skill subagent workflow», создаётся кастомная команда. В настройках Cursor (раздел Commands → New → Project command) задаётся имя команды (например, implement). Генерируется файл .cursor/commands/implement.md, содержащий инструкцию: «При вызове этой команды используй skill по ссылке ../skills/subagent-workflow/skill.md». После этого в чате достаточно написать /implement описание задачи, и агент автоматически прочитает скилл и запустит оркестрацию. Продемонстрировано: задача «добавить кнопку и счётчик кликов» с помощью команды implement вызвала Worker, затем Code-Reviewer (который нашёл потенциальную проблему), затем Worker исправил проблему — всё автоматически.
Субагент-планер для больших комплексных задач
Если задача слишком велика (целый roadmap), даже Worker может забить свой контекст. Для этого создаётся субагент-планер (planner). Его инструкция: получить описание большой задачи, разбить её на последовательные подзадачи, для каждой создать отдельный файл в папке .cursor/tasks/. Планер может также создавать файл-план со ссылками на эти подзадачи. В демонстрации планер сгенерировал 7 подзадач для пошагового создания игры.
Новый скилл Orchestrate Workflow
Для работы с планером создаётся отдельный скилл orchestrate workflow. Последовательность: при получении большой задачи или списка задач → вызывается Plannier, который создаёт план и файлы подзадач; после его завершения для каждой подзадачи последовательно вызываются Worker и Code-Reviewer (итеративно, пока не выполнены все задачи). Соответствующая команда orchestrate привязывается к этому скиллу. В демонстрации пользователь отправил запрос «сделать игру Number Battle» через команду orchestrate, и система запустила: Plannier → для каждой из 7 задач Worker → Code-Reviewer → далее.
Демонстрация автономной работы в течение 20 минут
Результат: субагент-планер за несколько итераций создал 7 подзадач (логика игры, UI, проверка победителя и т.д.). Затем Worker последовательно реализовывал каждую задачу, Code-Reviewer проверял выполненную работу (критических ошибок не было, поэтому Worker не перезапускался). В конце агент открыл браузер внутри Cursor, протестировал игру — нажатие кнопок, проверка рандомного числа и определения победителя. Всё это заняло около 20 минут, от пользователя потребовалось только один раз разрешить создание папки .cursor/tasks. Контекст основного чата после завершения был заполнен всего на 28% — субагенты взяли на себя основную нагрузку.
Преимущества подхода перед работой без субагентов
Такую же задачу можно было бы отправить в один чат и попросить агента сделать всё сразу. Но оркестрация с разбиением на подзадачи, отдельным тестированием (встроенное открытие браузера) и code-review значительно снижает вероятность ошибок и некачественного кода. При этом не нужно следить за выполнением — основная ценность в высвобождении времени разработчика, а не в экономии токенов. Контекст субагентов изолирован, поэтому длинные процессы не приводят к деградации качества.
📜 Transcript
ru · 5 493 слов · 99 сегментов · clean
Показать текст транскрипта
Здарова, вайпкодеры! Вдогонку к последнему гайду по курсору решил снять еще одно видео, в котором более углубленно и детально рассмотреть способ оркестрации субагентов в курсоре. Аркестрация субагентов позволяет нам повысить автономность работы нейронок. То есть мы буквально можем грузить туда какой-то огромный список задач, целые родмапы и уходить пока и агенты выполняют этот список задач. Причем за счет того, что мы будем использовать субагентов, которые каждый работает в своем контексте, мы можем не переживать, что контекст у нас забьется где-то на середине процесса и нейронка начнет галлюцинировать. В этом видео мы сделаем вместе с вами такой оркестратор, разберемся с принципами его работы, после чего вы сами сможете создавать такие системы. А также в конце видео я дам ссылку, где скачать готовое решение, чтобы вам не тратить свое время и токены в нейронке. Все как обычно, с меня годнота, с вас лайк и подписка. И мы начинаем. После того, как я попробовал этот подход, я первый раз действительно прочувствовал, что нейронкам можно давать какие-то достаточно большие задачи. Даже не одну задачу какую-то большую, а прям список задач, как вот мы roadmap с вами писали, ну то есть очень большую. И уйти куда-то, пить чай, кушать на полчаса, час, может быть даже больше. И агенты действительно продолжат работать над этой задачей, при этом контекст не забьется, галлюцинировать они не начнут. Это прикольно. Сразу скажу, что токенов такая система жрет достаточно много, но тем не менее такая система может работать достаточно долгое время. И если бы мы руками точно так же писали все эти промты и контролировали нейронку на каждом шаге, может быть токенов мы бы потребляли все-таки меньше, но у меня такое ощущение, что ненамного. Ну то есть разница между тем, что мы... сами пишем промты на протяжении часа, либо даем какую-то большую задачу, или там целый список задач, и на этот час уходим от компьютера, как будто бы не кардинально должен отличаться. То есть, что в первом случае нейронки работают на протяжении часа, просто мы их запускаем руками, что во втором случае нейронки работают на протяжении часа, просто они запускаются автоматически. Ну, не знаю, какая-то разница может быть и есть, просто готовьтесь к тому, что все это, конечно, жрет токены. И это видео не про... как сэкономить на запросах к нейронке и тем самым реже упираться в лимиты, про это есть отдельное видео. Это видео скорее про то, как выжимать максимум автономности из нейронок, при этом не сильно теряя в качестве. То есть чтобы агенты не только писали код, но и автоматически его ревьювили, и нам нужно было по минимуму вообще в этот процесс включаться. Так что да, токенов будет тратиться много, но зато мы повысим автономность, высвободим свое время, которое тоже чего-то да стоит и надеюсь стоит все-таки больше чем эти токены которые мы потратим на нейронки окей давайте начинать сейчас у меня открыто пустая папка в курсоре я назвал ее курсор демо в общем-то разницы никакой просто пустая папка и начнем мы с создания субагентов потому что именно на них вся эта система и строится именно они в конечном счете позволяют нейронки работать автономно долгое время не вбивая контекст, потому что каждый субагент, когда он начинает выполнять какую-то задачу, он делает ее в своем контексте, не засоряя при этом общий контекст нашего основного агента. И, собственно, это как раз и позволяет вызывать просто много раз субагентов, при этом не терять основной контекст повествования, ну, то есть задачи вообще этого процесса, а как раз субагентами решать вот последовательно все задачи, которые нужно сделать. Окей, как нам создать субагента? здесь создать папку курсор в ней создать папку и джинс туда засунуть соответствующие файлы субагентов но мы сейчас пойдем другим путем сделаем это через настройки открываем курсор с этим переходим здесь в русский сабы джинс и здесь находим раздел сабы джинс вот он собственно у нас есть И нам нужно нажать на кнопочку New. Не обращайте внимания, что здесь есть какие-то субагенты в списке. На самом деле это субагенты Клода, которые находятся у меня в папке юзера, ну то есть в глобальной папке, которая доступна во всех проектах. Конкретно в этом проекте сейчас ничего нет, никаких субагентов, вообще никаких файлов. Не нужно на это все обращать внимание, это мы сейчас использовать не будем. То, что у вас тут может быть пустой список, это абсолютно нормально. Короче, давайте создадим нашего субагента. нажимаем на кнопочку new у нас в чате вставляется prompt для создания субагента первое что мы здесь видим это команду create subagent это встроенная в курсор команда которую нельзя по моему не посмотреть не отредактировать ну и не надо просто имейте ввиду что эта команда уже встроена в курсор в ней описана какая-то инструкция по созданию субагента и дальше курсор предлагает нам следующее начало про то это помоги мне создать субагента для курсора субагента который мы сейчас создадим это будет обычный рабочий который будет внедрять нам код и выполнять какие-то задачи дальше я написал здесь описание субагента что он будет писать код внедрять функционал и выполнять какие-то задачи по разработке и я хочу назвать его worker то есть рабочий который будет собственно заниматься выполнением задач отправляю этот промт пишу здесь на английском потому что английские символы тратят меньше токенов, поэтому все вот эти системные промты, которые относятся к правилам, скиллам и так далее, лучше писать на английском. Соответственно, и для субагентов тоже. Дальше у нас спрашивают курсор, можно ли создать соответствующую папку для агентов. Мы ему, конечно же, это разрешаем. У него это вбито куда-то вот сюда в команду. какой директории нужно создавать агентов сейчас он должен по идее сделать здесь нам папку получилось вот что он создал нам субагента в папке пользователя но нам нужно сделать субагента в папке нашего проекта я даже не буду это вырезать потому что если вы вдруг натолкнетесь на такую ситуацию то будете знать в чем дело обычно субагентов он создавал мне в папке проекта но почему-то сейчас он решил это сделать в пользовательской папке сейчас я откачу все изменения нажав на эту стрелочку И по идее он должен был удалить того агента. И допишу здесь, что нужно сделать это в директории проекта. Написал ему, что нужно создать агента в директории проекта. Сейчас, я думаю, он его сделает уже нормально. Да, действительно, путь у него поменялся. Теперь он создал папку курсор внутри папки нашего проекта. В папке курсор появилась папка agents, в которой появился worker. Собственно, вот он наш субагент, который будет внедрять задачи. На самом деле мы уже можем его использовать без вообще абсолютно каких-то других настроек, но использовать мы его можем скорее в мануальном, то есть в ручном режиме. У него, конечно, есть здесь description. Вот это поле, которое еще вот здесь отображается, его тут тоже можно редактировать, они друг с другом связаны. И по этому описанию, по идее, курсор может понять, когда нам нужно вызвать. этого субагента но судя по практике это происходит ну раз через раз то есть он потенциально может это сделать но может и не сделать если вы хотите чтобы курсор сам понимал когда нужно вызывать этого субагента а он почему-то не понимает то первое на что нужно обращать внимание и редактировать это как раз вот это описание то есть это описание загружается в контекст курсора Каждый раз, когда мы отправляем какой-то промт сюда. Основное содержимое агента он может не подсчитывать, но описание он видит у агента. И если он в какой-то момент поймет, что описание подходит к сложившейся ситуации, и в этот момент нужно вызывать субагента, он это сделает. Но это не единственное, как можно... ему об этом сказать. Чуть позже мы до этого дойдем, как раз когда будем настраивать оркестрацию. Но давайте я просто продемонстрирую на всякий случай, что его можно вызывать уже сейчас. Для этого... Достаточно просто через слэш написать название, точнее имя нашего агента. В нашем случае это Worker, у нас здесь предлагает курсор нашего агента. Если на него кликнуть, то, собственно, вот он подсвечивается. И таким образом мы обращаемся к нашему субагенту. Я могу задать ему какой-то промт, например, напиши в корне проекта readme файл, в котором укажи, что это тестовый проект для демонстрации оркестрации. Допустим, напишу ему такой промт, на самом деле это сейчас не принципиально важно. Пока что я выберу модель Хайку, просто чтобы немножко сэкономить токенов. И, кстати, да, обратите внимание, что в настройках нашего агента вот здесь подсвечивается модель. И тут написано inherit. Это значение по умолчанию, но также мы можем выбрать какую-то конкретную модель, и тогда этот субагент будет работать именно на этой модели. То есть если субагент занимается какими-то сложными задачами, можно поставить ему модель покруче, например, opus. Либо если субагент предполагается для выполнения каких-то очень простых задач, можно поставить модель попроще, например, haiku. Обратите внимание, что он закончил. выполнять нашу задачу, создал редметы, у него заняло немного времени, очевидно, задача небольшая, но основное, что нас интересует, это вот этот блочок, который появился в контексте. Если по нему кликнуть, то откроется контекст вызванного субагента. Вы можете заметить, что здесь содержимое отличается от того, что мы видим в основном чате, и это нормально. В основном чате у нас основной контекст с нашим агентом, а это контекст нашего субагента, который не идет в основной чат ну то есть какой-то результат выполнения он в основной чат прокидывает но основная вся работа остается у него в своем контексте за счет этого как раз экономится использование контекстного окна в основном субагенте в данном случае мы потратили 16 процентов что ну на самом деле немало но здесь нужно понимать что когда мы отправляем промт он отправляет туда также какие-то системные промты курсора в том числе какие-то правила если они у нас есть например из user rules которые отправляются везде. Вот здесь в разделе User Rules. Да, у меня есть какие-то там правила. Не так важно, на самом деле, сейчас что там написано. Просто они тоже туда отправляются. И плюс, да, какие-то мастер-промты от самой программы, от курсора туда тоже идут. Короче, первый... Запрос может занимать больше контекста, чем ожидается, но, допустим, если мы дальше сюда что-то будем прокидывать, то следующее увеличение контекста уже будет не такое большое. Ну, особенно, если мы субагента вызовем, и он возьмет работу на себя. Поэтому не пугайтесь. Ладно, сейчас мы продемонстрировали вообще работу субагентов. Понятно, как они вызываются, как они выглядят. Выглядят, в общем, соответствующим образом. Написано имя субагента. Он вызвался в своем контексте, сделал какую-то задачу. Сейчас я этот файл удалю. Он нам пока что... не нужен сейчас давайте создадим еще одного субагента просто чтобы было кого оркестрировать собственно говоря чтобы они запускались поочередно и сделаем это так же как мы сделали это с первым агентом через настройки в разделе subagents нажмем new agent и сейчас я напишу ему сюда новый промт для создания второго субагента Напишу здесь достаточно простой промпт, субагент-ревьювер, который будет проверять качество созданного кода. И также я ему помечу, что нужно создать это в директории проекта. Обычно он сам до этого додумывается, но на всякий случай я ему скажу, раз уж мы сегодня напоролись на такой момент. Сразу выберу модель сенет 4.5 и нажимаю Enter. Окей, теперь у нас есть два субагента, это Worker и код-ревьювер. Пока что согласимся со всеми изменениями. Я не буду сейчас углубляться в детальную настройку этих промтов субагентов, потому что опять это видео будет очень большим. Оно и так, наверное, затянется, но по крайней мере не на 2,5 часа. Это можно прочитать и редактировать, естественно. Относиться к вот этим созданиям субагентов можно как к какому-то шаблону, я не знаю. То есть в любом случае их нужно чекать, ревьюзить, проверять на соответствие для вашей конкретной ситуации, для вашего конкретного проекта, дополнять эти инструкции какой-то информацией для ваших проектов, либо наоборот убирать какие-то лишние инструкции. Но пока что мы этим заниматься не будем. Давайте теперь перейдем непосредственно к... процессу оркестрации ну то есть вот у нас есть два субагента сейчас чтобы сильно эти сущности не множить давайте на простом примере разберемся как это устроено изначально процесс оркестрации то есть последовательного и зацикленного вызова субагентов я планировал делать через хуки но через хуки у меня это сделать не получилось точнее как-то это работало но не так как мне бы хотелось то есть у меня вызывался один субагент а потом Хуки, которые вызывали последующих субагентов, вызывались как-то странно. То есть инструкции субагентов как будто бы вызывались прямо вот в контексте этого одного субагента. И вот в основном чате был только один. а мне хотелось видеть прям последовательно вот эти плашки, что сначала работает один, потом работает второй. Короче, через хуки у меня это сделать не получилось, зато у меня прекрасно это получилось сделать через скиллы. И это как раз один из классных примеров использования скиллов. В гайде по курсору я уже говорил, что скиллы предназначены для описания каких-то процессов. И вот сейчас дополню, что эти процессы могут быть как какие-то небольшие, например. работы с ГИТом, так и глобальный процесс, то есть в целом внедрение каких-то задач и работы агентов, субагентов, в какой момент нужно кого вызывать, в какой момент... что и как нужно делать. В общем, сейчас мы это все с вами создадим. Переходим опять в настройки. Я постараюсь по максимуму показывать именно через графический интерфейс все эти создания. На самом деле, можно было бы просто руками создать вот эти файлы. Они бы точно так же работали. Но для простоты буду показывать, как это делать через интерфейс. Переходим опять же в настройках в раздел RuleSkillsSubAgence и напротив Skills нажимаем New. У нас опять вызывается команда. курсоре create skill с просьбой помочь нам сделать скилл для курсора и здесь нам нужно сейчас будет описать процесс работы с субагентами последовательный их вызов как мы это хотим чтобы агент курсора делал напиши скилл в котором будет описан процесс работы субагентов следующим образом Когда агент получает задачу на внедрение, создание, в общем, какую-то задачу по разработке, сначала должен запускаться субагент-воркер, который должен делать эту задачу. После его завершения должен обязательно запуститься субагент-код-ревьювер и проверить качество работы воркера. найдет критичные ошибки, недочеты. возможности оптимизировать код он должен написать об этом после чего опять должен запуститься worker и внедрить всю эту оптимизацию которую предложил код reviewer я перевел prompt который надиктовал на английский давайте отправим этот prompt и посмотрим что создаст нам курсор какой скилл он нам сделает интересный момент мы не указали здесь какой скилл мы хотим сделать глобальный то есть в папке пользователя или локальный в папке проекта, и он нас здесь спросил. Было бы неплохо, если бы он и для субагентов нас тоже это спросил. Ну, может быть, нам просто не повезло, и... Что-то его проглючило, он решил не спрашивать. В любом случае, давайте сделаем вот project. Это в папке нашего проекта. Я нажимаю continue. И сейчас он должен сделать скилл, который появится в папке курсор, в папке скилл. Итак, он закончил работать над скиллом. Давайте посмотрим, что у него получилось. В папке курсор появилась папочка skills. И в ней появилась папка subagent workflow. Скиллы создаются в папках, то есть в отличие от агентов, которые... представляет из себя один агент, один файл, то скиллы — это целые папки, в которых есть главный файл skill.md, и также там могут быть какие-то другие файлы, например, скрипты или дополнительные файлы с инструкциями. Но сейчас у нас нет необходимости в их создании. Давайте посмотрим, что у него получилось. Я соглашусь с его изменениями. В общем-то, здесь он написал описание про оркестрацию воркера, код-ревьювера, субагентов для внедрения тасков. Попробуем выполнить какую-то задачу и посмотрим, насколько хорошо у него получилось, насколько хорошо он считает этот скилл. Предварительно я создам новую папку, которую назову App, чтобы он внутри нее создавал какой-то новый проект. Создай в папке App. t3 stack проект с главной страницей на которой напиши hello vibe coders достаточно простой промпт вместо папки app я ему буквально скинул ссылку на эту папку чтобы он не запутался и попрошу его это сделать t3 stack если в двух словах это такой набор инструментов для разработки full stack приложений на тайп скрипте с использованием next.js обратите внимание что сейчас он не вызывает никаких субагентов. То есть, по большому счету, можно даже не продолжать. Нас в первую очередь интересовал вопрос вызова субагентов. И, как вы можете видеть, ни описание в агентах, ни описание в скиллах не помогло нам автоматизировать этот процесс, чтобы он нас сходу понимал. Мы-то хотели, чтобы он запустил одного субагента, потом второй его проверил, но нет. Давайте вернемся назад, и сейчас я поясню, что можно сделать. Во-первых, можно здесь, конечно, сказать ему используй skill subagent workflow то есть явно указать какой скилл ему нужно использовать ну во первых он здесь конечно немножко не так написано давайте попробуем ради интереса сейчас посмотрим что он сделает на этот раз мы ему теперь явно указали использовать скилл и да он начал запускать воркера после чего ну давайте посмотрим как он это сделает он должен запустить ревьюера когда воркер закончит но Опять же, вот каждый раз это руками писать, использовать скилл не очень удобно, поэтому сейчас мы оптимизируем этот процесс, чтобы нам не нужно было каждый раз ему наговаривать про этот скилл. Вообще, я думаю, не обязательно было писать прям название скилла, можно было ему в произвольной форме написать, используя оркестрацию субагентов или что-то такое, но в любом случае это неудобно, нам нужно какое-то более простое решение, сейчас мы к нему перейдем, давайте просто посмотрим, что он сделает и вернемся. дальше к настройке ну что курсор закончил создавать нам приложение и обратите внимание контекст забился всего лишь на 18 процентов то есть если сравнить с нашим Первым промтом, когда мы просили сделать его редми файл, задача, собственно, сильно меньше, разница всего лишь 2%. То есть субагенты берут на себя всю эту нагрузку основную по использованию контекста, а в основной чат агента отдают только результат. И, соответственно, в основном чате можно работать дольше. Мы можем запустить то, что у нас получилось. На самом деле сейчас это вообще не тема данного видео и не так важно, что там у нас выходит. Если мы... с браузера то да hello vibe coders все классно все работает окей пока что понятно сам проект сейчас нас мало интересует нас интересует больше настройка нашей экосистемы агентов так что вернемся к нашей проблеме то что писать каждый раз про скиллы не очень-то удобно и решить это можно например через за использование команды в которой мы явно пропишем что нам нужно использовать такой-то скилл давайте создадим нашу кастомную команду перейдем опять в курсор сеттинг в раздел rules skills sub agents и здесь если вниз прокрутить у нас раздел commands давайте нажмем new и выберем project command дальше нам нужно придумать какое-то название команды я назову ее имплемент и нажимаем enter собственно вот нас создался файл с командой команды хранятся внутри папки курсор в папке commands и до представляют они с собой просто отдельный файл в котором в общем то написано инструкция для выполнения команды большому счету это как заранее прописанный prompt который вызывается в чате и ну грубо говоря просто подставляется в чат мы уже в принципе можем ее вызвать правда это мало что нам даст если мы напишем так имплемент на здесь видна подсказка что у нас есть такая команда если мы на нее нажмем то она подсветится и собственно выполнится инструкция из этой команды но прежде чем ее выполнять давайте напишем в ней собственной инструкции сделаю я это тоже через нейронку создай команду имплемент которая должна вызывать процесс разработки описанный в скиле в общем-то достаточно простой пронт единственное что я сейчас заменю название на ссылке то есть непосредственно на файлы, и чуть-чуть подредактирую, чтобы это было корректно. Вот так, все, годится. Отправляем, и сейчас курсор сделает нам эту команду, в которой пропишет конкретные указания, что нам нужно использовать скилл. На самом деле можно было бы еще и в скилле прописать здесь, например, используя этот скилл всегда, когда вызывается команда имплемент, но пока что это, наверное, избыточно. Курсор создал нам команду, мы с ним соглашаемся, все. Классно. И давайте теперь попробуем выполнить эту команду и добавить что-то в наше приложение. Для этого вызываем нашу команду и напишем какой-нибудь prompt. Добавь на главную страницу кнопку и счетчик кликов. В общем-то, суперэлементарная задача, но нам сейчас главное посмотреть, как будет работать процесс. Отправляю ему этот промпт и давайте посмотрим, что он будет делать. Во-первых, как мы можем заметить, он прочитал скилл и, собственно, начал выполнение. То есть врубил нашего воркера, после чего должен включиться наш код-ревьюер. курсор закончил выполнять нашу задачу он вызвал сначала воркера для внедрения потом запустил код reviewer и можем заметить что код reviewer нашел какие-то проблемы которые стоит пофиксить после чего воркер пофиксил эти проблемы ну прикольно то есть оркестрация уже в каком-то виде работы да это максимально простая система но по крайней мере на этом примере уже можно понять как выстраивать такие процессы давайте посмотрим что у нас ответил код reviewer дал отцы внедрения нашел какие-то потенциальные проблемы и предложил их исправить после чего worker запустился и исправил эти проблемы ну кстати прикольно сейчас я не буду детально объяснять что он тут сделал но просто скажу что fix действительно имеет место быть и и правильно что ревьюер заметил эту ошибку и потенциальную проблему давайте посмотрим что у нас получилось счетчик кликов работает все здорово Итак, что мы имеем на текущий момент? В каком-то виде оркестрация уже работает. У нас есть два субагента и скилл, который их запускает. И в принципе делает это неплохо. Но давайте немножко расширим возможности нашего оркестратора. То есть сейчас у нас есть всего два субагента. Это простой рабочий и чувак, который его проверяет. Но если мы будем работать с какими-то очень большими задачами, допустим, скидывать сюда roadmap или просто писать какую-то очень большую задачу или список задач, то, возможно, наш оркестратор будет работать не совсем идеально, в том плане, что воркер может взять на себя сразу выполнение всех абсолютно задач и забить свой контекст субагента, после чего начать галлюцинировать. Нам этого бы не хотелось, поэтому нам нужно придумать что-то типа планера. который будет распределять эти задачи то есть субагента который будет составлять список задачи и после чего прокидывать все эти задачи поочередно воркеру точнее прокидывать их будет уже наш основной агент но планер будет составлять список последовательных задач которые нужно выполнить давайте сделаем такого субагента опять переходим в настройки курсора в нашу любимую вкладку rules skills сабей дженс и создадим нового субагента здесь я напишу Следующий промпт. Субагент-планер, который будет составлять план внедрения больших комплексных задач, разбивать его на подзадачи, для каждой из которых будет также создавать файл, в котором будет описывать эту задачу. Ну, давайте сделаем что-то такое. Только теперь это нам нужно перевести на английский. И для начала нам этого хватит. Давайте отправим ему этот промт. Вот, кстати, интересно, сейчас мы опять не сказали ему, что нужно делать в нашей папке проекта. Надеюсь, он додумается до этого, либо хотя бы спросит. Да, действительно, он начал делать это в папке проекта. Нам это как раз и было нужно. Курсор закончил создавать нашего субагента. Давайте посмотрим, что у него получилось. Написал какое-то описание. Нас сейчас больше интересует непосредственно инструкция. здесь описан план его действие то есть сначала он должен понять контекст потом создать мастер план после чего создать файлы с задачами и делать он это будет в папке курсор . tasks ну пока что нас это устраивает я в данном случае хочу показать именно принцип как это все должно работать а настраивать это все можно под себя как угодно единственное что я хотел бы здесь дополнить что Я бы тоже хотел, чтобы он создавал для них какие-то файлы. Давайте скажем об этом курсору, чтобы он это дополнил. Я хочу, чтобы планер создавал также файлы с планами, в которых указывал ссылки на задачи. Переведу это сразу на английский и отправлю этот промт. курсор дополнил инструкции нашего планера дописал здесь что нужно создавать также файлы для планов и пока что нас это устраивает сильно в это углубляться не хочу самое главное сейчас это показать принцип работы теперь у нас есть планер который разбивает большие комплексные задачи на подзадачи после чего у нас воркер должен их подхватывать а под review их review ведь наш текущий скилл не отражает этого процесса поэтому нам нужен Другой скилл. Давайте его создадим также через курсор Settings. Переходим сюда в раздел Skills, нажимаем New. И сейчас я напишу ему сюда описание скилла, который я хочу получить. Создай скилл оркестрации субагентов, который будет отражать следующую последовательность действий. То есть при получении большой комплексной задачи или списков задач должен вызываться планер субагент который создает план реализации всех задач создает файлы с задачами после того как планер закончил работу для каждой задачи должен вызываться сначала воркер и делать эту задачу после чего вызываться субагент коды reviewer и проверять имплементацию которую сделал воркер и это этот процесс итеративно пока не выполнены все задачи окей ну что то такое я думаю нас устроит тоже переведу этот prompt на английский сейчас давайте глянем по названием субагентов так немножко подредактировал prompt я думаю сейчас этого будет достаточно отправляю prompt курсору курсор посмотрел на наших субагентов также посмотрела на subagent workflow и приступил к созданию нам скилла но здесь хочется отметить что он решил почему-то не создавать скилл от редактировать текущий скилл давайте его остановим я все-таки хочу разделить это на два скилла потому что первый скилл который у нас сейчас был создан мы его можем применять для каких-то небольших задач а вот для комплексных задач хотелось бы использовать именно скилл оркестрации я откачу изменения и допишу здесь следующее new skill orchestrate workflow то есть я ему явно говорю что нужно для этого создать новый скилл конечно сейчас можно подредактировать и предыдущий скилл там название еще что-то но пока что в это углубляться не будем то есть в принципе по необходимости это все редактируется нам для примера пока что этого будет достаточно курсор создал нам новый скилл orchestrate workflow и по аналогии с предыдущим скилом давайте создадим конкретную команду которая будет эту оркестрацию запускать У нас уже открыты здесь настройки курсора, переходим здесь внизу в commands, нажимаем new command, project command и здесь напишем команду orchestrate. Окей, я создал новый файл команды и заполним его тоже с помощью нейрон. Отредактируй команду orchestrate таким образом, чтобы она вызывала skill orchestrate workflow и запускала процесс комплексной разработки большой задачи или... списка задач сейчас я также ему скину сразу в контекст то что у нас есть чтобы он явно смотрел на наши файлы можно было бы в принципе этого не делать но мне так и вместо orchestrate workflow я ему также скинул наш скилл я даже не буду сейчас переводить это на английский язык в принципе я думаю что он разберется и создаст на английском если что я попрошу его перевести да действительно курсор создал команду на английском на текущий момент нас это устраивает в принципе мы уже можем этим пользоваться давайте проверим как это работает и попросим сделать какую-то большую задачу вызываем команду orchestrate и сейчас я напишу им какое-нибудь большое задание Посмотри на приложение, которое находится у нас в папке App и вместо главной страницы сделай экран с игрой. Игра, в которой будет участвовать два игрока. Они поочередно нажимают на кнопку. По нажатию на кнопку генерируется рандомное число от 0 до 100. И игрок, у которого число сгенерировалось ближе к 50, побеждает. Сделаем что-нибудь такое. Не суть важна, самое главное, чтобы это была какая-то задача, которая не решалась в одно действие. Сразу скину ему сюда папку App и не буду даже переводить промт на английский, так ему и отправлю. И давайте посмотрим, что он дальше будет делать. То есть, по идее, он должен сначала вызвать наш планер, но почему-то он решил сразу вызвать воркера. Давайте остановим этот процесс, потому что я все равно хотел, чтобы он запустился. и посмотрим на команду еще раз orchestrate. Здесь есть ошибка в том, что у нас здесь прописан скилл не orchestrate workflow, а subagent workflow. Собственно, поэтому он и запустился. Поэтому давайте поменяем здесь вот этот путь к скилу на orchestrate workflow. И теперь у нас уже должен нормально этот скилл заработать, потому что мы его явно указали. До этого, естественно, был указан другой скилл, поэтому запустился он. Курсор изучения. orchestrate workflow skill сейчас должен запустить нам планером планер запущен можем посмотреть что происходит у него в контексте сначала он создает папочку tasks в курсоре для сохранения задач мы ему это разрешаем сделать это нужно один раз после чего папка tasks уже будет созданной он нас спрашивать о создании не будет можем заметить что он создал нам план и теперь должен по идее расписать нам отдельные задачи по внедрению Первая задача готова. Вторая задача готова. Итак, наш субагент-планер создал нам 7 задач, завершил работу, после чего у нас запускается субагент-воркер и приступает к внедрению первой задачи. Обратите внимание, что он не берет в работу сразу весь план и все задачи, а будет последовательно выполнять задачи с первой и до последней. Первую задачу он внедрил, теперь у нас запускается код-ревьювер и смотрит на проделанную работу-воркера. Ревьювер закончил работу. Видимо, никаких проблем не нашел. Говорит, что задача первая, все нормально сделано. И дальше Worker переходит ко второй задаче. Таким образом, курсор дошел уже до последней задачи. Последний даже запустил браузер внутри курсора и проверил, что все нажимается и работает. Ну, точнее, он сейчас в процессе этой проверки. Я видел, что сейчас он на браузере там скроллил, кликал, что-то менял. Давайте. Подождем, когда он закончит и посмотрим вообще, что он сделал. По поводу вот этого белого фона не пугайтесь, я думаю, что так он просто тестирует мобильное разрешение экрана. Ну что, курсор закончил полное выполнение, он прошел по всем задачам, все сделал, все отревьювил, можно посмотреть на всю эту историю, то есть сначала был вызван планер, после этого для каждой задачи, которую создал планер, были вызваны воркер, код-ревью, воркер, код-ревью и так далее. В конце он протестил, что все работает, код-ревью отработал, и курсор написал, что все готово. Давайте посмотрим. Смотрим, что у нас получилось. Для этого я открою все-таки в браузере эту историю. И number battle. Прикольно. Давайте. Start game. Generate number. 83.50. Player 2 wins. Окей, круто. Play game. Start game. Это первый игрок. И второй игрок 23. Ну, опять Player 2 wins. Ну, короче, рандомные числа. Здесь особо смотреть не на что. Просто работает самое главное. И нас даже не то, чтобы этот проект сильно интересует. В первую очередь нас интересует именно подход. к разработке через и агентов. Выполнение этой задачи заняло где-то минут 20, наверное, но за все эти 20 минут от меня не потребовалось никаких действий, кроме как в самом начале разрешить курсору создать папку с задачами, при том, что когда он ее создал, больше он об этом спрашивать уже не будет. Соответственно, 20 минут автономной работы, последовательное выполнение задач, проверка, все классно, все работает. Из помечательных моментов можно... посмотреть, что у нас заполнено всего 28% контекста. Еще стоит отметить, что потенциально, конечно, эту задачу можно было просто в один чат закинуть и попросить агента без субагентов это сделать, и, наверное, он бы даже справился. Но когда мы делаем это последовательно, разбиваем на планы, запускаем субагента для тестирования и проверки кода, мы снижаем вероятность того, что у нас будут какие-то ошибки, некачественный код и так далее. В общем, принцип я думаю понятен в данном случае мы использовали достаточно простую систему из трех субагентов плюс у нас задачи остались на месте их можно было бы например почистить внедрить это в workflow и так далее но я думаю на этом примере уже было понятно как это все в принципе работает и дальше вы можете создавать свои системы оркестрации такие какие вам нужно А если вы хотите сэкономить время на настройку своей системы оркестрации, то можете скачать мой готовый курсор Setup у меня на сайте, ссылку я приложу в описании. В этом Setup включены на текущий момент ряд агентов, уже более расширенная версия для всей этой оркестрации. Также там есть команда Implement Orchestrate, набор некоторых правил для гита, документации, тестирования. Также есть скиллы. которые помогают в оркестрации, проверке security, всяких уязвимостей, для работы с гитом, проверки качества кода и так далее. Также здесь есть файл config, в котором вы можете настроить свои пути для хранения документации, либо отключить запись документации по каждому из этих разделов. Можете все отключить, если вам это не нужно. Ссылку на скачивание я оставлю в описании. Она ведет на мой сайт. В разделе хаб ресурсов есть курсор AI Setup. Сразу скажу, что Setup платный, но покупая его, вы, во-первых, получаете от меня поддержку по использованию, можете писать. мне какие-то вопросы во вторых сетап со временем скорее всего будет обновляться и здесь будет оперативно подгружаться новая версия если в курсоре появится какой-то новый функционал который уместно будет заложить в сетап я это сделаю также я буду основываться на вашей обратной связи и отзывах и если что-то будет уместно добавить в сетап я это сделаю а вы в свою очередь сможете скачать обновленную версию Я постарался сделать этот сетап максимально универсальный, он подходит к любому проекту, и также его можно дополнять своими уже конкретными требованиями и инструкциями для вашего конкретно проекта. В принципе, исходя из этого видео, вы и сами можете настроить для себя эту систему, но если хотите сэкономить свое время и потраченные на нейронку деньги, то, пожалуйста, есть готовое решение. На этом я с вами прощаюсь. Если вам понравилось это видео, ставьте лайк, чтобы YouTube рекомендовал вам больше полезного контента. Подписывайтесь на телеграм-канал, годный вайбкодинг. В нем я публикую полезные материалы по вайбкодингу. Также у нас есть вайбкодерский чатик, в котором можно пообщаться с другими вайбкодерами, позадавать вопросы, поотвечать ответы. В общем, подключайтесь к нашему вайбкодерскому комьюнити. Подписывайтесь на YouTube канал, чтобы не пропустить новые видео. А на этом я с вами прощаюсь. Всем годного кода и до скорых встреч!
⚙️ Pipeline jobs
| Stage | Status | Att. | Updated | Error |
|---|---|---|---|---|
| download | done | 1/3 | 2026-07-20 12:10:05 | |
| transcribe | done | 1/3 | 2026-07-20 12:10:32 | |
| summarize | done | 1/3 | 2026-07-20 12:11:14 | |
| embed | done | 1/3 | 2026-07-20 12:11:14 |
📄 Описание YouTube
Показать
В этом видео показываю способ настройки оркестрации суб-агентов в Cursor, благодаря которому ИИ агенты смогут работать на автопилоте часами без нашего прямого участия. Для этого будем использовать subagents, skills, commands в Cursor IDE, немного затронем Хуки. Для примера создадим систему из трех агентов (Planner, Worker, Code Reviewer), которые работают циклически и выполняют задачи без вашего участия. В итоге вы научитесь создавать свои системы субагентов так, как нужно именно вам. Система оркестрации позволяет загружать целые Roadmap и уходить пить чай, пока агенты последовательно выполняют все задачи. Показываю реальный пример: от создания плана до финального тестирования в браузере. Скачать готовый сетап оркестратора - https://alexeytriplea.dev/ru/hub/cursor-setup Полный гайд по Cursor IDE - https://youtu.be/qVY52uUixbM Годный вайбкодинг в ТГ - https://t.me/ValidatedVibe Вайбкодерский чат - https://t.me/VibecodersChat Оплата подписок из РФ Гайд по оплате - https://youtu.be/FcFvj92OK48 Оплата Cursor из РФ: https://gglead.org/go8301 https://gglead.org/go8302 https://plati.market/itm/cursor-ai-pro-business-ultra-podpiski-bystro/4758785?ai=1298359 Оплата Claude из РФ: https://gglead.org/go8348 https://plati.market/itm/claude-ai-pro-max-code-anthropic-fast/4023986?ai=1298359 https://plati.market/itm/claude-ai-pro-subscription-anthropic/4229188?ai=1298359 Купить зарубежный gmail - https://gglead.org/go8489 Таймкоды: 0:00 - Введение: зачем оркестровать субагентов 1:03 - Автономность до ЧАСА без багов! 3:01 - Начинаем настройку с нуля 4:04 - Создание subagent 7:01 - Первый субагент работает! 12:57 - Создаем простой Orchestrate Workflow 20:24 - Создаем вспомогательную команду 23:55 - Развиваем оркестрацию агентов 32:03 - Запуск цикла агентов! Смотрим как это работает 33:52 - Результат: 28% контекста, 20 минут работы 36:05 - Готовый Setup - скачай и используй 38:06 - Итоги