Дата публикации
ai_products

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 собирает сценарии:

  1. Classify‑and‑act
    Сначала работает агент‑классификатор, который решает, что за задача перед ним (баг, фича, исследование и т.п.), а затем перенаправляет работу к подходящим подагентам. Либо классификатор используется в конце, чтобы решить, как оформить результат.

  2. Fan‑out‑and‑synthesize
    Задача режется на множество мелких шагов. Для каждого шага запускается отдельный агент с чистым контекстом. Потом синтезирующий агент ждёт, пока все закончат, и собирает структурированный отчёт.

  3. Adversarial verification
    На каждый агент, который что‑то делает, создаётся агент‑оппонент, который проверяет результат по чёткой рубрике и ищет ошибки.

  4. Generate‑and‑filter
    Один агент генерирует много идей, другой их фильтрует, удаляет дубликаты и оставляет только те, что прошли проверку и соответствуют критериям.

  5. Tournament
    Несколько агентов решают одну и ту же задачу разными способами. Отдельный «судья» сравнивает результаты попарно, пока не останется победитель.

  6. 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 — это мощный инструмент для тех, кто готов отдать ИИ не только решение, но и планирование самого процесса работы. Если вы давно упирались в пределы одной сессии ИИ, это как раз тот случай, когда стоит поэкспериментировать.


Читайте также