AIREITER

Cursor Projects: руководство по совместной работе в Multiplayer (бета 2026)

Последнее обновление: 2026-11-11 02:40:05

С 10 ноября 2026 года Cursor превратил Projects из инструмента для одного разработчика в общее пространство команды. Теперь координатор может общаться с координатором коллеги, заранее замечать пересечения в изменениях кода и передавать незавершённые pull request'ы. Для безопасной работы нужны Cursor 3.26.13 или новее, аккаунт Teams и чёткие правила для общих файлов контекста: иначе неподтверждённое предположение одного агента может незаметно изменить план для всей команды.

Что изменилось в Projects Multiplayer 10 ноября

Multiplayer Projects развивает запущенную 10 сентября 2026 года однопользовательскую бету Projects. Вместо одного пользователя теперь есть рабочее пространство для нескольких участников: у каждого — свой изолированный чат один на один с координатором, а Task Board и Project Agent Store (/cursor/stores/self) общие. Согласно официальной документации Cursor Projects, обновление от 10 ноября разделяет личные рабочие контуры и общее состояние команды по восьми ключевым параметрам:

Параметр архитектурыProjects с одним координатором (10 сентября 2026)Командный Multiplayer Projects (бета 10 ноября 2026)
Участники1 разработчик на ProjectНесколько коллег в одной Cursor Team
Агенты-координаторы1 координатор на Project: планирует и делегирует, но сам код не пишет1 выделенный координатор на каждого участника; каждый управляет собственным чатом один на один
Пул рабочих агентовЗапускается и контролируется координатором единственного владельцаЗапускается каждым участником; виден всей команде на общем Task Board
Общее состояние командыМежду аккаунтами не передаётся2 общих ресурса: Task Board и Project Agent Store (/cursor/stores/self)
Личное состояние пользователяЛокально для личного Project и аккаунтаПерсональное хранилище (/cursor/stores/user), история личного чата и приватные коннекторы
Передача задач коллегамРучной copy-paste вне CursorПрямой обмен между координаторами через форкнутые сайд-чаты Chat with {name}'s agent
Учёт расходовПолностью относится на владельца ProjectЧат и запущенные агенты каждого участника тарифицируются от имени этого участника
Минимальная версия клиентаCursor 3.21.9+ (базовый уровень Enterprise)Для совместного доступа нужна Cursor 3.26.13+

Кому доступен Multiplayer и как настроить рабочее пространство

По документации Cursor Projects, для общего Project нужен тариф Cursor Teams или Enterprise, клиент 3.26.13 либо новее и отдельный доступ каждого приглашённого к репозиторию. Функция недоступна на Free, Plus и Legacy Hobby. Приглашения также нельзя отправлять, если включён Privacy Mode (Legacy), Project работает на self-hosted machines или архивирован.

Документация Cursor Projects с описанием работы Project и настройки Multiplayer в окне Agents

Этап 1. Создаём базовый Project за 4 шага

Сначала владелец создаёт рабочее пространство в окне Agents Cursor:

  1. Откройте Projects в левой панели: перейдите в Agents Window, найдите в сайдбаре раздел Projects и нажмите New Project.
  2. Задайте имя Project: выберите иконку и укажите ограниченное по смыслу название, ориентированное на результат. Если оставить поле пустым, будет использовано New Project. Вместо одного огромного Project на весь репозиторий лучше разделять работу по результатам: отдельный Project для миграции схемы, отдельный — для функции из нескольких PR, ещё один — для регулярного обслуживания CI.
  3. Выберите Workspace и модель координатора: в разделе Workspace укажите целевой репозиторий GitHub; если GitHub ещё не подключён, нажмите Connect GitHub. В поле Model выберите модель, которая будет работать координатором.
  4. Нажмите Create Project: Cursor выделит для Project облачный компьютер и откроет чат один на один с агентом-координатором.

Если вы уже начали прорабатывать задачу в подходящем верхнеуровневом чате Cloud Agent, перетащите этот чат из сайдбара на строку Project либо откройте его меню и выберите Add to Project. Координатор получит предыдущую историю разговора. При добавлении локального чата Cursor сначала переведёт его в режим Remote Control.

Этап 2. Приглашаем коллег за 3 шага

