Cursor Agent Swarm: planner и worker

Иллюстрация: planner за ясность, worker за объём в Cursor Agent Swarm

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

Если вы уже гоняете Agent в Cursor и смотрите на on-demand, сценарий знакомый. Frontier-модель и планирует, и пишет, и «ревьюит» сама себя. Контекст раздувается, цель плывёт, счёт растёт. Потом кто-то советует «запусти пять агентов параллельно» — и вы получаете пять одинаково дорогих голов, которые спорят за один файл. Это не swarm. Это хор без дирижёра.

Два кресла, не пять одинаковых голов

Сравнение: роли planner и worker против пяти одинаковых frontier-агентов

Идея из лабораторного поста Cursor простая, как фирма по Коузу: когда координация дороже самой работы, работу режут на ограниченные куски. Большая задача — дерево. Корень — цель. Листья — атомарная работа.

Planner — самые сильные модели. Он рекурсивно дробит цель, делегирует вниз и сам принимает дизайн-решения. Не отдаёт спорные развилки «на усмотрение исполнителей». Worker — быстрее и дешевле. Делает узкий кусок. Не планирует. Не переизобретает архитектуру в каждом коммите.

Смысл не в «параллелизме ради параллелизма». Один агент вынужден держать в окне и стратегию, и текущий лист кода — на длинной задаче это drift. В нормальном разделении planner не забивает контекст низкоуровневым кодом, worker не тратит окно на весь план проекта. Форма роя растёт под контур задачи, а не как жёсткая оргсхема из учебника.

SQLite на Rust: цифры, а не мем

Цифры эксперимента SQLite→Rust: $1339 гибрид против $10565 solo

Эксперимент жестокий и честный по постановке. На вход — 835 страниц мануала SQLite. На выход — реализация на Rust. Запрещены исходники SQLite, тестовые сюиты, бинарник и интернет. Оценка — миллионы запросов sqllogictest; рой не знал, что сюита вообще существует. Сравнивали старый и новый harness на тех же моделях и том же time budget.

На отметке в четыре часа новые прогоны держали 73–85% сюиты, старые — от 11% до 77%. Каждый новый конфиг позже дошёл до 100%. Старый Grok 4.5 остановили раньше двух часов: спираль конфликтов.

Конфиги: GPT-5.5 везде; Grok 4.5 везде; Opus 4.8 как planner плюс Composer 2.5 как worker; Fable 5 как planner плюс тот же Composer. GPT-5.6 Sol хотели как frontier-базу — модель уходила в runaway на буквальных формулировках, без отдельного тюнинга сравнение было бы нечестным, откатили на GPT-5.5.

Деньги — из поста Cursor, без медиа-украшений:

Opus 4.8 + Composer 2.5 — $1 339 за прогон, весь worker-флот $411. GPT-5.5 solo — $10 565, одни workers $9 373. Grok 4.5 как cost-efficient frontier в разборах около $1 928. Fable 5 + Composer — около $2 234: planner дешевле по токенам планирования, но workers жгут больше, и итог дороже Opus-гибрида.

Workers несут не меньше 69% токенов, в большинстве прогонов — больше 90%. Доллары делятся иначе. У Opus+Composer дорогая голова съела примерно две трети счёта при малой доле токенов; Composer-workers — основная масса токенов за оставшуюся треть. Экономия почти целиком в worker-флоте: $9 373 → $411.

Отношения, которые реально следуют из этих долларов: workers примерно в 22,8 раза дешевле, полный прогон — примерно в 7,9 раза. Медиа-«~15×» — упрощение разборов (где-то сравнивают крайности конфигов, где-то неформальный solo Fable). В тексте Cursor фразы «в пятнадцать раз» нет. Если кто-то продаёт вам «15× из официального поста» — это уже маркетинг поверх лабораторной таблицы.

Активность — не прогресс

Схема: thrash коммитов и конфликтов против прогресса в Agent Swarm

Самый злой факт эксперимента. Старый browser-swarm на Grok за два часа наделал около семидесяти тысяч коммитов — примерно в семьдесят раз больше темпа нового harness — и накопил больше семидесяти тысяч merge conflicts. Пик старого — около тысячи коммитов в час на Git. Новый — около тысячи в секунду, для этого Cursor собрал свой VCS: обычные git-locks агентный темп не тянут.

Самый горячий файл: старый — 7 771 конфликт и 1 173 агента; новый максимум — 47 конфликтов. Crates: 54 против девяти рано и стабильно. Объём кода при сопоставимом или лучшем grade схлопнулся: Fable-mix с 64 305 до 9 908 строк, Opus-mix с 19 013 до 4 645. Много шума — это не «продуктивность». Это thrash, за который вы платите токенами.

