Dynamic Workflows: как Claude Code научился писать собственный оркестратор и запускать сотни агентов параллельно
28 мая Anthropic выкатила Dynamic Workflows — новый режим в Claude Code. Ключевое изменение в архитектуре: план теперь переносится из контекстного окна в исполняемый код. Разбираю как это устроено, что получилось на практике и где механизм пока ломается.
Почему обычный Claude Code не справляется с такими задачами
На длинных задачах с одним контекстным окном возникают три конкретных сбоя. «Агентная лень»: Claude объявляет задачу выполненной после 35 из 50 пунктов и останавливается. Самопредпочтение: при проверке собственной работы агент склонен её одобрять. Дрейф цели: после нескольких компакций контекста граничные условия вроде «не делай X» вымываются из картины.
Ни одну из этих проблем нельзя решить длинным промптом. Они структурные.
Что меняет Dynamic Workflows
Ключевая идея: план переносится из контекстного окна в исполняемый код.
Claude пишет JavaScript-скрипт под конкретную задачу — оркестратор. Скрипт запускает субагентов параллельно, каждый со своим чистым контекстом. Промежуточные результаты хранятся в переменных скрипта, не в диалоге. Прогон можно прервать и продолжить, состояние сохраняется.
Основной Claude видит только финальный синтез, без сотен промежуточных ответов субагентов. Это снимает сразу две проблемы: контекст не разбухает, и когда агент-«критик» проверяет результат другого агента, он оценивает чужую работу — самопредпочтение не срабатывает.
Ограничения: до 16 агентов одновременно (ограничение процессора), до 1000 за весь ран, без пользовательского ввода в середине прогона.
Запускается через ultracode в промпте или явным «создай workflow».
Как выглядит Bun-кейс изнутри
Jarred Sumner использовал Dynamic Workflows, чтобы портировать Bun с Zig на Rust: 750 000 строк, 99.8% тестов прошли, 11 дней от первого коммита до мержа.
Три последовательных workflow: первый картировал типы данных, прошёл по Zig-структурам и определил правильные Rust-лайфтаймы для каждого поля. Второй портировал файлы: каждый .zig отдавался отдельному агенту, параллельно, двое ревьюеров на файл. Третий гонял тест-сьют до зелёного — fix-loop, который не останавливался до прохождения всех тестов.
Каждый агент работает в своём контексте, агент-«критик» пытается опровергнуть результаты до того, как они дойдут до пользователя.
В переписанном Bun нашли более 13 000 unsafe-блоков. Агенты переводили код с Zig через костыли, лишь бы тесты прошли. Хороший черновик, не готовый прод. Dynamic Workflows ускоряет первый проход до состояния «есть с чем работать» — финальная шлифовка всё равно остаётся за человеком.
Честно про стоимость
Один пользователь на Max-плане ($200/мес) сжёг 20% недельного лимита за один день-первый ран. Тред на r/ClaudeCode с заголовком «Dynamic Workflows — это потрясающе, но безумно дорого» собрал дружный консенсус.
Anthropic сама предупреждает в документации: токенов уходит «существенно больше обычного», первый запуск блокируется подтверждением, администраторы могут отключить функцию целиком.
Отдельная проблема: при параллельной нагрузке агенты упираются в серверный rate-limit и обрываются без автоматического ретрая. GitHub Issues зафиксировали это с первых дней релиза.
Хорошая новость: можно задать токенный бюджет прямо в промпте — «используй не больше 10k токенов» — и скрипт будет работать в этом лимите.
Что дальше
Dynamic Workflows — архитектурный сдвиг. План уходит из контекстного окна в исполняемый код, и это меняет класс задач, которые Claude может закрывать.
Задачи, которые раньше требовали координации инженерной команды, теперь берёт оркестрационный скрипт — который Claude пишет сам под задачу.
Кто уже пробовал в своих проектах — что получилось и где сломалось? Интересен реальный опыт, особенно где всё пошло не по плану.
Разбираю такие инструменты регулярно — в Telegram: @dmitra_ai