Когда Project активирован и подключён к репозиторию, владелец или любой действующий участник может пригласить коллег следующим образом:

  1. Откройте меню приглашений: нажмите Invite в верхней части Project. После первого приглашения этот элемент заменяется рядом аватаров.
  2. Добавьте коллег или скопируйте ссылку: найдите человека по имени или email в разделе Invite teammates to this project и отправьте приглашение. Либо нажмите Copy link, чтобы отправить URL Project в Slack или Linear.
  3. Коллега принимает приглашение и получает отдельный чат: приглашённый нажимает Accept Invite на карточке приглашения и получает свой чат Project, своего координатора и доступ на чтение и запись к общему контексту Project.

Управление участниками и ссылками

Границы доступа контролируются и на уровне команды Cursor, и на уровне Git-репозитория:

  • Требования к команде и репозиторию: пользователи личных аккаунтов и разработчики из внешних Cursor Team присоединиться не могут. У приглашённого также должен быть собственный доступ к репозиторию Project.
  • Отзыв утёкшей ссылки: скопировать ссылку-приглашение могут только действующие участники Project. Если ссылка разошлась слишком широко, владелец открывает меню приглашений и выбирает Reset Share Link — все предыдущие копии перестают работать.
  • Выход и удаление участников: любой участник может выбрать Leave Project в меню сайдбара и позднее вернуться по действительному приглашению или ссылке. Владелец Project удаляет участника через пункт Remove в меню приглашений.

Общий контекст /cursor/stores/self и личное хранилище /cursor/stores/user

Как сказано в документации Cursor Projects о Context и Personal Store, Multiplayer Projects отделяет приватные настройки разработчика от знаний команды двумя путями файловой системы в окружении каждого агента: /cursor/stores/self содержит общий контекст Project, а /cursor/stores/user — персональное пользовательское хранилище. Когда коллега подключается к общему Project, его координатор может предложить перенести релевантные рабочие предпочтения из /cursor/stores/user в правила Project. Копируются только записи, которые пользователь явно одобрил.

Уровень хранилищаПуть в файловой системеДоступ на чтение / записьЧто здесь хранитсяЖизненный цикл между Projects
Project Agent Store (в интерфейсе называется Context)/cursor/stores/selfЧтение и запись доступны агентам каждого участника ProjectДокументы с требованиями, архитектурные схемы, технические спецификации, UI-макеты, инструкции по тестированию кодовой базы и общекомандные решенияОграничено конкретным Project; синхронизируется между Cloud Agents и локальными машинами
Personal User Store/cursor/stores/userЧитается и изменяется только агентами конкретного пользователяЛичные предпочтения в работе и пользовательские навыкиСледует за пользователем между Projects, не становясь видимым коллегам

Как координаторы общаются через недоверенные сайд-чаты

Если координатору нужна информация о работе коллеги, спецификация Cursor Projects Multiplayer позволяет напрямую написать координатору этого коллеги. Для этого из его обычного чата создаётся форкнутый сайд-чат с именем Chat with {name}'s agent. Cursor ограничивает доступные ему действия, чтобы входящий запрос не прерывал основную работу адресата и не позволял извлечь секреты.

В анонсе Multiplayer от 10 ноября 2026 года продакт-менеджер Aryaman Khandelwal описал два типовых случая координации между агентами:

  • Пересечение UI и функциональности: инженер добавляет отзывы покупателей на страницу товара, а дизайнер одновременно переделывает эту же страницу. Координаторы заранее замечают пересечение и встраивают компонент отзывов в новый макет, а не занимаются рефакторингом позднее.
  • Порядок изменений схемы и чтения данных: один разработчик меняет схему базы данных, а другой создаёт функцию, которая читает из этой базы. Их агенты заранее согласуют порядок действий, чтобы избежать конфликта при слиянии.

В разделе How coordinators message each other официальной документации Cursor Projects описаны четыре строгих правила такого обмена:

  1. Исходящий запрос: координатор коллеги A выявляет зависимость от работы коллеги B и пишет напрямую его координатору.
  2. Создание форкнутого сайд-чата: входящее сообщение создаёт форк обычного чата коллеги B под названием Chat with {Teammate A}'s agent.
  3. Недоверенная обработка: входящее сообщение координатора помечается как агентский ввод, получателю показывают, агент какого коллеги его прислал. Принимающий агент обязан воспринимать текст как недоверенный материал для оценки, а не как прямую команду собственного пользователя.
  4. Ответ на основе основного чата и уведомление в следующий ход: сайд-чат отвечает, используя знания из основного чата адресата, и возвращает результат отправившему координатору. Основной чат коллеги B немедленно не прерывается — заметка об обмене появится в нём на следующем ходу.

