- Дата публикации
Dynamic workflows в Claude Code: когда ИИ сам собирает себе рабочее окружение
Что нового
Anthropic добавила в Claude Code динамические workflows — сценарии, которые сам Claude пишет и запускает на лету под конкретную задачу.
Ключевые изменения:
- Claude сам генерирует “harness” — рабочее окружение и план, как решать задачу, а не просто отвечает в одном контексте.
- Поддержка JavaScript‑workflow: запускается JS‑файл с особыми функциями для создания и координации подагентов Claude.
- Подагенты с разными моделями и контекстами: workflow может выбирать, какой агент на каком Claude (например, Claude 3.5 Sonnet или Claude 3 Opus 4.8) работает и в какой рабочей директории.
- Изоляция задач: каждый подагент получает свой контекст и цель — это уменьшает “размазывание” фокуса по длинной сессии.
- Поддержка продолжения сессии: если вы закрыли терминал или прервали процесс, при возобновлении Claude продолжит workflow с того места, где остановился.
- Шаблоны сценариев: можно сохранять workflows в
~/.claude/workflowsи распространять их как skills черезSKILL.MD. - Управление бюджетом токенов: можно прямо в промпте задать лимит, например:
"используй 10k токенов", и Claude будет держаться этого потолка.
Цифр по скорости, стоимости токена или сравнению с другими версиями Claude Anthropic не приводит. Важно другое: динамические workflows почти всегда дороже по токенам, поэтому Anthropic советует использовать их для сложных и ценных задач, а не для повседневного «допиши функцию».
Как это работает
Базовая идея
Раньше стандартный harness Claude Code решал всё в одном контексте: планировал, читал код, писал патчи, проверял себя. Для обычных задач это работает. Но на длинных, разветвлённых сценариях появляются типичные проблемы:
- Agentic laziness: Claude бросает сложную задачу на середине и пишет «готово», хотя, например, проверил только 35 из 50 пунктов.
- Self‑preferential bias: когда Claude проверяет сам себя, он склонен доверять собственным прошлым выводам.
- Goal drift: по мере сжатий и пересказов цели и ограничения искажаются, теряются крайние случаи и «точно не делай X».
Dynamic workflows решают это за счёт оркестрации нескольких подагентов, каждый в своём контексте и со своей узкой задачей.
JS‑workflow как управляющий сценарий
В центре — JavaScript‑файл, который запускает Claude Code. В нём доступны:
- специальные функции для создания подагентов и их координации;
- стандартные функции JavaScript (JSON, Math, Array и т.д.) для обработки данных;
- управление тем, какой моделью Claude пользуется каждый подагент;
- управление worktree: подагент может работать в отдельной рабочей директории, чтобы изменения были изолированы.
Workflow может:
- запускать подагентов параллельно;
- ждать, пока они закончат, и собирать результат (barrier‑шаг);
- запускать «агентов‑ревьюеров», которые проверяют работу других агентов по заданному рубрикатору;
- повторять цикл, пока не выполнено условие завершения (нет новых багов, нет новых гипотез и т.п.).
Если процесс оборвался, при следующем запуске Claude подхватит состояние workflow и продолжит.
Динамический vs статический workflow
До этого разработчики могли писать статические workflows через Claude Agent SDK или claude -p: заранее прописанный сценарий, который координирует несколько инстансов Claude Code.
Разница:
- Статический workflow: один универсальный сценарий «на все случаи», который должен учитывать крайние случаи.
- Динамический workflow: Claude 3 Opus 4.8 сам пишет под вас JS‑harness прямо в сессии, затачивая его под конкретную задачу — от миграции кода до разбора Slack‑инцидентов.
Типовые паттерны внутри workflows
Anthropic описывает несколько базовых паттернов, из которых Claude собирает сценарии:
-
Classify‑and‑act
Сначала работает агент‑классификатор, который решает, что за задача перед ним (баг, фича, исследование и т.п.), а затем перенаправляет работу к подходящим подагентам. Либо классификатор используется в конце, чтобы решить, как оформить результат. -
Fan‑out‑and‑synthesize
Задача режется на множество мелких шагов. Для каждого шага запускается отдельный агент с чистым контекстом. Потом синтезирующий агент ждёт, пока все закончат, и собирает структурированный отчёт. -
Adversarial verification
На каждый агент, который что‑то делает, создаётся агент‑оппонент, который проверяет результат по чёткой рубрике и ищет ошибки. -
Generate‑and‑filter
Один агент генерирует много идей, другой их фильтрует, удаляет дубликаты и оставляет только те, что прошли проверку и соответствуют критериям. -
Tournament
Несколько агентов решают одну и ту же задачу разными способами. Отдельный «судья» сравнивает результаты попарно, пока не останется победитель. -
Loop until done
Вместо фиксированного числа проходов workflow запускает новые итерации, пока не выполнено условие «готово» — например, больше нет ошибок в логах.
Что это значит для вас
Для чего это реально полезно
Dynamic workflows особенно полезны, когда одна сессия Claude Code уже не тянет по сложности или объёму. Типичные сценарии:
1. Миграции и крупные рефакторинги
Anthropic приводит пример: переписывание Bun с Zig на Rust с помощью workflows. Подход:
- разбить миграцию на шаги: модули, точки вызова, падающие тесты;
- для каждого изменения создать подагента, который работает в отдельном worktree;
- запустить отдельного агента‑ревьюера, который проверяет патчи и сливает их;
- ограничить использование тяжёлых команд (например, слишком частый
npm installили глобальные сборки), чтобы можно было параллелить работу и не убить машину.
2. Глубокие исследования
Anthropic встроила в Claude Code скилл /deep-research, который как раз использует dynamic workflows:
- агент масштабно фрагментирует запрос на подзадачи;
- запускает параллельные веб‑поиски;
- подтягивает источники;
- проверяет утверждения из источников через «адверсарных» агентов;
- собирает отчёт с цитированием.
Тот же подход можно применить не только к интернету:
- собрать статус‑отчёт по Slack‑каналу
#incidentsза полгода и выявить повторяющиеся корневые причины без заведённых тикетов; - исследовать, как работает фича в кодовой базе: один агент сканирует файлы, другой строит карту вызовов, третий пишет описание.
3. Глубокая верификация
Если вы готовите отчёт или блог‑пост и хотите, чтобы каждое техническое утверждение было подтверждено:
- один агент вычленяет из текста все фактические утверждения;
- для каждого утверждения создаётся подагент, который проверяет его по коду или документации;
- ещё один агент проверяет качество источников и отбрасывает сомнительные.
То же можно применять к отчётам по продукту, аналитике, внутренней документации.
4. Сортировка и приоритизация больших списков
Когда нужно отсортировать тысячи элементов по «качеству», где важна экспертная оценка, например:
- тикеты поддержки по тяжести багов;
- резюме кандидатов для роли backend‑разработчика;
- идеи фич по потенциальному влиянию.
Если попытаться сделать это в одном промпте, всё упрётся в контекст и качество оценки. Workflow даёт варианты:
- турнир с попарным сравнением (сравнительные суждения надёжнее, чем абсолютные оценки);
- параллельное bucket‑ранжирование и последующее слияние.
Каждое сравнение — отдельный агент, а «скелет» турнира хранит состояние и держит процесс детерминированным.
5. Память и соблюдение правил
Если вы постоянно ловите Claude на одних и тех же ошибках, даже при наличии CLAUDE.md:
- создайте workflow, где набор правил проверяется отдельными агентами‑верификаторами (один агент на правило);
- добавьте скептического подагента, который проверяет сами правила, чтобы снизить число ложных срабатываний.
Обратное направление тоже работает:
- собрать последние сессии и комментарии к ревью;
- параллельно кластеризовать повторяющиеся замечания;
- для каждого кандидата‑правила запустить агента, который проверит: «предотвратило бы это правило реальную ошибку?»;
- выжившие правила вернуть в
CLAUDE.md.
6. Поиск корневых причин
Для отладки и постмортемов динамический workflow помогает избежать self‑preferential bias:
- отдельные агенты строят гипотезы по разным источникам: логи, файлы, данные;
- затем панель агентов‑проверяющих пытается опровергнуть каждую гипотезу;
- выживают те, которые выдержали давление фактов.
Это применимо не только к коду:
- «почему просели продажи в марте?»;
- «почему упал data‑pipeline?»;
- разбор инцидентов в продуктах и процессах.
7. Массовый триаж
У любой команды есть бэклог, который никто не успевает разобрать:
- саппорт‑очередь;
- баг‑репорты;
- входящие заявки.
Workflow для триажа может:
- классифицировать заявки;
- искать дубликаты среди уже заведённых задач;
- предпринимать действия: от попытки автопочинки до эскалации человеку.
Полезный паттерн — quarantine:
- агенты, которые читают непроверенный публичный контент, не имеют прав на опасные действия;
- высокопривилегированные действия выполняют отдельные агенты, работающие только с доверенной информацией.
Сочетание с /loop позволяет держать такой триаж работающим постоянно.
8. Исследование вариантов и «вкус»
Когда задача про вкус — дизайн, нейминг, UX‑решения — workflows помогают структурировать поиск:
- один агент генерирует много вариантов (например, название CLI‑утилиты);
- другой агент с прописанной рубрикой (тон, ассоциации, длина, юридические риски) отбирает лучшие;
- дальше можно запустить турнир, чтобы выбрать топ‑3.
9. Evals и улучшение собственных skills
Если вы разрабатываете свои skills для Claude Code, можно:
- запускать несколько агентов в отдельном worktree, каждый решает тестовую задачу с вашим skill;
- отдельные агенты‑оценщики сравнивают результаты по рубрике;
- на основе этого вы улучшаете промпты и структуру skill.
10. Маршрутизация по уровню интеллекта
Workflow может включать классификатор, который решает, какую модель Claude использовать:
- простой запрос — более дешёвая и быстрая модель;
- тяжёлый анализ с большим количеством файлов — Claude 3 Opus 4.8.
Пример: «объясни, как работает auth‑модуль». Классификатор сначала оценивает размер модуля и сложность кода, после чего решает, какую модель подключить.
Когда это вам не нужно
Dynamic workflows — тяжёлый инструмент. Anthropic прямо говорит: они часто используют больше токенов, чем обычная сессия Claude Code.
Не стоит тянуть workflows, если:
- задача — обычный багфикс, написание функции, небольшой рефакторинг;
- вы не готовы платить за дополнительный токен‑бюджет;
- нужно быстрое одношаговое действие без сложной проверки.
Полезный вопрос перед запуском: «Этой задаче действительно нужно больше вычислений и агентов?» Если сомневаетесь — начните с обычного Claude Code.
Доступность и ограничения
Claude Code и dynamic workflows официально доступны через интерфейсы Anthropic. В России доступ к Claude часто требует VPN и регистрации через зарубежный номер или почту. Для команд в РФ это дополнительный операционный барьер, который нужно учитывать.
Место на рынке
Anthropic сравнивает dynamic workflows не с конкурентами вроде GPT‑4o, а с собственными предыдущими подходами — статическими workflows и дефолтным harness Claude Code.
Из конкретики:
- Claude 3 Opus 4.8 достаточно «умён», чтобы писать JS‑workflows под задачу во время диалога.
- Раньше приходилось писать такие сценарии руками через Claude Agent SDK или
claude -p.
Прямых численных сравнений с GPT‑4o, GPT‑4.1 или другими системами оркестрации Anthropic не даёт: нет данных по скорости, точности или стоимости на задачу относительно конкурентов.
По сути, dynamic workflows — это встроенный в Claude Code оркестратор подагентов. Аналогичные идеи реализуют через внешние фреймворки (LangChain, Semantic Kernel, custom orchestrators поверх GPT‑4o), но здесь Anthropic встраивает это прямо в свой продукт и даёт Claude самому писать сценарии.
Если вы уже строите агентные пайплайны поверх GPT‑4o или других моделей, динамические workflows в Claude Code — ещё один вариант с другим UX: меньше ручного кода оркестрации, больше делегирования самому ИИ.
Как запустить и использовать на практике
Старт без кода: через промпт
Anthropic предлагает самый простой путь:
- просто попросить Claude:
"Создай workflow для задачи X"; - или использовать триггер‑слово "ultracode", чтобы явно подсказать Claude Code, что нужен workflow.
Примеры запросов из статьи Anthropic:
"Этот тест падает примерно 1 раз из 50. Настрой workflow, чтобы воспроизвести баг. Построй конкурирующие гипотезы о гонке и не останавливайся, пока одна не выдержит все проверки.""С помощью workflow пройди мои последние 50 сессий и найди повторяющиеся исправления, которые я делаю. Преврати их в правила для CLAUDE.md.""Используй workflow, чтобы просмотреть #incidents в Slack за последние шесть месяцев и найти повторяющиеся корневые причины, по которым никто не завёл тикет.""Возьми мой бизнес‑план и запусти workflow, в котором разные агенты разнесут его с точки зрения инвестора, клиента и конкурента.""Вот папка из 80 резюме. Используй workflow, чтобы ранжировать их для backend‑роли и перепроверить топ‑10. Поспрашивай меня через AskUserQuestion tool, чтобы собрать рубрику.""Мне нужно имя для этой CLI‑утилиты. Используй workflow, чтобы нагенерировать варианты и провести турнир, выбрав топ‑3.""Используй workflow, чтобы переименовать нашу модель User в Account везде.""Пройди мой черновик поста и проверь каждое техническое утверждение по кодовой базе с помощью workflow. Я не хочу публиковать ошибки."
Продвинутый уровень: свои JS‑workflows
Если вы пишете свои workflows:
- создайте JavaScript‑файл с логикой оркестрации (создание агентов, запуск, ожидание, слияние);
- используйте стандартные функции JS и специальные функции Claude Code для подагентов и работы с worktree;
- сохраняйте файлы в
~/.claude/workflowsили включайте их в skill.
Чтобы сохранить workflow во время работы, в меню workflow можно нажать s — сценарий попадёт в локальное хранилище.
Для распространения в виде skill:
- положите JS‑файлы workflow в папку
skill; - укажите их в
SKILL.MD; - в промпте лучше объяснить Claude, что workflows в skill — это шаблоны, а не жёсткие скрипты, которые нужно исполнять без изменений. Тогда Claude сможет адаптировать их под конкретную задачу.
Пара советов по промптингу
- Чем подробнее вы опишете задачу и желаемую структуру workflow (паттерн, роли агентов, критерии завершения), тем лучше.
- Можно просить о "быстром workflow" для небольших задач: например, отдельный агент‑оппонент, который проверит одно допущение.
- Для повторяющихся задач (триаж, ресёрч, верификация) удобно сочетать workflows с
/loopи/goal:/loop— чтобы запускать их регулярно;/goal— чтобы задать жёсткий критерий, когда задача считается завершённой.
Контроль токенов
Dynamic workflows легко расходуют много токенов, особенно при fan‑out и турнирах. Anthropic предлагает задавать бюджет прямо в промпте:
"Сделай это в пределах 10k токенов"— Claude поставит лимит и будет оптимизировать число агентов и глубину проверки под него.
Если вы работаете в команде с общим биллингом, имеет смысл выработать внутренние правила: какие задачи можно запускать с workflows, а какие — только через обычный Claude Code.
Кому это подойдёт
Отличный матч:
- тимлиды и архитекторы, которые ведут крупные рефакторинги и миграции;
- SRE и инженеры поддержки, занимающиеся постмортемами и триажем больших очередей;
- продуктовые и data‑команды, которым нужны регулярные отчёты и глубокие ресёрчи;
- разработчики, строящие свои skills и агентные пайплайны поверх Claude.
Сомнительная польза:
- одиночные разработчики, которые решают маленькие задачи и не хотят усложнять себе жизнь;
- команды с жёстким лимитом по бюджету токенов;
- сценарии, где важна мгновенная реакция, а не глубина анализа.
Dynamic workflows в Claude Code — это мощный инструмент для тех, кто готов отдать ИИ не только решение, но и планирование самого процесса работы. Если вы давно упирались в пределы одной сессии ИИ, это как раз тот случай, когда стоит поэкспериментировать.