Добавить в корзинуПозвонить
Найти в Дзене

Главное в новой фиче Claude Code не там, где все ищут

Года два все, кто всерьёз гонял ИИ на тяжёлых задачах, собирали оркестрацию руками. Кто на n8n, кто на голых shell-скриптах, кто на агенте-операторе, который раздаёт куски работы мелким воркерам и потом сводит всё вместе. Костыль на костыле, и каждый раз заново. 28 мая Anthropic выкатил своё, Dynamic Workflows в Claude Code, пока research preview, заодно с Opus 4.8. И самое интересное тут не то, что агенты бегают параллельно, это и через субагентов умели. Интересно, куда переехал план. Раньше план задачи жил в контексте модели. Просишь "сделай миграцию на триста файлов", и вся пошаговая простыня, промежуточные результаты, мусор от каждого шага копятся прямо в окне диалога. Окно пухнет, модель начинает терять нить и перечитывать собственную писанину, а ты ведь за это перечитывание платишь токенами. В Dynamic Workflows план уезжает в отдельный JavaScript-скрипт, который крутится в фоне своим рантаймом. Промежуточные результаты лежат в переменных скрипта, а не в контексте, и сессия при эт
Оглавление
28 мая Anthropic выпустил Dynamic Workflows для Claude Code. Разбираю анатомию воркфлоу без пересказа документации: пять примитивов, почему запрещены Date() и random(), потолок в 1000 агентов и где это бьёт n8n, а где нет.
28 мая Anthropic выпустил Dynamic Workflows для Claude Code. Разбираю анатомию воркфлоу без пересказа документации: пять примитивов, почему запрещены Date() и random(), потолок в 1000 агентов и где это бьёт n8n, а где нет.

Вендор наконец отдал оркестратор, и дело не в "параллельных агентах"

Года два все, кто всерьёз гонял ИИ на тяжёлых задачах, собирали оркестрацию руками. Кто на n8n, кто на голых shell-скриптах, кто на агенте-операторе, который раздаёт куски работы мелким воркерам и потом сводит всё вместе. Костыль на костыле, и каждый раз заново. 28 мая Anthropic выкатил своё, Dynamic Workflows в Claude Code, пока research preview, заодно с Opus 4.8. И самое интересное тут не то, что агенты бегают параллельно, это и через субагентов умели. Интересно, куда переехал план.

Где теперь живёт план

Раньше план задачи жил в контексте модели. Просишь "сделай миграцию на триста файлов", и вся пошаговая простыня, промежуточные результаты, мусор от каждого шага копятся прямо в окне диалога. Окно пухнет, модель начинает терять нить и перечитывать собственную писанину, а ты ведь за это перечитывание платишь токенами. В Dynamic Workflows план уезжает в отдельный JavaScript-скрипт, который крутится в фоне своим рантаймом. Промежуточные результаты лежат в переменных скрипта, а не в контексте, и сессия при этом остаётся живой. До модели доезжает только финал, один итоговый отчёт вместо пошаговой стенограммы. Вот это и есть настоящий сдвиг, а не "о, теперь параллельно".

Из чего собран воркфлоу

-2

Под капотом Workflow это детерминированный JS-скрипт на специальных функциях. Кирпичики такие:

  • phase ставит фазу, этап в прогрессе, чтобы видеть, где ты находишься.
  • agent запускает субагента: можно отправить его в worktree, привязать к фазе, дать кастомный промпт, выбрать модель. И обязательно задать SCHEMA, по которой агент вернёт ответ. Мы в детерминированном скрипте, ответ дальше разбирается кодом, значит форма ответа должна быть жёсткой.
  • parallel(tasks) запускает задачи разом и работает как барьер, ждёт, пока все отстреляются или упадут. По сути это Promise.all().
  • pipeline(items, ...stages) гонит каждый элемент через этапы независимо. Элемент два может ещё торчать на втором этапе, а четвёртый уже прошёл все. Чистый fan-out.
  • workflow запускает суб-воркфлоу. Вложенность ровно одна, из воркфлоу можно пустить ещё один, но не глубже.

Почему внутри запрещены Date() и random()

Дальше нюанс, на котором многие спотыкаются. Внутри скрипта нельзя дёргать Date() и Math.random(). Звучит дико, пока не поймёшь зачем. Воркфлоу же умеет вставать на паузу и продолжаться с того же места. Прервался прогон, ты вернулся, и уже отработавшие агенты отдают закешированный результат, а не считают всё по новой. Чтобы это работало, скрипт обязан быть детерминированным, при повторном проходе вести себя ровно так же. А время и случайное число повторяемость ломают, потому их и выпилили. Не каприз разработчиков, а плата за то, чтобы после сбоя не начинать с нуля.

Сколько агентов и кто трогает диск

Про масштаб тоже есть конкретика. Параллельные задачи бегут с оглядкой на общую конкурентность системы. Дашь parallel сотню задач при лимите в десять, и они пойдут пачками по десять, но барьер всё равно дождётся всех до единой. Сверху рантайм держит жёсткие потолки, до 16 агентов разом и не больше 1000 на один прогон. И ещё одна деталь по безопасности, про которую стоит знать. Сам скрипт воркфлоу в файловую систему не лезет и шелл не дёргает. Читают, пишут и запускают команды только агенты. Скрипт дирижирует, а руки в грязь не суёт, дирижёру скальпель ни к чему.

Готовый /deep-research как шаблон для своих

В комплекте идёт готовый воркфлоу /deep-research, и его стоит разобрать, потому что это рабочий шаблон, который можно растащить под себя. Фаз пять. Scope разбивает вопрос на пять разных углов зрения. Search пускает parallel с пятью воркерами, по одному на угол. Fetch собирает итоги, чистит дубли и достаёт топ-15 по каждому углу. Verify тут самая занятная, на результаты натравливают параллельных скептиков, их задача раскритиковать релевантность, и дальше проходят только выжившие. Synthesize сшивает уцелевшее в ответ. Эту штуку, кстати, можно дёргать из своих воркфлоу, когда надо качественно покопать в сети, например прижать баг, по которому в выдаче сплошь противоречивые советы.

Кому это и когда, а кому пока рано

Теперь по делу. Если ты, как я, привык собирать конвейеры на n8n, Dynamic Workflows их не отменяет. n8n остаётся там, где задача дёргает десяток внешних сервисов, крутится по расписанию и живёт без тебя. Workflows про другое, про разовые тяжёлые штуки, где надо распараллелить мозги, а не интеграции. Главный пример из анонса, порт Bun с Zig на Rust, под 750 тысяч строк, и тестовый набор при этом зелёный на 99,8 процента. Руками такое не тянут, а одной сессией с ассистентом тем более. Доступ пока на тарифах Max и Team или через API, нужен Claude Code версии 2.1.154 и выше, живёт в CLI, Desktop и расширении для VS Code. Запускается как обычный тул, указываешь скрипт из .claude/workflows. А команда /workflows показывает список прогонов, пускает внутрь любой фазы глянуть промпт и результат агента, ставит на паузу или прибивает.

Что на самом деле произошло

Оркестрация перестала быть твоей головной болью и стала фичей языка. Граница между "пользуюсь ИИ" и "программирую ИИ" сдвинулась на шаг. Теперь ты не уговариваешь модель держать план в голове, ты пишешь план кодом, а исполняет его модель под надзором рантайма. Кто это поймёт первым, тот и соберёт следующее поколение автоматизаций, пока остальные ещё спорят, заменит их нейросеть или нет.