Claude Code запускает динамические рабочие процессы для выполнения задач с использованием нескольких агентов

icon MarsBit
Поделиться
Share IconShare IconShare IconShare IconShare IconShare IconCopy
AI summary iconСводка

expand icon
Claude Code запустил динамические рабочие процессы для улучшения выполнения задач с использованием нескольких агентов, позволяя ИИ координировать несколько агентов для сложных операций. Новая система поддерживает разделение задач, параллельную обработку и проверку результатов, что подходит для автоматизированного выполнения смарт-контрактов и приложений многопартийных вычислений (MPC). Она повышает эффективность выполнения долгосрочных задач, предотвращая такие проблемы, как отклонение от цели и предвзятость агентов, что делает её полезной для исследований, проверки фактов и анализа бизнес-планов.

Редакторская заметка: Claude Code превращается из помощника по коду в настраиваемую рабочую станцию агента.

Описанные в этой статье рабочие процессы имеют ключевую ценность в том, что позволяют Claude больше не ограничиваться лишь «размышлением, а затем действием» в пределах одного контекстного окна, а динамически генерировать выполнимую структуру: разбивать задачи, назначать подагенты, обрабатывать их параллельно, проводить взаимную проверку, циклически итерировать и даже заставлять разных агентов соревноваться друг с другом, прежде чем объединить результаты.

Это означает, что сферы применения Claude Code явно расширяются. Он подходит не только для миграции кода, рефакторинга, воспроизведения тестов и код-ревью, но также для глубоких исследований, проверки фактов, отбора резюме, анализа инцидентов, формализации правил, оценки бизнес-планов и мозгового штурма названий — то есть для нетехнических задач. Многие сложные задачи по своей сути схожи с программированием: они требуют разбиения проблемы на части, изоляции контекста, проверки гипотез, работы с большим объемом деталей и выбора между несколькими альтернативными путями.

Динамические рабочие процессы решают несколько распространенных проблем крупных моделей при выполнении длинных задач: «лень агента», когда он объявляет о завершении задания еще до его окончания, «субъективное предвзятое восприятие», когда агент склонен принимать собственные выводы за истину, и «смещение цели», когда после нескольких итераций выполнения задача постепенно отклоняется от первоначальной цели. Передавая задачу нескольким Claude с независимыми контекстами, система преобразует сложную задачу из «одиночного марафона агента» в «совместную работу нескольких агентов».

Конечно, рабочие процессы — не панацея. Они обычно потребляют больше токенов и не всегда подходят для каждой обычной задачи программирования. Но они указывают на важное направление: конкуренция между инструментами ИИ в будущем может заключаться не только в том, насколько умна отдельная модель, а в том, способна ли она организовать надежный, повторно используемый и проверяемый процесс выполнения для сложных целей.

Следует оригинальный текст:

Хотя стандартная выполнительная среда Claude Code была создана для программирования, она также подходит для многих других типов задач. Оказалось, что многие задачи структурно похожи на задачи программирования. Однако для достижения наилучших результатов в некоторых специфических типах задач, таких как исследование, анализ безопасности, взаимодействие команд агентов или проверка кода, нам все же необходимо создавать на основе Claude Code специализированные выполнительные среды.

Рабочие процессы позволяют вам динамически создавать выполнение, чтобы Claude мог более естественно решать вышеуказанные и другие типы задач внутри Claude Code. Вы также можете делиться этими рабочими процессами и повторно использовать их.

В этой статье я поделюсь своим первоначальным опытом и выводами по использованию workflows, чтобы помочь вам максимально эффективно использовать его возможности.

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

Примечание: Эта статья также опубликована на блоге Claude.

Пример запроса

Прежде чем перейти к техническим деталям, я хочу привести несколько примеров prompt, чтобы помочь вам понять возможности рабочих процессов:

Этот тест терпит неудачу примерно один раз на 50 запусков. Создайте рабочий процесс для воспроизведения проблемы, сформулируйте гипотезы и проведите контрольные тесты в разных рабочих деревьях. /goal Не останавливайтесь, пока одна из гипотез не будет подтверждена.

