Claude Code 2.1.213 вводит жёсткие ограничения на неконтролируемые флоты субагентов
Версия 2.1.213 ограничивает число одновременных субагентов и по умолчанию запрещает вложенные запуски, дополняя ограничения на сессию из 2.1.212. Вот новые значения по умолчанию и переменные окружения.
Если вы когда-нибудь наблюдали, как рабочий процесс Claude Code разворачивается, порождает субагентов, которые порождают собственных субагентов, и тихо расходует ваш бюджет, пока вы ходили за кофе, то два последних выпуска для вас. Claude Code 2.1.213, выпущенный на этой неделе, добавляет ограничение на параллелизм субагентов и по умолчанию запрещает им вкладываться. Он напрямую опирается на потолки на сессию, появившиеся в 2.1.212. Вместе они превращают “будем надеяться, что цикл завершится” в набор явных, настраиваемых ограничений.
Что меняет 2.1.213
Изменилось два поведения, и оба они являются защитными барьерами вокруг параллельной работы агентов.
Во-первых, теперь есть потолок на то, сколько субагентов работает одновременно. Значение по умолчанию равно 20. Если рабочий процесс пытается запустить больше, лишние ставятся в очередь, а не запускаются все сразу. Вы переопределяете это переменной окружения:
export CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS=8
Во-вторых, и это важнее, субагенты по умолчанию больше не порождают вложенных субагентов. До 2.1.213 субагент мог делегировать другому субагенту, тот мог делегировать снова, и глубина была практически неограниченной. Именно так один запрос верхнего уровня мог разрастись до десятков одновременных сессий. Теперь глубина порождения ограничена, и вы явно включаете более глубокую вложенность:
# Allow subagents to spawn one more level down
export CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH=2
Журнал изменений 2.1.213 также устраняет связанный пробел: --max-budget-usd не останавливал фоновых субагентов. Так что если вы полагались на потолок в долларах, чтобы остановить неконтролируемую задачу, теперь он останавливает и фоновые.
Потолки на сессию из 2.1.212
Ограничения 2.1.213 надстраиваются над двумя потолками на сессию из 2.1.212, через несколько сборок после выпуска 2.1.208. Одна сессия теперь имеет жёсткий бюджет как для порождений субагентов, так и для веб-поисков, каждый со значением по умолчанию 200:
export CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION=50
export CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION=100
2.1.212 также убрала долгие вызовы инструментов MCP с критического пути. Любой вызов MCP, работающий дольше двух минут, теперь автоматически уходит в фон, поэтому медленный инструмент больше не блокирует ход. Вы можете настроить порог или отключить это поведение:
# Background MCP calls after 90 seconds instead of 120
export CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS=90000
Почему это важно
Флоты агентов дёшево запускать и дорого выполнять. Режим сбоя никогда не был отдельным субагентом, это была рекурсия: оркестратор, порождающий рабочих, рабочие, порождающие помощников, и ни одного числа, ограничивающего общее количество. Значения по умолчанию в 20 одновременных, без вложенности и 200 порождений на сессию означают, что некорректный запрос теперь упирается в стену, а не в счёт. Если вы строите разворачивающиеся веером рабочие процессы, прочитайте значения по умолчанию, а затем повысьте те два или три, которые действительно нужны вашей реальной работе, вместо того чтобы снимать все ограничения.
Все подробности доступны в журнале изменений Claude Code.
Comments
Sign in with GitHub to comment. Reactions and replies thread back to the comments repo.