Где рой ломается даже на трёх–пяти агентах, не дожидаясь тысячного флота:

Split-brain — два planner’а независимо решают одно и то же. Лечится дисциплиной: дизайн принимает один слой, поддеревья не дублируют вопросы.

Война файлов — планировщики знают друг о друге и всё равно дерутся. Нужны shared design docs, ссылки, которые проверяет компилятор, и отдельный reconciler.

Merge storms — workers плохо мержат. Cursor выносит merge нейтральному third-party агенту.

Megafiles — файл раздувается, конфликты множатся. Флаг, стоп коммитов, внешний агент режет на модули.

Ossification — все боятся трогать ядро. Нужна лицензия на намеренную поломку плюс комментарий; компилятор разносит удар, остальные подтягиваются.

Плюс стек ревью с разными «линзами» — смотреть транскрипт, только output или только codebase разными моделями — и Field Guide: папка знаний агентов с бюджетом строк, index.md подмешивается при старте. Стигмергия для машин: оставляешь след, следующий не начинает с нуля.

Composer 2.5 — рычаг, если не взять Fast «потому что default»

В гибридах worker — Composer 2.5. База — Moonshot Kimi K2.5, дообученный Cursor. По rate card: Standard — $0.50 / M input и $2.50 / M output; Fast — $3.00 / M input и $15.00 / M output. В продукте Fast часто стоит по умолчанию.

Вот где люди ловят себя на н@ебк@. Ждут worker-экономику «как в посте», а крутят Fast. Лабораторные $411 ближе к Standard-логике дешёвого исполнения, не к пятнадцати долларам за миллион выходных токенов. На individual/team планах Composer сидит в пуле Cursor Models рядом с Grok 4.5; on-demand — по карточке. Биллинг вашего аккаунта ≠ таблица из SQLite-прогона. Цифры — ориентир ролей, не калькулятор подписки.

Кнопка в Agents Window — не лаборатория на тысячу коммитов в секунду

Cursor 3 дал Agents Window: параллельные агенты local / cloud / SSH, handoff, worktrees, cloud subagents. Это продуктовый слой «флотов». Lab Agent Swarm из лабораторного поста — harness с кастомным VCS и тысячами агентов на одной чудовищной задаче. Это не «нажал Swarm — получил SQLite из мануала за вечер».

Публичный артефакт solo Opus-прогона лежит на github.com/cursor/minisqlite. Cursor честно пишет: глубокий ручной аудит ещё не заявляли — смотрите сами. И ещё: SQLite и его доки широко сидят в pretraining, методологический caveat остаётся.

Что переносится на ваш объём без лаборатории:

Дорогой моделью — только декомпозиция, дизайн и ключевые trade-off. Дешёвой — узкое исполнение по явному спеку. Спек и intent — единица работы; Cursor прямо сравнивает swarm с вероятностным компилятором «намерение → работа». Слабый план у «дорогого» planner’а (кейс Fable vs Opus) заставляет workers додумывать неоднозначность — и они жгут токены уже не на код, а на гадание. Изоляция через worktrees. Ревью отдельной головой. Человек на короткой эскалации: в production по разборам конца 2025 у большинства агентов до вмешательства человека — единицы шагов, не бесконечная автономия.

Запустить пять одинаковых frontier-агентов без ролей — это не экономия и не swarm. Это способ быстро превратить бюджет в п@зд@ц из конфликтов и переписанных модулей.

Кто платит за ясность, кто — за объём

Вывод Cursor после всего этого скучный и правильный. Не «нужна ещё умнее модель». Нужно точнее описать intent. Frontier нужен в узких местах. После явной инструкции дешёвая модель следует плану — если план не дырявый.

Практическая проверка на своей задаче: один вечер, одна длинная ветка. Сначала frontier только на план и спорные решения, worker на куски с жёстким «не перепланируй». Потом тот же объём — одной дорогой моделью end-to-end. Сравните не «ощущение крутости», а доллары и сколько раз агент потерял цель. Если разницы нет — у вас не модель виновата, а спек.

Рои субагентов и новые модели в Cursor сейчас обсуждают и в ленте maya_pro — там живой хайп без лабораторной пыли. Если связка агентов упирается в сценарии и интеграции, а не только в IDE, разбор рабочих контуров есть на обучении по Make.

Суть на одну фразу: planner платит за ясность, worker — за объём. Пока вы сажаете frontier на оба кресла, вы платите за объём по цене ясности. Это не стратегия. Это привычка.