Используя рабочий процесс, просмотрите последние 50 сессий, выявите повторяющиеся исправления, которые я совершаю, и превратите эти повторяющиеся проблемы в правила CLAUDE.md.

Используйте workflow, чтобы просмотреть канал #incidents в Slack за последние шесть месяцев и выявить повторяющиеся основные причины, по которым никто не создавал тикеты.

Запусти мой бизнес-план через рабочий процесс, чтобы разные агенты проанализировали его с точки зрения инвесторов, клиентов и конкурентов.

Здесь есть папка с 80 резюме. Используйте workflow, чтобы отсортировать их в соответствии с требованиями к позициям бэкенда, и проверьте десять лучших. Задайте мне вопросы с помощью инструмента AskUserQuestion, чтобы помочь вам определить критерии оценки.

Мне нужно придумать название для этого CLI-инструмента. Используя workflow, проведите мозговой штурм списка вариантов, а затем выберите три лучших с помощью турнирной системы.

Используйте workflow, чтобы переименовать нашу модель User в Account во всех местах.

Прочитайте черновик моего блога и проверьте каждое техническое утверждение с помощью рабочего процесса, сопоставив его с репозиторием кода. Я не хочу публиковать никакую неверную информацию.

Как работает динамический рабочий процесс

Динамический рабочий процесс выполняет JavaScript-файл, содержащий несколько специальных функций для генерации и координации подагентов.

Динамический рабочий процесс

Динамические рабочие процессы также включают стандартные функции JavaScript, такие как JSON, Math и Array, для обработки данных.

Особо стоит отметить, что динамический рабочий процесс может определять, какую модель использует агент, а также решать, будут ли подагенты работать в собственном рабочем дереве. Это позволяет Claude самостоятельно выбирать необходимый уровень интеллекта и степень изоляции в зависимости от требований задачи.

Если рабочий процесс прерывается, например, из-за ручного действия пользователя или выхода из терминала, после восстановления сессии он может продолжиться с места прерывания.

Почему необходим динамический рабочий процесс?

Когда вы используете стандартную среду выполнения Claude Code для выполнения задачи, она должна одновременно планировать и выполнять задачу в пределах одного окна контекста. Для многих программных задач этот подход очень эффективен, но в случае длительных, масштабных параллельных или высокоструктурированных конкурентных задач он иногда может не сработать.

Причина в том, что чем дольше Claude обрабатывает сложные задачи в рамках одного контекстного окна, тем больше вероятность возникновения определенных типов сбоев:

Агентная лень — это когда Claude прекращает обработку особенно сложных, многоэтапных задач до их полного завершения и заявляет о выполнении, несмотря на то, что достигнут только частичный прогресс. Например, при проведении безопасности проверяет только 20 из 50 элементов и объявляет работу завершенной.

Самообусловленная предвзятость — это склонность Claude отдавать предпочтение собственным результатам или выводам, особенно когда его просят проверить или оценить собственный контент по определённым критериям.

Целевой дрейф — это постепенное снижение степени приверженности Claude первоначальной цели в процессе многократного выполнения, особенно после сжатия контекста. Каждое резюме приводит к потере информации, и некоторые детальные требования, например, крайние случаи или ограничения вроде «не делайте X», могут быть утеряны.

Создание рабочего процесса помогает смягчить эти проблемы, поскольку позволяет оркестрировать несколько независимых Claude, предоставив каждому собственное окно контекста и сосредоточив его на изолированных, четко определенных задачах.

Dynamic workflows and static workflows

Ранее вы могли уже создавать статические рабочие процессы с помощью Claude Agent SDK или claude -p для координации нескольких экземпляров Claude Code.

Однако статические рабочие процессы, поскольку они должны охватывать различные крайние случаи, как правило, более универсальны. С появлением Claude Opus 4.8 и динамических рабочих процессов Claude теперь достаточно умен, чтобы создать настраиваемую исполняемую структуру специально для вашего сценария использования.

