На прошлой неделе мы выпустили динамические воркфлоу в Claude Code. Claude теперь умеет на лету писать собственный harness, заточенный под конкретную задачу.
Стандартный harness Claude Code построен для кодинга, но он полезен и для многих других типов задач — потому что многие задачи, как выяснилось, похожи на кодинг. Однако есть классы задач, где нам приходилось строить кастомные harness поверх Claude Code для максимальной производительности: Research, анализ безопасности, команды агентов, Code Review.
Воркфлоу позволяют динамически создавать harness-обвязки поверх Claude Code, которые дают Claude решать задачи более нативно. Воркфлоу можно шарить и переиспользовать с другими.
В этой статье я поделюсь первыми опытами и выводами по использованию воркфлоу. Имей в виду: лучшие практики ещё формируются. Динамические воркфлоу часто используют больше токенов и лучше всего подходят для сложных, высокоценных задач.
Примеры промптов
Прежде чем погружаться в технические детали — несколько примеров, чтобы представить возможности:
CLAUDE.md.Как работают динамические воркфлоу
Динамические воркфлоу исполняют JavaScript-файл с несколькими специальными функциями для порождения и координации субагентов:
Динамические воркфлоу также включают стандартные функции JavaScript — JSON, Math, Array — для обработки данных.
Особенно важно знать: динамические воркфлоу могут решать, какие модели использовать для каждого агента и запускать ли субагентов в собственном worktree. Это позволяет Claude выбирать нужный уровень интеллекта и изоляции.
Если воркфлоу прервался — например, из-за действия пользователя или закрытия терминала — возобновление сессии продолжит его с места остановки.
Зачем нужны динамические воркфлоу
Когда стандартный Claude Code выполняет задачу, он планирует и исполняет в одном контекстном окне. Для многих задач это эффективно, но на длительных, массово-параллельных, сильно структурированных или состязательных задачах это ломается.
Чем дольше Claude работает над сложной задачей в одном контекстном окне, тем сильнее он подвержен нескольким видам сбоев:
- Агентская лень (Agentic laziness) — когда Claude останавливается, не завершив сложную многокомпонентную задачу, и объявляет работу сделанной после частичного прогресса. Например, отработал 35 из 50 пунктов security review и заявил «готово».
- Самопредпочтение (Self-preferential bias) — склонность Claude предпочитать собственные результаты и находки, особенно когда его просят проверить или оценить их по рубрике.
- Дрейф цели (Goal drift) — постепенная потеря точности к изначальной цели через множество шагов, особенно после compaction. Каждый шаг суммаризации теряет часть информации: краевые требования или ограничения «не делай X» могут пропасть.
Воркфлоу борется с этим, оркестрируя отдельных субагентов Claude с собственными контекстными окнами и изолированными, сфокусированными целями.
Динамические vs статические воркфлоу
Возможно, ты уже создавал статический воркфлоу с помощью Claude Agent SDK или claude -p для координации нескольких экземпляров Claude Code.
Но статические воркфлоу должны покрывать все крайние случаи — поэтому они обычно более общие. С выходом Claude Opus 4.8 и динамических воркфлоу Claude стал достаточно умён, чтобы написать кастомный harness, скроенный под твой конкретный случай.
Полезные паттерны
Ты можешь начать использовать динамические воркфлоу, просто попросив Claude создать его, или используя триггерное слово ultracode, чтобы гарантировать создание воркфлоу.
Но построение ментальной модели работы динамических воркфлоу поможет понять, когда их использовать и как направлять Claude через промпты.
Вот несколько распространённых паттернов, которые Claude может использовать и комбинировать:
Classify-and-act
Используй агента-классификатор для определения типа задачи и маршрутизации к разным агентам или поведению. Или используй классификатор в конце для оценки результата.
Fan-out-and-synthesize
Раздели задачу на множество мелких шагов, запусти агента на каждый шаг, а затем синтезируй результаты. Особенно полезно, когда шагов много, или когда каждому шагу нужен чистый контекст — чтобы они не пересекались и не загрязняли друг друга. Этап синтеза — барьер: ждёт завершения всех fan-out агентов, затем объединяет их структурированные результаты в один ответ.
Adversarial verification
Для каждого порождённого агента запусти отдельного агента, который состязательно проверит его результат по чёткой рубрике или критериям.
Generate-and-filter
Сгенерируй множество идей по теме, затем отфильтруй их по рубрике или верефикацией, удали дубликаты и верни только самые качественные, проверенные идеи.
Tournament
Вместо разделения работы заставь агентов соревноваться. Запусти N агентов, каждый пробует одну и ту же задачу разными подходами. Затем judging-агент попарно сравнивает результаты, пока не останется победитель.
Loop until done
Для задач с неизвестным объёмом работы — цикл порождения агентов, пока не сработает условие остановки (нет новых находок, нет ошибок в логах), а не фиксированное число проходов.
Сценарии использования
Думай креативно — когда и как просить Claude Code создавать динамические воркфлоу. Я обнаружил, что воркфлоу иногда даже полезнее для нетехнической работы.
Миграции и рефакторинг
Bun был переписан с Zig на Rust с помощью воркфлоу. Подробнее — в треде Jarred'а.
Ключ — разбить задачу на серию шагов: callsites, падающие тесты, модули и т.д. Породи субагента для каждого исправления в worktree, затем пусть другой агент проведёт состязательное ревью, и смержи. Попроси агента не использовать ресурсоёмкие команды, чтобы максимально параллелить работу без перегрузки машины.
Глубокое исследование
Мы опубликовали навык deep research (/deep-research) внутри Claude Code, использующий динамические воркфлоу. Он делает fan-out веб-поисков, извлекает источники, состязательно верифицирует утверждения и синтезирует процитированный отчёт.
Но такое исследование не только для веб-поиска. Попроси Claude собрать статус-отчёт из контекста в Slack или исследовать работу фичи, углублённо изучая кодовую базу.
Глубокая проверка
Если у тебя отчёт, в котором нужно проверить и подтвердить источником каждое фактическое утверждение, создай воркфлоу: один агент выявляет все утверждения, затем для каждого порождается субагент для детальной проверки. Можно добавить верифицирующего агента, который проверит качество источника.
Сортировка
Если нужно отсортировать список по качественному признаку, который Claude хорошо оценивает (например, тикеты поддержки по серьёзности бага) — не пытайся сортировать 1000+ строк в одном промпте: качество упадёт, и они не влезут в контекст. Вместо этого используй турнир, конвейер попарных сравнений (сравнительное суждение надёжнее абсолютной оценки) или параллельное bucket-ранжирование со слиянием. Каждое сравнение — свой агент; детерминированный цикл держит только турнирную сетку.
Память и соблюдение правил
Если у тебя есть набор правил, которые Claude регулярно пропускает или с которыми борется (даже прописанные в CLAUDE.md), создай воркфлоу со списком правил, проверяемых агентами-верификаторами — один верификатор на правило. Создание субагента-скептика для проверки самих правил поможет избежать избытка ложных срабатываний.
Работает и в обратную сторону: проанализируй недавние сессии и комментарии к code review на повторяющиеся правки, кластеризуй их параллельными агентами, состязательно проверь каждого кандидата (предотвратило бы это правило реальную ошибку?), и дистиллируй выжившие обратно в CLAUDE.md.
Поиск корневой причины (root-cause investigation)
Отладка работает лучше всего, когда ты выдвигаешь несколько независимых гипотез и проверяешь их — но в одном контекстном окне Claude может попасть в ловушку self-preferential bias.
Воркфлоу структурно предотвращает это: порождает агентов для генерации гипотез из непересекающихся источников (отдельные агенты для логов, файлов, данных). Каждая гипотеза затем проходит панель верификаторов и опровергателей.
Это не только для кода. Воркфлоу можно использовать для продаж (почему упали продажи в марте?), data engineering (почему упал пайплайн?) или любых post-mortem упражнений.
Триаж на масштабе
У каждой команды есть очередь поддержки, баг-репорты или бэклог, который невозможно полностью обработать вручную.
Триаж-воркфлоу классифицирует каждый элемент, дедуплицирует с уже отслеживаемым и принимает меры: пытается исправить или эскалирует человеку.
Полезный паттерн для триажа — карантин (quarantine): агенты, читающие непроверенный публичный контент, лишены права на привилегированные действия — их выполняют агенты на стороне исполнения.
Соедини триаж-воркфлоу с /loop, чтобы Claude делал это непрерывно.
Исследование и «вкус»
Воркфлоу полезны при исследовании разных подходов к решению, особенно когда оно субъективно — дизайн, нейминг — и выигрывает от рубрики.
Попроси Claude исследовать набор решений и дай review-агенту рубрику того, как выглядит хорошее решение. Задача считается выполненной, когда review-агент чувствует, что критерии соблюдены. Решения также можно упорядочить или выбрать через турнир по рубрике.
Evals (оценка качества)
Можно запускать лёгкие evaluation для конкретных задач: породи отдельных агентов в worktree, а затем — агентов сравнения для попарной оценки результатов по рубрике. Например, оценка и доработка созданного тобой скилла по заданным критериям.
Маршрутизация моделей и интеллекта
Создай агента-классификатора, настроенного на твои задачи, который решает, какую модель использовать. Это полезно, когда задача включает много вызовов инструментов, а предварительное исследование помогает выбрать лучшую модель.
Например, лучшая модель для задачи «объясни, как работает модуль auth» зависит от количества файлов в модуле и формы кодовой базы. Классификатор может провести такое исследование и направить запрос к Sonnet или Opus в зависимости от ожидаемой сложности.
Когда НЕ использовать динамические воркфлоу
Воркфлоу — новый инструмент. Хотя во многих сценариях они дают выдающиеся результаты, они не нужны для каждой задачи и могут использовать значительно больше токенов.
Лучше всего подходить к воркфлоу творчески — раздвигать границы Claude Code туда, где ты раньше не был. Для обычных задач кодинга спроси себя: действительно ли нужно больше вычислений? Например, большинству традиционных задач кодинга не нужна панель из 5 ревьюеров.
Советы по построению динамических воркфлоу
Промптинг
Детальные промпты с использованием описанных выше техник дают лучшие результаты для динамических воркфлоу.
Воркфлоу — не только для больших задач. Можно попросить модель использовать «быстрый воркфлоу» (quick workflow) — например, для быстрого состязательного ревью одного предположения.
Комбинируй с /goal и /loop
При использовании повторяемых воркфлоу (триаж, исследования, верификация) комбинируй их с /loop для запуска через регулярные интервалы и с /goal для жёсткого требования завершения.
Бюджеты токенов
Можно задать явный бюджет токенов для ограничения расхода: например, промпт «используй 10k токенов» установит верхнюю планку.
Сохранение и обмен воркфлоу
Ты можешь сохранять воркфлоу, нажав «s» в меню воркфлоу. Их можно хранить в ~/.claude/workflows или распространять через навык (skill).
Чтобы шарить воркфлоу через скилл, положи JavaScript-файлы воркфлоу в папку скилла и укажи их в SKILL.MD. Для большей гибкости попроси Claude воспринимать воркфлоу в скилле как шаблон, а не скрипт для дословного исполнения.
Новая точка для открытий
Воркфлоу — это полезный новый способ расширить Claude Code. Я призываю думать о них как о начальной точке для исследования новых способов использовать Claude в твоих задачах. Ещё многое предстоит открыть в том, как использовать их наилучшим образом. Дай знать, что найдёшь.
Статья написана Thariq Shihipar и Sid Bidasaria, technical staff в Anthropic, работающими над Claude Code.
Оригинал: A harness for every task: dynamic workflows in Claude Code · Anthropic, 2 июня 2026