На этой странице описываются команды агентов начиная с версии v2.1.178. Когда установлена переменная
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS, создание товарища по команде больше не требует этапа настройки, и очистка происходит автоматически при выходе из сеанса. До версии v2.1.178 вы просили Claude создать и назвать команду в первую очередь, и Claude использовал инструменты TeamCreate и TeamDelete для её установки и удаления. Оба инструмента больше не существуют. Входной параметр team_name в инструменте Agent принимается, но игнорируется, и поле team_name в полезных нагрузках hook TaskCreated, TaskCompleted и TeammateIdle содержит имя, полученное из сеанса, и является устаревшим.Когда использовать команды агентов
Команды агентов наиболее эффективны для задач, где параллельное исследование добавляет реальную ценность. Полные сценарии см. в примерах вариантов использования. Самые сильные варианты использования:- Исследование и проверка: несколько товарищей по команде могут одновременно исследовать различные аспекты проблемы, а затем делиться и оспаривать выводы друг друга
- Новые модули или функции: товарищи по команде могут владеть отдельными частями без конфликтов друг с другом
- Отладка с конкурирующими гипотезами: товарищи по команде тестируют различные теории параллельно и быстрее сходятся на ответе
- Координация между слоями: изменения, охватывающие фронтенд, бэкенд и тесты, каждый из которых принадлежит другому товарищу по команде
Сравнение с subagents
Как команды агентов, так и subagents позволяют вам распараллелить работу, но они работают по-разному. Выбирайте в зависимости от того, нужны ли вашим работникам общаться друг с другом:
Subagents только докладывают результаты основному агенту и никогда не разговаривают друг с другом. В командах агентов товарищи по команде делят список задач, берут на себя работу и общаются друг с другом напрямую.
Используйте subagents, когда вам нужны быстрые, сосредоточенные работники, которые докладывают обратно. Используйте команды агентов, когда товарищи по команде должны делиться выводами, оспаривать друг друга и координировать самостоятельно.
Включение команд агентов
Команды агентов отключены по умолчанию. Включите их, установив переменную окруженияCLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS на 1, либо в переменной окружения вашей оболочки, либо через settings.json:
settings.json
Запуск вашей первой команды агентов
После включения команд агентов опишите задачу и товарищей по команде, которых вы хотите, на естественном языке. Claude создает их и координирует работу на основе вашего запроса. Этот пример хорошо работает, потому что три роли независимы и могут исследовать проблему без ожидания друг друга:- Стрелки вверх и вниз: выбрать товарища по команде
- Enter: открыть стенограмму выбранного товарища по команде и отправить ему сообщение напрямую
- Escape: прервать текущий ход выбранного товарища по команде
2 idle agents когда пять неактивны. Выберите его и нажмите Enter для развертывания свернутых строк, или нажмите Esc для их свертывания снова. Работающие товарищи по команде, неудачные товарищи по команде и товарищ по команде, который вы просматриваете, всегда сохраняют свои собственные строки.
Если вы хотите, чтобы каждый товарищ по команде находился в отдельной разделенной панели, см. Выбор режима отображения.
Управление вашей командой агентов
Скажите лидеру, что вы хотите, на естественном языке. Он обрабатывает координацию команды, назначение задач и делегирование на основе ваших инструкций.Выбор режима отображения
Команды агентов поддерживают два режима отображения:- In-process: все товарищи по команде работают внутри вашего основного терминала. Используйте клавиши со стрелками вверх и вниз в панели агента для выбора товарища по команде, затем нажмите Enter для просмотра и введите сообщение для отправки ему напрямую. Работает в любом терминале, дополнительная настройка не требуется.
- Split panes: каждый товарищ по команде получает свою панель. Вы можете видеть вывод всех одновременно и щелкнуть в панель для прямого взаимодействия. Требует tmux или iTerm2.
tmux имеет известные ограничения на некоторых операционных системах и традиционно работает лучше всего на macOS. Использование tmux -CC в iTerm2 — это рекомендуемая точка входа в tmux."in-process". До версии v2.1.179 по умолчанию было "auto", поэтому обновленные сеансы, которые ранее открывали разделенные панели, теперь остаются в одном терминале, если вы не установите режим явно. Установите "auto" для включения разделенных панелей, когда вы уже работаете внутри сеанса tmux или ваш терминал — это iTerm2 с установленным CLI it2, в противном случае используется in-process. Параметр "tmux" включает режим разделенных панелей и автоматически определяет, использовать ли tmux или iTerm2 на основе вашего терминала.
Начиная с версии v2.1.186, установите "iterm2" для явного использования встроенных разделенных панелей iTerm2. Этот режим требует it2 CLI и показывает ошибку с командой установки, если it2 отсутствует. Подсказка настройки, которая предлагает установить it2 или переключиться на tmux, появляется при "auto" или "tmux", когда ваш терминал — это iTerm2 и tmux доступен как резервный вариант.
Чтобы переопределить значение по умолчанию, установите teammateMode в ~/.claude/settings.json:
it2 CLI. Для установки вручную:
- tmux: установите через менеджер пакетов вашей системы. См. tmux wiki для инструкций, специфичных для платформы.
- iTerm2: установите
it2CLI, затем включите Python API в iTerm2 → Settings → General → Magic → Enable Python API.
Укажите товарищей по команде и модели
Claude решает количество товарищей по команде для порождения на основе вашей задачи, или вы можете указать ровно то, что вы хотите:/model лидера по умолчанию. Чтобы изменить модель, используемую, когда подсказка не указывает одну, установите Default teammate model в /config. Выберите Default (leader’s model), чтобы товарищи по команде следовали текущей модели лидера.
Товарищи по команде наследуют уровень усилий лидера. В режиме split-pane это применяется с версии v2.1.186; более ранние версии не передавали уровень усилий сеанса лидера товарищам по команде в режиме split-pane.
Требуйте одобрения плана для товарищей по команде
Для сложных или рискованных задач вы можете потребовать, чтобы товарищи по команде планировали перед реализацией. Товарищ по команде работает в режиме только для чтения Plan Mode до тех пор, пока лидер не одобрит его подход:Разговаривайте с товарищами по команде напрямую
Каждый товарищ по команде — это полный, независимый сеанс Claude Code. Вы можете отправить сообщение любому товарищу по команде напрямую, чтобы дать дополнительные инструкции, задать дополнительные вопросы или переориентировать его подход.- Режим in-process: используйте клавиши со стрелками вверх и вниз в панели агента для выбора товарища по команде, затем нажмите Enter для просмотра его сеанса и введите сообщение для отправки ему. Нажмите
xна выбранном товарище по команде для его остановки. Нажмите Ctrl+T для переключения списка задач. - Режим split-pane: щелкните в панель товарища по команде для прямого взаимодействия с его сеансом. Каждый товарищ по команде имеет полный вид своего собственного терминала.
/model и /fast изменяют только параметры лидера. Начиная с версии v2.1.199, ввод любой из этих команд при просмотре товарища по команде показывает уведомление о том, что изменение применяется к лидеру; более ранние версии применяли его к лидеру без указания. /effort все еще применяется к последующим ходам просматриваемого товарища по команде, потому что товарищи по команде следуют уровню усилий лидера.
Назначение и взятие задач
Общий список задач координирует работу по всей команде. Лидер создает задачи, а товарищи по команде работают над ними. Задачи имеют три состояния: ожидание, в процессе и завершено. Задачи также могут зависеть от других задач: ожидающая задача с неразрешенными зависимостями не может быть взята до завершения этих зависимостей. Лидер может явно назначать задачи или товарищи по команде могут самостоятельно брать их:- Лидер назначает: скажите лидеру, какую задачу дать какому товарищу по команде
- Самостоятельное взятие: после завершения задачи товарищ по команде самостоятельно берет следующую неназначенную, разблокированную задачу
Завершение работы товарищей по команде
Чтобы корректно завершить сеанс товарища по команде, обратитесь к нему по имени. Например, с товарищем по команде по имени researcher:Обеспечение качества с помощью hooks
Используйте hooks для обеспечения правил, когда товарищи по команде заканчивают работу или задачи создаются или завершаются:TeammateIdle: запускается, когда товарищ по команде собирается перейти в режим ожидания. Выйдите с кодом 2, чтобы отправить обратную связь и продолжить работу товарища по команде.TaskCreated: запускается, когда задача создается. Выйдите с кодом 2, чтобы предотвратить создание и отправить обратную связь.TaskCompleted: запускается, когда задача отмечается как завершенная. Выйдите с кодом 2, чтобы предотвратить завершение и отправить обратную связь.
Как работают команды агентов
Этот раздел охватывает архитектуру и механику команд агентов. Если вы хотите начать их использовать, см. Управление вашей командой агентов выше.Как Claude запускает команды агентов
Команда агентов формируется, когда порождается первый товарищ по команде, при этом основной сеанс действует как лидер. Есть два способа, которыми товарищи по команде порождаются:- Вы запрашиваете товарищей по команде: дайте Claude задачу, которая выигрывает от параллельной работы, и явно попросите товарищей по команде. Claude порождает их на основе ваших инструкций.
- Claude предлагает товарищей по команде: если Claude определит, что ваша задача выигрывает от параллельной работы, он может предложить порождение товарищей по команде. Вы подтверждаете перед тем, как он продолжит.
Архитектура
Команда агентов состоит из:
См. Выбор режима отображения для параметров конфигурации отображения. Сообщения товарищей по команде поступают лидеру автоматически.
Почтовый ящик каждого агента — это JSON-файл в
~/.claude/teams/{team-name}/inboxes/{agent-name}.json. Claude Code проверяет каждую запись при чтении файла почтового ящика. Записи, которые не соответствуют формату сообщения, сообщаются как ошибки и удаляются из файла; действительные сообщения все еще доставляются. До версии 2.1.207 одна неправильно сформированная запись почтового ящика вызывала повторяющуюся ошибку каждую секунду и блокировала доставку для этого почтового ящика, пока вы не удалили файл вручную.
Система автоматически управляет зависимостями задач. Когда товарищ по команде завершает задачу, от которой зависят другие задачи, заблокированные задачи разблокируются без ручного вмешательства.
Команды и задачи хранятся локально под именем, производным от сеанса. Имя — это session- с последующими первыми восемью символами ID сеанса:
- Конфигурация команды:
~/.claude/teams/{team-name}/config.json - Список задач:
~/.claude/tasks/{team-name}/
cleanupPeriodDays, который вы уже контролируете для стенограмм сеансов.
Конфигурация команды содержит состояние выполнения, такое как ID сеансов и ID панелей tmux, поэтому не редактируйте ее вручную и не создавайте предварительно: ваши изменения будут перезаписаны при следующем обновлении состояния.
Чтобы определить переиспользуемые роли товарищей по команде, используйте определения subagent вместо этого.
Конфигурация команды содержит массив members с именем каждого товарища по команде, ID агента и типом агента. Товарищи по команде могут читать этот файл для обнаружения других членов команды.
Нет эквивалента конфигурации команды на уровне проекта. Файл вроде .claude/teams/teams.json в каталоге вашего проекта не распознается как конфигурация; Claude обрабатывает его как обычный файл.
Использование определений subagent для товарищей по команде
При порождении товарища по команде вы можете ссылаться на тип subagent из любой области subagent: проект, пользователь, плагин или определенный CLI. Это позволяет вам определить роль один раз, такую как security-reviewer или test-runner, и переиспользовать ее как делегированный subagent и как товарища по команде в команде агентов. Чтобы использовать определение subagent, упомяните его по имени при просьбе Claude порождать товарища по команде:SendMessage и инструменты управления задачами, всегда доступны товарищу по команде, даже когда tools ограничивает другие инструменты.
Поля frontmatter
skills и mcpServers в определении subagent не применяются, когда это определение работает как товарищ по команде. Товарищи по команде загружают skills и MCP servers из ваших параметров проекта и пользователя, так же как обычный сеанс.Разрешения
Товарищи по команде начинают с параметров разрешений лидера. Если лидер работает с--dangerously-skip-permissions, все товарищи по команде тоже. После порождения вы можете изменить отдельные режимы товарищей по команде, но вы не можете установить режимы для отдельных товарищей по команде во время порождения.
Когда один агент отправляет другому сообщение через SendMessage, получающему агенту сообщается, что оно пришло от другого сеанса Claude, а не от вас. Товарищ по команде не может одобрить запрос разрешения или дать согласие от вашего имени, и товарищ по команде, которому было отказано в действии, не может передать его другому товарищу по команде, чтобы обойти проверку. В автоматическом режиме классификатор рассматривает утверждение об одобрении, переданное от другого агента, как недоверенный ввод, а не подтверждение от вас.
Запросы разрешений товарищей по команде появляются в основном сеансе, поэтому одобрите их там сами. Требование одобрения плана — это предусмотренное исключение: основной сеанс предоставляет одобрения плана товарищей по команде без отдельного запроса к вам.
Контекст и коммуникация
Каждый товарищ по команде имеет свое собственное контекстное окно. При порождении товарищ по команде загружает тот же контекст проекта, что и обычный сеанс: CLAUDE.md, MCP servers и skills. Он также получает запрос на порождение от лидера. История разговора лидера не переносится. Как товарищи по команде делятся информацией:- Автоматическая доставка сообщений: когда товарищи по команде отправляют сообщения, они автоматически доставляются получателям. Лидеру не нужно опрашивать обновления.
- Уведомления о неактивности: когда товарищ по команде заканчивает и останавливается, он автоматически уведомляет лидера. Начиная с версии 2.1.198, товарищ по команде, чей ход заканчивается на ошибке API, уведомляет лидера о том, что он не удался, и включает текст ошибки, вместо того чтобы казаться нормально завершившимся.
- Общий список задач: все агенты могут видеть статус задачи и брать доступную работу.
- Обмен сообщениями товарищей по команде: отправить сообщение одному конкретному товарищу по команде по имени. Чтобы достичь всех, отправьте одно сообщение на получателя.
Использование токенов
Команды агентов используют значительно больше токенов, чем один сеанс. Каждый товарищ по команде имеет свое собственное контекстное окно, и использование токенов масштабируется с количеством активных товарищей по команде. Для исследования, проверки и работы над новыми функциями дополнительные токены обычно стоят того. Для рутинных задач один сеанс более экономичен. См. стоимость токенов команды агентов для руководства по использованию.Примеры вариантов использования
Эти примеры показывают, как команды агентов обрабатывают задачи, где параллельное исследование добавляет ценность.Запуск параллельной проверки кода
Один рецензент имеет тенденцию сосредотачиваться на одном типе проблемы за раз. Разделение критериев проверки на независимые области означает, что безопасность, производительность и покрытие тестами получают тщательное внимание одновременно. Запрос назначает каждому товарищу по команде отдельный объектив, чтобы они не перекрывались:Исследование с конкурирующими гипотезами
Когда первопричина неясна, один агент имеет тенденцию находить одно правдоподобное объяснение и останавливаться. Запрос борется с этим, делая товарищей по команде явно враждебными: работа каждого — не только исследовать свою теорию, но и оспаривать теории других.Лучшие практики
Дайте товарищам по команде достаточно контекста
Товарищи по команде автоматически загружают контекст проекта, включая CLAUDE.md, MCP servers и skills, но они не наследуют историю разговора лидера. См. Контекст и коммуникация для деталей. Включите детали, специфичные для задачи, в запрос на порождение:Выберите подходящий размер команды
Нет жесткого ограничения на количество товарищей по команде, но применяются практические ограничения:- Стоимость токенов масштабируется линейно: каждый товарищ по команде имеет свое собственное контекстное окно и потребляет токены независимо. См. стоимость токенов команды агентов для деталей.
- Накладные расходы на координацию увеличиваются: больше товарищей по команде означает больше коммуникации, координации задач и потенциал для конфликтов
- Убывающая отдача: сверх определенной точки дополнительные товарищи по команде не ускоряют работу пропорционально
Размер задач надлежащим образом
- Слишком маленькие: накладные расходы на координацию превышают выгоду
- Слишком большие: товарищи по команде работают слишком долго без проверок, увеличивая риск потраченной впустую работы
- Как надо: самостоятельные единицы, которые производят четкий результат, такие как функция, файл теста или проверка
Ждите, пока товарищи по команде закончат
Иногда лидер начинает реализовывать задачи сам вместо ожидания товарищей по команде. Если вы заметите это:Начните с исследования и проверки
Если вы новичок в командах агентов, начните с задач, которые имеют четкие границы и не требуют написания кода: проверка PR, исследование библиотеки или исследование ошибки. Эти задачи показывают ценность параллельного исследования без проблем координации, которые приходят с параллельной реализацией.Избегайте конфликтов файлов
Два товарища по команде, редактирующие один и тот же файл, приводит к перезаписям. Разбейте работу так, чтобы каждый товарищ по команде владел другим набором файлов.Мониторинг и управление
Проверяйте прогресс товарищей по команде, переориентируйте подходы, которые не работают, и синтезируйте выводы по мере их поступления. Оставление команды без присмотра на слишком долгое время увеличивает риск потраченной впустую работы.Устранение неполадок
Товарищи по команде не появляются
Если товарищи по команде не появляются после того, как вы попросили Claude создать команду:- В режиме in-process товарищи по команде появляются на панели агента ниже поля ввода подсказки. Используйте клавиши со стрелками вверх и вниз для выбора одного, затем нажмите Enter для его просмотра.
- Строка товарища по команде, которая исчезла после простоя, была скрыта, а не остановлена. Неактивные строки скрываются через 30 секунд после того, как вся панель переходит в режим ожидания, и снова появляются при следующем ходе товарища по команде. Когда более трех товарищей по команде неактивны, их избыточные строки сворачиваются в одну строку
N idle agents, которую Enter разворачивает. Отправьте товарищу по команде сообщение по имени, чтобы вернуть скрытую строку. - Проверьте, что задача, которую вы дали Claude, была достаточно сложной, чтобы оправдать команду. Claude решает, порождать ли товарищей по команде, на основе задачи.
- Если вы явно запросили разделенные панели, убедитесь, что tmux установлен и доступен в вашем PATH:
- Для iTerm2 проверьте, что
it2CLI установлен и Python API включен в предпочтениях iTerm2.
Слишком много запросов разрешений
Запросы разрешений товарищей по команде всплывают к лидеру, что может создать трение. Предварительно одобрите общие операции в ваших параметрах разрешений перед порождением товарищей по команде, чтобы уменьшить прерывания.Товарищи по команде останавливаются при ошибках
Товарищи по команде могут остановиться после возникновения ошибок вместо восстановления. Проверьте их вывод, выбрав товарища по команде на панели агента и нажав Enter в режиме in-process, или щелкнув панель в режиме split, затем либо:- Дайте им дополнительные инструкции напрямую
- Порождите товарища по команде-замену для продолжения работы
Лидер завершает работу до завершения работы
Лидер может решить, что команда закончена до того, как все задачи действительно завершены. Если это произойдет, скажите ему продолжать. Вы также можете сказать лидеру ждать, пока товарищи по команде закончат перед тем, как продолжить, если он начинает работу вместо делегирования.Осиротевшие сеансы tmux
Если сеанс tmux сохраняется после завершения сеанса Claude Code, он может не быть полностью очищен. Перечислите сеансы и убейте созданный командой:Ограничения
Команды агентов являются экспериментальными. Текущие ограничения, о которых следует знать:- Нет возобновления сеанса с товарищами по команде in-process:
/resumeи/rewindне восстанавливают товарищей по команде in-process. После возобновления сеанса лидер может попытаться отправить сообщение товарищам по команде, которые больше не существуют. Если это произойдет, скажите лидеру порождать новых товарищей по команде. - Статус задачи может отставать: товарищи по команде иногда не отмечают задачи как завершенные, что блокирует зависимые задачи. Если задача кажется застрявшей, проверьте, действительно ли работа выполнена, и обновите статус задачи вручную или скажите лидеру подтолкнуть товарища по команде.
- Завершение может быть медленным: товарищи по команде завершают свой текущий запрос или вызов инструмента перед завершением, что может занять время.
- Одна команда на сеанс: сеанс имеет ровно одну команду, ограниченную этим сеансом. Вы не можете создавать дополнительные именованные команды или делиться командой между сеансами.
- Нет вложенных команд: товарищи по команде не могут порождать своих собственных товарищей по команде. Только лидер может управлять командой.
- Нет фоновых подагентов от товарищей по команде in-process: собственные подагенты товарища по команде in-process работают на переднем плане. Запрос фонового подагента, будь то с помощью
run_in_backgroundили определения подагента, которое устанавливаетbackground: true, возвращает ошибку, потому что фоновая работа товарища по команде не может пережить процесс лидера. Подагенты, запущенные из основного разговора, следуют фоновому значению по умолчанию. - Лидер фиксирован: основной сеанс является лидером на протяжении всей его жизни. Вы не можете повысить товарища по команде до лидера или передать лидерство.
- Разрешения установлены при порождении: все товарищи по команде начинают с режима разрешений лидера. Вы можете изменить отдельные режимы товарищей по команде после порождения, но вы не можете установить режимы для отдельных товарищей по команде во время порождения.
- Разделенные панели требуют tmux или iTerm2: режим in-process по умолчанию работает в любом терминале. Режим разделенных панелей не поддерживается в интегрированном терминале VS Code, Windows Terminal или Ghostty.
Следующие шаги
Изучите связанные подходы для параллельной работы и делегирования:- Легкое делегирование: subagents порождают вспомогательных агентов для исследования или проверки в вашем сеансе, лучше для задач, которые не нуждаются в координации между агентами
- Ручные параллельные сеансы: Git worktrees позволяют вам запускать несколько сеансов Claude Code самостоятельно без автоматической координации команды
- Сравнение подходов: см. сравнение subagent vs agent team для разбора рядом