Документация Cursor Projects точно определяет права каждого форкнутого сайд-чата Chat with {name}'s agent:

Действие в сайд-чате Chat with {name}'s agentСтатус по документацииПрактическое значение для команды
Отвечать на основе знаний, доступных в основном чате получателяРазрешеноАгент может отвечать на архитектурные вопросы и вопросы о статусе, опираясь на существующий контекст чата
Читать общий Task BoardРазрешено, только чтениеМожно посмотреть назначения задач, активную работу и связанные PR
Пользователь читает, останавливает или архивирует сайд-чатРазрешеноМожно проверить ответ агента, остановить активный обмен или архивировать тред
Пользователь отправляет сообщения в сайд-чатЗаблокированоСайд-чаты не принимают сообщения от пользователя: Side chats only answer
Передавать секреты, учётные данные или токеныЗаблокированоСайд-чатам запрещено раскрывать credentials и токены
Передавать личные файлы пользователя или данные коннекторовТребуется предварительный запросПеред передачей личных файлов или данных коннекторов агент обязан спросить пользователя
Изменять общий Task BoardЗаблокированоTask Board можно читать, но нельзя редактировать
Задавать пользователю вопросы или запрашивать доступЗаблокированоВходящие обращения агентов коллег не могут запрашивать разрешения или побуждать адресата к ответу
Подключать source control или управлять routinesЗаблокированоЗапрещает межагентные изменения подключений source control и автоматических routines

Идеальный процесс и реальность беты: где ломаются общие решения

В официальных примерах Cursor показывает внутренние on-call-ротации: координатор нового инженера получает активные инциденты, доски Linear и треды Slack. Однако отзывы о соло-бете Projects выявили четыре сбоя на разных этапах жизненного цикла. В командной работе для них нужны отдельные предохранители:

Этап жизненного циклаИдеальный сценарий Multiplayer от CursorПроблемы из отчётов о соло-бетеРекомендуемая защита
1. Планирование и синхронизация контекстаРешения из одного чата попадают в /cursor/stores/self, поэтому агенты коллег используют общий контекст.Координаторы многократно перезаписывают изменяемые Project Notes, сжимают утверждённую аргументацию до меток "done" либо записывают неподтверждённые дефолты агентов как решения.Разделите /cursor/stores/self на изменяемый plan.md и append-only decisions.md в Git — схема приведена ниже.
2. Параллельное делегирование и выполнениеКоординатор каждого участника делегирует задачи облачным воркерам или локальным агентам для локального тестирования.Долгоживущие облачные Projects используют устаревшие checkout'ы репозитория, если им не сказать выполнить pull; облачные координаторы читают только облачные настройки MCP; массовый запуск cloud workers быстро расходует квоты.Предписывайте координаторам выполнять git pull до делегирования; настраивайте MCP в cloud settings; используйте локальные worktree через agent worker start.
3. Координация между агентамиДо начала кодинга координаторы общаются, чтобы выстроить последовательность изменений схемы и UI.Агенты делят файлы контекста, а не жёсткие блокировки файлов, поэтому два пула воркеров, редактирующие один каталог, всё ещё могут столкнуться при merge.До запуска воркеров закрепляйте владельцев задач по каталогам или путям файлов на Task Board.
4. Ревью PR и передача on-callПодписки следят за PR, запусками CI и каналами Slack, устраняя сбои и передавая активную работу следующему инженеру.Несколько подписанных агентов — координатор, исходный воркер и агент исправлений — отвечают на одни и те же комментарии к PR или перезаписывают файлы статуса.Используйте правило 1 человек / 1 агент на PR и исключайте пересекающиеся подписки на PR.

Изменяемые Project Notes и проблема «общих ошибок»