Динамический рабочий процесс

Практические шаблоны при использовании динамических рабочих процессов

Вы можете напрямую попросить Claude создать динамический рабочий процесс, либо использовать триггерное слово «ultracode», чтобы убедиться, что Claude Code создаст рабочий процесс.

Однако, если вы сможете сформировать умственную модель того, как работает динамический рабочий процесс, вам будет легче определить, когда его следует использовать, а также легче направлять Claude с помощью запросов.

При создании рабочих процессов Claude часто использует и комбинирует следующие шаблоны:

Динамический рабочий процесс

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

Разделение и агрегация: разбейте задачу на несколько более мелких шагов, чтобы каждый шаг выполнялся отдельным агентом, а затем объедините результаты. Этот подход особенно подходит для задач, содержащих множество мелких шагов, или когда каждый шаг требует чистого контекстного окна, чтобы избежать взаимных помех или перекрестного загрязнения. Этап агрегации действует как «барьер»: он ожидает завершения всех разделенных агентов, а затем объединяет их структурированные выходные данные в один результат.

Адверсарная проверка: для каждого сгенерированного агента запускается отдельный агент, который проверяет его выводы в соответствии с определенными критериями или стандартами.

Генерация и отбор: создайте большое количество идей вокруг одной темы, затем отфильтруйте их по критериям оценки или процессу проверки, устраните дубликаты и верните только проверенные, наиболее качественные идеи.

Турнир: не разбивайте задачу, а заставьте агентов конкурировать друг с другом. Создайте N агентов, чтобы каждый из них попытался выполнить одну и ту же задачу разными методами. Затем с помощью промпта или модели проведите попарное сравнение результатов агентов, пока не будет выбран победитель.

Повторяйте до завершения: для задач с неизвестным объемом работы не устанавливайте фиксированное количество циклов, а продолжайте создавать агентов, пока не будет выполнено условие остановки, например, пока не перестанут появляться новые обнаружения или ошибки в логах.

Сценарии использования

Вы можете более креативно подумать о том, когда и как использовать Claude Code для создания динамических рабочих процессов. Я обнаружил, что рабочие процессы иногда даже полезнее в нетехнической работе.

Динамический рабочий процесс

Миграция и рефакторинг

Bun был переписан с Zig на Rust с использованием workflows. Вы можете прочитать пост Jarred на X, чтобы узнать подробности.

Ключевым является разбиение задачи на серию шагов, которые нужно выполнить, например, точки вызова, тесты на сбои, модули и т.д. Для каждой задачи по исправлению запустите подагент в worktree, чтобы он выполнил исправление; затем пусть другой агент проведет контрольную проверку, после чего объедините результаты. Вы можете явно указать агенту не использовать ресурсоемкие команды, чтобы максимизировать параллелизм, не исчерпывая ресурсы локальной машины.

Глубокое исследование

В Claude Code мы выпустили навык глубокого исследования (/deep-research), который использует динамический рабочий процесс. Конкретно, он выполняет веб-поиск, извлекает источники, проводит контрольную проверку соответствующих утверждений и составляет итоговый отчет с цитатами.

Однако такие исследования применимы не только к веб-поиску. Например, вы также можете попросить Claude составить отчет о статусе на основе контекста Slack или изучить, как работает определенная функция, глубоко проанализировав кодовую базу.

Depth verification

Динамический рабочий процесс

С другой стороны, если у вас есть отчет, и вы хотите проверить каждое фактическое утверждение и источник, на который в нем ссылаются, вы можете создать рабочий процесс: сначала агент идентифицирует все фактические утверждения, а затем для каждого утверждения запускается подагент для детальной проверки. Вы также можете назначить агенту-валидатору проверку подагентов, ответственных за отслеживание источников, чтобы убедиться, что их источники достаточно надежны.

Сортировка

Динамический рабочий процесс