В опубликованном на Cursor Community Forum трёхдневном соло-тесте беты Cursor Projects разработчик Lutz Leonhardt изучил синхронизированную папку контекста и транскрипты оркестратора. Тест охватил 5 сессий, примерно 14 часов, 20 агентов, 32 задачи, 49 ходов агентов и 5 pull request'ов, из которых 4 были смержены. Делегирование и доставка результата сработали: удалось исправить все 18 замечаний бота ревью Codex. Но слой проектной памяти показал два типа сбоев, которые становятся ещё опаснее в общем хранилище Multiplayer:

  • 111 перезаписей заметок против 1 явного чтения: за 3 дня координатор 111 раз переписывал файл Project Notes целиком, но явно прочитал его лишь один раз. Milestone 1 исчез из заметок до начала архивирования на второй день, а явное одобрение LLM-анализа подкаста после двух перезаписей превратилось в "done". На следующий день координатор снова запросил то же одобрение.
  • Неподтверждённые дефолты записываются как решения: после того как координатор перечислил 5 ключевых слов и 3 открытых вопроса, разработчик спросил об API key и о возможности начать Milestone 2. Координатор счёл неподтверждённые значения "accepted for the start" и запустил агента, реализовавшего постоянно работающий cron adapter, — хотя прежде советовал иначе. В другом разговоре координатор отрицал получение уже выполненной им передачи от воркера и записал эту ложную историю в папку контекста как правило процесса.

Отчёт Leonhardt посвящён соло-Projects, но в Multiplayer агенты всех коллег читают и записывают /cursor/stores/self. Поэтому загрязнённая заметка или непроверенное предположение агента способны повлиять на любого агента команды, который позже прочитает общее хранилище. После запуска Multiplayer разработчик @avisinghdotdev написал в X:

"Честно говоря, мне не нравится идея, что агент общается с агентом моего коллеги, особенно если у них разные наборы правил и навыков. Один некачественный результат может снизить общее качество." — @avisinghdotdev

Рекомендуемое правило для Multiplayer Projects: не позволяйте координаторам использовать один изменяемый Markdown-файл в /cursor/stores/self одновременно как черновик и журнал решений. В правилах Project разделите состояние на два файла:

  1. Изменяемый plan.md для статуса задач и указателей на активные ветки.
  2. Закоммиченный в репозиторий decisions.md с append-only правилом для агентов. Для строгого контроля его можно подкрепить проверкой Git diff или защитой ветки. Записывайте date, decided_by (human:@handle или agent:proposed), status (proposed, accepted, superseded), applies_to (glob пути файлов) и однострочный rationale.

Устаревшие checkout'ы, несовпадения Cloud MCP и передача в локальные worktree

Вторая группа проблем беты связана с облачной архитектурой Cursor по умолчанию. Проверенные отзывы пользователей в Day 7 Cursor Projects receipt и тредах r/cursor указывают на четыре ловушки для команд, внедряющих Projects:

  1. Устаревшие Git checkout'ы в долгоживущих Projects: долгоживущий облачный Project не подтягивает автоматически изменения, смерженные в main (отчёт Day 7 R1). Сотрудники Cursor подтвердили, что это ожидаемое поведение, и посоветовали явно попросить координатора выполнить pull. В Multiplayer всегда указывайте координатору запускать git pull перед делегированием новых задач.
  2. Загрузка MCP-серверов только из облака: координатор работает как Cloud Agent и читает только серверы Model Context Protocol (MCP), настроенные в cloud settings Cursor (отчёт Day 7 R6). MCP-серверы, добавленные лишь в локальном desktop-редакторе, координатор Project не загрузит.
  3. Ловушка переключателя «No self-hosted workers available»: чтобы запускать локальные тесты из облачного Project, включите Remote Control — локальные self-hosted workers — в Settings > Agents, затем выполните agent login и agent worker start в корне репозитория. Но включение Remote Control может также включить Self-hosted Machines и параметр Require Self-hosted Machines and Personal Machines в панели команды. Он блокирует работу Cloud Agents и Projects в облаке Cursor. Администраторам команды следует отключить этот параметр Require, чтобы сохранить гибридный режим cloud/local.
  4. Расход cloud-токенов: запуск 10–20 параллельных облачных субагентов быстро расходует лимиты тарифа. Как написал пользователь r/cursor u/Shirc на Reddit:

"У Projects есть потенциал, но сейчас это немного хаос, и они совершенно точно будут активно расходовать токены." — u/Shirc в r/cursor

Чтобы контролировать расход токенов, в том же треде r/cursor разработчик u/dryu12 рекомендует назначить Composer моделью координатора и явно прописать правила, каким моделям достаются те или иные делегированные задачи. Если команда также использует внешних ботов ревью CI или собственные агентские скрипты за пределами биллинга Cursor, можно проводить их API-вызовы через AIReiter. Так на одном pay-as-you-go балансе сочетаются недорогие модели наподобие DeepSeek V4.1 Flash и ревьюеры вроде Claude Opus 5.5.

Коллизии на ревью PR: почему у каждого pull request должен быть один владелец

Согласно документации Cursor Projects о подписках, после появления хотя бы 1 подписки — на канал Slack, активность PR, запуски CI в ветке или расписание вроде every day at 8:00 AM — над полем ввода чата появляется индикатор Listening.

В трёхдневном соло-тесте Leonhardt обработка ревью PR уже была неоднозначной: на события ревью могли реагировать координатор, исходный агент-исполнитель и новые агенты исправлений. В одном PR координатор дважды спрашивал автора об исправлениях, которые исходный агент уже вносил. В другом случае 3 агента переписали один файл статуса, оставив в нём неверного автора.

Если несколько коллег запускают координаторов в одном репозитории, подписка нескольких координаторов на широкие события PR по всему репозиторию увеличивает риск дублирующих коммитов с исправлениями и напрасно потраченных облачных ходов. Как отметил в X разработчик @LabubuNoBB:

"Сложность никогда не была в том, чтобы заставить агентов разговаривать. Сложность — решить, кому что принадлежит, когда двое хотят изменить один и тот же файл." — @LabubuNoBB

Рекомендуемое правило владения PR: назначайте на общем Task Board одного владельца-человека и одного выделенного агента на каждый PR, включая ответственность за все комментарии ревью в этой ветке. Подписки координатора каждого участника ограничивайте его собственными PR, а не wildcard-событиями всего репозитория.

Когда делить Project с командой, а когда оставить отдельные чаты

Перед переносом процесса команды в общий Cursor Project сопоставьте структуру задач с ограничениями, подтверждёнными в бете 3.26.13+:

Инженерный сценарийРекомендуемый режимНастройка координаторов и воркеровПроверка перед стартом
Кросс-функциональная функция с зависимостями между схемой и UI — 2–5 инженеров и дизайнеров меняют связанные endpointsMultiplayer Cursor Project1 координатор на участника; общий Task Board и спецификации в /cursor/stores/selfЗакрепите за каждым участником каталоги на Task Board, а принятые решения ведите в append-only decisions.md в Git.
Командная on-call-ротация и передача инцидентовMultiplayer Cursor ProjectНовый инженер подключается к Project; координатор уходящего передаёт активные задачи координатору новогоПодписывайте на Slack-канал ошибок только координатора активного on-call инженера и предписывайте координатору выполнять git pull при передаче смены.
Крупная повторяющаяся миграция — например, 400+ файлов в десятках PRProject с одним координатором для 1 ведущего инженера либо Multiplayer с разделением по каталогамПроверьте паттерн миграции на небольшой начальной группе. Flavio Copes советует начать с первых 5 компонентов и держать PR короче 300 строк, прежде чем запускать параллельных cloud workers.Применяйте правило 1 человек / 1 агент на PR, чтобы несколько координаторов не запускали дублирующих агентов исправлений на комментарии ревью.
Репозитории со строгими требованиями к размещению кода — Privacy Mode Legacy или self-hosted worker poolsЛокальные Cursor Agents / Worktrees; Multiplayer недоступенЛокальные IDE-агенты или self-hosted соло-раннерыРаботайте в локальных чатах: для shared Projects нужны Cloud Agents, а активный код во время работы хранится в облаке Cursor.
Срочный фикс в одном файле, платёжный webhook или логика авторизацииОбычный чат Cursor один на одинПрямой чат с локальным агентом и ручная проверка diff человекомНе используйте Projects: делегирование через координатора и запуск облачной среды добавят задержку и расход токенов без пользы многопоточной координации PR.