У вас может быть набор проектов, которые вы хотите отсортировать по некоторому качественному показателю, и вы считаете, что Claude Code хорошо справляется с оценкой такого показателя. Например, отсортировать тикеты поддержки по степени серьезности ошибок.

Однако, если вы пытаетесь отсортировать более 1000 строк в одном запросе, качество снижается, и контекстное окно не вмещает весь объем. Лучше использовать турнирный механизм, создав конвейер из агентов, выполняющих попарные сравнения, поскольку сравнительные оценки обычно надежнее абсолютных рейтингов; или сначала выполнить параллельную сортировку по корзинам, а затем объединить результаты. Каждое сравнение выполняется отдельным агентом, поэтому детерминированный цикл может поддерживать структуру всего турнира, при этом в контексте необходимо сохранять только текущий порядок выполнения.

Память и соблюдение правил

Динамический рабочий процесс

Если у вас есть набор конкретных правил, и Claude даже при наличии этих правил в файле CLAUDE.md часто их пропускает или плохо выполняет, можно создать рабочий процесс, в котором эти правила перечислены, а агент по проверке последовательно проверяет каждое правило — для каждого правила предусмотрен отдельный агент проверки. Создание подагента с личностью «скептика», который оценивает обоснованность этих правил, также помогает избежать чрезмерного числа ложных срабатываний.

Также можно сделать наоборот: проанализируйте свои последние сессии и комментарии к код-ревью, чтобы выявить повторяющиеся исправления; пусть параллельный агент сгруппирует эти проблемы; затем проведите контрольную проверку каждого потенциального правила, чтобы определить, действительно ли оно предотвращает конкретную реальную ошибку; в конце концов, отфильтрованные правила снова интегрируйте в CLAUDE.md.

Расследование корневой причины

Самый эффективный способ отладки — сформулировать несколько независимых гипотез и протестировать их по очереди. Однако, если вы используете только одно окно контекста, Claude может впасть в предвзятость в пользу собственных предпочтений.

Workflow может предотвратить такую ситуацию на структурном уровне: он может запустить несколько агентов, которые будут генерировать гипотезы на основе непересекающихся доказательств. Например, разные агенты могут анализировать логи, файлы и данные отдельно. Затем каждая гипотеза подвергается проверке группой валидаторов и оппонентов.

Это применимо не только к коду. Рабочие процессы также можно использовать для анализа продаж, например: «Почему продажи в марте снизились?»; для данных инженерии, например: «Почему этот конвейер завершился с ошибкой?»; или для любого пост-мортема.

Массовая сортировка

Динамический рабочий процесс

Каждая команда имеет очередь поддержки, отчеты об ошибках или другие задачи, которые не могут быть полностью обработаны человеком. Рабочий процесс триажа позволяет классифицировать каждый элемент, устранять дубликаты с уже отслеживаемыми проблемами и предпринимать действия. Это может означать попытку устранения проблемы или передачу ее на обработку человеку.

Для рабочего процесса триажа полезной моделью является карантин. То есть агенты, которые читают недоверенные открытые данные, должны быть запрещены выполнять операции с высокими привилегиями; операции с высокими привилегиями должны выполняться специализированными агентами, отвечающими за действия.

Вы можете использовать диагностические рабочие процессы вместе с /loop, чтобы Claude постоянно выполнял такие задачи.

Исследование и оценка вкуса

Workflows полезны, когда вам нужно исследовать различные подходы к решению задач, особенно таких, как дизайн и наименование, требующих эстетических суждений, и которые могут выиграть от использования набора критериев оценки.

Вы можете позволить Claude исследовать множество вариантов и предоставить агенту по проверке набор критериев для оценки «что такое хороший вариант». Когда агент по проверке считает, что результат соответствует стандартам, задача завершена. Различные варианты также можно ранжировать или отфильтровать с помощью турнирного механизма на основе этих критериев оценки.

Evals (оценки)

Вы можете запускать легкие оценки для конкретных задач, запустив отдельный агент в worktree, затем запустив сравнительный агент и оценивая и оценивая конкретные результаты по заданным критериям. Например, вы можете оценить и улучшить созданный вами навык, чтобы проверить, соответствует ли он определенным требованиям.

Модели и интеллектуальная маршрутизация: вы можете создать классифицирующий агент, оптимизированный под вашу задачу, который будет решать, какую модель использовать. Этот подход полезен, когда задача включает множество вызовов инструментов, а предварительное исследование помогает определить наиболее подходящую модель.

Например, для задачи «Объяснить, как работает модуль auth» наиболее подходящая модель зависит от количества файлов в модуле auth и структуры кодовой базы. Агент классификации может сначала провести исследование, а затем направить задачу на Sonnet или Opus в зависимости от ожидаемой сложности.

Когда не следует использовать динамический рабочий процесс

Workflows по-прежнему являются новшеством. Хотя в многих сценариях использования они могут дать эффект, значительно превосходящий традиционные методы, не каждая задача требует их использования, и они могут значительно увеличить расход токенов.

Лучше применять рабочие процессы к задачам, которые позволяют расширить границы возможностей Claude Code новым способом. Для обычных задач программирования сначала задайте себе вопрос: действительно ли эта задача требует больше вычислительных ресурсов? Например, большинство традиционных задач программирования не требуют группы из пяти рецензентов.

Советы по созданию динамических рабочих процессов

Дизайн промпта

При написании промпта для динамического рабочего процесса подробность обычно улучшает результат, особенно при использовании конкретных методов, упомянутых выше.

Рабочие процессы применимы не только к крупным задачам. Вы также можете предложить модели использовать «быстрый рабочий процесс». Например, вы можете создать быстрый контрольный процесс для проверки какой-либо гипотезы.

Используйте вместе с /goal и /loop

При использовании рабочих процессов, которые можно выполнять повторно, таких как триаж, исследование или проверка, вы можете сочетать их с /loop, чтобы они запускались через фиксированные интервалы, и использовать /goal для установки жестких требований к завершению.

Бюджет на использование токена

Вы можете установить четкий бюджет на использование токенов для динамического рабочего процесса, чтобы ограничить количество токенов, используемых задачей. Вы можете указать требование к бюджету в запросе, например, «use 10k tokens», что установит лимит в 10 000 токенов.

Сохранение и совместное использование динамических рабочих процессов

Вы можете нажать «s» в меню workflow, чтобы сохранить рабочие процессы. Вы можете отправить их в ~/.claude/workflows или распространить через навыки.

Динамический рабочий процесс

Если вы хотите поделиться ими через skill, поместите файл JavaScript workflow в папку skill и укажите на него в SKILL.md. Для большей гибкости вы также можете подсказать Claude: рассматривайте workflows из skill как шаблоны, а не как скрипты, которые необходимо выполнять дословно.

Динамический рабочий процесс

Новый мир

Workflows — это полезный новый способ расширения Claude Code. Мы рекомендуем рассматривать это как отправную точку. Мы еще многое предстоит узнать о том, как лучше всего использовать его. Расскажите нам о своих открытиях.

Тарик Шихипар и Сид Бидасария (@sidbid) — члены технической команды Anthropic, отвечающие за работу над Claude Code.

Отказ от ответственности: Информация на этой странице может быть получена от третьих лиц и не обязательно отражает взгляды или мнения KuCoin. Данный контент предоставляется исключительно в общих информационных целях, без каких-либо заверений или гарантий, а также не может быть истолкован как финансовый или инвестиционный совет. KuCoin не несет ответственности за ошибки или упущения, а также за любые результаты, полученные в результате использования этой информации. Инвестиции в цифровые активы могут быть рискованными. Пожалуйста, тщательно оценивайте риски, связанные с продуктом, и свою устойчивость к риску, исходя из собственных финансовых обстоятельств. Для получения более подробной информации, пожалуйста, ознакомьтесь с нашими Условиями использования и Уведомлением о риске.