SpyBara
Go Premium

workflows.md 2026-09-11 23:01 UTC to 2026-09-12 03:02 UTC

This page contains 6 additions and 2 deletions.

2026
Thu 10 23:00 Sat 12 03:02 Fri 18 23:58 Wed 23 23:57 Fri 25 23:58

Оркестрируйте множество подагентов с помощью динамических workflows

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

Dynamic workflow — это JavaScript-скрипт, который оркестрирует множество подагентов одновременно. Claude пишет скрипт для описанной вами задачи, а runtime выполняет его в фоне, пока ваша сессия остаётся отзывчивой.

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

Когда использовать workflow

Подагенты, skills, команды агентов и workflows могут все запустить многошаговую задачу. Разница в том, кто держит план:

Подагенты Skills Команды агентов Workflows
Что это Рабочий Claude, которого вы создаёте Инструкции, которые следует Claude Ведущий агент, контролирующий сеансы коллег Скрипт, который выполняет runtime
Кто решает, что запустить дальше Claude, ход за ходом Claude, следуя подсказке Ведущий агент, ход за ходом Скрипт
Где живут промежуточные результаты Контекстное окно Claude Контекстное окно Claude Общий список задач Переменные скрипта
Что повторяемо Определение рабочего Инструкции Определение команды Сама оркестрация
Масштаб Несколько делегированных задач за ход То же, что подагенты Несколько долгоживущих коллег Десятки-сотни агентов за запуск
Прерывание Перезапускает ход Перезапускает ход Товарищи по команде продолжают работать Возобновляемо в той же сессии

Workflow перемещает план в код. С подагентами, skills и командами агентов Claude является оркестратором: он решает ход за ходом, что создавать или назначать дальше, и каждый результат попадает в контекстное окно. Скрипт workflow держит цикл, ветвление и промежуточные результаты сам, поэтому контекст Claude содержит только финальный ответ.

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

Запустить bundled workflow

Самый быстрый способ увидеть workflow в действии — запустить /deep-research, встроенный workflow, который Claude Code включает для исследования вопроса по множеству источников. Вы увидите, как агенты работают через набор фаз в фоне, пока ваша сессия остаётся свободной, и получите один отчёт в конце вместо пошагового транскрипта.

1

Запустить workflow

Запустите /deep-research с вопросом, который вы хотите исследовать. Он распределяет веб-поиски по нескольким углам, получает и перекрёстно проверяет найденные источники и синтезирует цитируемый отчёт.

/deep-research What changed in the Node.js permission model between v20 and v22?
2

Разрешить workflows

Claude Code спрашивает, разрешить ли workflow. Выберите Yes для продолжения. Точная подсказка зависит от вашего режима разрешений. Смотрите Одобрить план перед его запуском для опций для каждого режима.

3

Смотреть прогресс

Запуск начинается в фоне. Запустите /workflows, используйте клавиши со стрелками для выбора запуска и нажмите Enter для открытия его представления прогресса:

/workflows

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

Вы также можете смотреть из панели задач ниже поля ввода: там появляется однострочное резюме прогресса во время выполнения запуска. Нажмите стрелку вниз для фокусировки, затем Enter для расширения.

4

Прочитать отчёт

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

Когда агенты-верификаторы не могут проверить утверждение, например после ограничения скорости или ошибки API, отчёт указывает это утверждение как непроверенное вместо того, чтобы считать его опровергнутым.

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

Bundled workflows

Claude Code включает /deep-research как встроенный workflow:

Команда Что она делает
/deep-research <question> Распределяет веб-поиски по вопросу по нескольким углам, получает и перекрёстно проверяет найденные источники, голосует по каждому утверждению и возвращает цитируемый отчёт с утверждениями, которые не пережили перекрёстную проверку, отфильтрованными. Требует, чтобы инструмент WebSearch был доступен

/deep-research запускается только при его вызове.

Workflows, которые вы сохраняете сами, становятся командами таким же образом и появляются в автодополнении / рядом с встроенными.

Смотреть запуск

Workflows работают в фоне, поэтому сессия остаётся отзывчивой, пока агенты работают. Запустите /workflows в любое время для списка работающих и завершённых workflows, затем выберите один для открытия его представления прогресса.

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

Ключ Действие
↑ / ↓ Выбрать фазу или агента
Enter или → Углубиться в выбранную фазу, затем в агента. В деталях нажмите Enter для расширения или сворачивания
Esc или ← Вернуться на один уровень назад. В версиях v2.1.203 по v2.1.205 ← не позволял вернуться из фазы или агента; используйте Esc на этих версиях
j / k Прокручивать в деталях агента, когда это переполняется
f Фильтровать список агентов в выбранной фазе по статусу. Нажмите снова для циклирования
p Приостановить или возобновить запуск
x Остановить выбранного агента или остановить весь workflow, когда фокус находится на запуске
r Перезапустить выбранного работающего агента
s Сохранить скрипт запуска как команду

Деталь агента перечисляет подсказку агента, его недавние вызовы инструментов и его результат. Каждый вызов показывает его состояние, например всё ещё выполняется или не удалось. Когда агент ведёт собственный список задач, деталь показывает его также, с статусом каждой задачи.

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

Попросить Claude написать workflow

Вы можете попросить Claude написать workflow для вашей задачи двумя способами:

Вы также можете запустить команду workflow, которая уже существует: bundled workflow как /deep-research, или один, который вы сохранили.

Попросить workflow в вашей подсказке

Чтобы запустить одну задачу как workflow без изменения уровня усилий сессии, включите ключевое слово ultracode в вашу подсказку. Просьба в ваших собственных словах, например "использовать workflow" или "запустить workflow", также работает: Claude рассматривает прямой запрос как то же самое согласие.

ultracode: audit every API endpoint under src/routes/ for missing auth checks

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

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

Отменить или отключить ключевое слово

Если вы не имели в виду запустить workflow, нажмите Option+W на macOS или Alt+W на Windows и Linux, чтобы отменить выделение для этой подсказки, или нажмите backspace, пока курсор находится прямо после выделенного ключевого слова. Чтобы остановить ключевое слово от срабатывания вообще, отключите Ultracode keyword trigger в /config.

Где работает ключевое слово

Ключевое слово — это согласие только в подсказке, которую вы вводите сами: в интерактивной подсказке, в панели расширения IDE, в клиенте Remote Control или в приложении Agent SDK, которое помечает origin вашего ввода с клавиатуры как { kind: "human" }. Это не запускает workflow, когда он достигает сессию другим способом:

  • подсказка, переданная с -p
  • подсказка, которую приложение Agent SDK отправляет без пометки её как ввода человека
  • подсказка запланированной задачи
  • полезная нагрузка webhook или комментарий pull request, переданные в разговор

Позволить Claude решить с ultracode

Ultracode — это параметр Claude Code, который объединяет xhigh усилие рассуждения с автоматической оркестрацией workflow. С ним включённым, Claude планирует workflow для каждой существенной задачи вместо того, чтобы ждать, пока вы попросите.

/effort ultracode

Чтобы начать сессию с уже включённым ultracode, запустите с claude --effort ultracode. Требуется Claude Code версии 2.1.203 или позже.

Чтобы включить его, пока вы выбираете модель, переместите ползунок усилий средства выбора /model на ultracode с помощью клавиш со стрелками. Adjust effort level перечисляет маршруты, которые включают ultracode.

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

/effort ultracode длится для текущей сессии; чтобы каждая сессия начиналась с ним, установите параметр ultracode. Вернитесь с /effort high, когда вы вернётесь к рутинной работе. Меню /effort предлагает это только когда ultracode доступен.

Одобрить план перед его запуском

В CLI подсказка для каждого запуска показывает запланированные фазы и эти опции:

  • Yes, run it: начать запуск
  • Yes, and don't ask again for <name> in <path>: начать и пропустить эту подсказку для этого workflow в этом проекте с этого момента. Claude Code предлагает эту опцию, когда вы запускаете bundled, сохранённый или plugin workflow по имени, а не для скрипта, который Claude написал для текущей задачи.
  • View raw script: прочитать скрипт перед решением
  • No: отменить

Ctrl+G открывает скрипт в вашем редакторе. Tab позволяет вам отрегулировать подсказку перед запуском.

Видите ли вы эту подсказку, зависит от вашего режима разрешений:

Режим разрешений Когда вас спрашивают
Auto Только первый запуск. Любой Yes записывает согласие в ваши пользовательские параметры, и более поздние запуски начинаются без подсказки. Полностью пропущено, когда ultracode включён
Manual, accept edits Каждый запуск, если вы не выбрали Yes, and don't ask again для этого workflow в этом проекте
Bypass permissions Claude Code не спрашивает вас. Запуск начинается немедленно
claude -p, Agent SDK Claude Code не спрашивает вас

В claude -p и Agent SDK Claude Code никогда не показывает эту подсказку. Он запускает вызов инструмента Workflow через ту же оценку разрешений, что и остальная часть сессии, поэтому правила отказа, правила запроса и режим dontAsk применяются к запуску, как они применяются к каждому вызову инструмента. Чтобы позволить workflow начать в этих запусках, используйте один из этих:

  • Правило разрешений: Workflow в ваших правилах разрешения одобряет каждый workflow, и Workflow(<name>) одобряет один сохранённый workflow по имени.
  • Режим автоматического разрешения: classifier проверяет вызов и может его одобрить.
  • Режим обхода разрешений: Claude Code одобряет вызов.
  • Hook PreToolUse: hook, который возвращает allow для вызова, одобряет его.
  • Ваш хост: --permission-prompt-tool одобряет его, или, с Agent SDK, callback canUseTool или hook PermissionRequest одобряет его.

В приложении Desktop карточка одобрения показывает имя workflow, список фаз и предупреждение об использовании токенов, с действиями Once, Always и Deny. Представление прогресса появляется в боковой панели Background tasks.

Подагенты, которые создаёт workflow, используют ваши правила разрешений, и Claude Code выбирает их режим разрешений по правилам под в каком режиме разрешений работает подагент. Чтобы избежать подсказок на длительном запуске, добавьте инструменты, которые нужны агентам, в ваши правила разрешения перед запуском.

Сохранить workflow для переиспользования

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

Запустите /workflows, выберите запуск, который вы хотите сохранить, и нажмите s. В диалоге сохранения Tab переключается между двумя местами сохранения:

  • .claude/workflows/ в вашем проекте: общее с каждым, кто клонирует репо
  • ~/.claude/workflows/ в вашем домашнем каталоге: доступно в каждом проекте, видимо только вам. Если вы установили CLAUDE_CONFIG_DIR, это местоположение — это каталог workflows/ под этим путём.

Диалог сохранения показывает разрешённый путь для личного местоположения.

Нажмите Enter для сохранения. Workflow запускается как /<name> в будущих сессиях из любого местоположения.

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

  • Местоположение проекта: Claude Code отказывает, если .claude, .claude/workflows или целевой файл является символической ссылкой.
  • Личное местоположение: Claude Code отказывает только если сам целевой файл является символической ссылкой, поэтому каталог ~/.claude, управляемый инструментом dotfiles, всё ещё работает.

До версии 2.1.216 Claude Code следовал ссылке, что могло поместить файл вне выбранного вами местоположения.

В монорепо с несколькими каталогами .claude/ вы можете хранить workflows рядом с пакетом, к которому они применяются. Начиная с версии 2.1.178, сохранение в местоположение проекта записывает в ближайший каталог .claude/workflows/, который уже существует между вашей рабочей директорией и корнем репозитория, или в корень репозитория, если ни один ещё не существует. Workflows проекта также загружаются из каждого .claude/workflows/ вдоль этого пути, и когда более одного определяет одно имя, Claude Code запускает тот, который ближе всего к рабочей директории.

Если project workflow и personal workflow имеют одно имя, запускается project.

Распределить workflow в plugin

Чтобы поделиться workflow между командами или репозиториями, включите его в plugin. Поместите скрипт в каталог workflows/ в корне plugin или укажите другое местоположение с помощью поля манифеста workflows.

Plugin workflows имеют пространство имён по имени plugin. Plugin под названием acme-tools, содержащий скрипт, чьё meta.name — это release-audit, запускается как /acme-tools:release-audit.

Передать входные данные в сохранённый workflow

Сохранённый workflow может принимать входные данные через параметр args. Скрипт читает его как глобальную переменную с именем args. Используйте это для предоставления исследовательского вопроса, списка целевых путей или объекта конфигурации во время вызова вместо редактирования скрипта для каждого запуска.

Следующая подсказка запускает сохранённый workflow со списком номеров проблем:

Run /triage-issues on issues 1024, 1025, and 1030

Claude передаёт список как структурированные данные, поэтому скрипт может вызывать методы массива и объекта на args напрямую без предварительного анализа. Если args опущен, глобальная переменная имеет значение undefined внутри скрипта.

Примеры подсказок workflow

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

Аудит множества файлов на одну и ту же проблему

Распределите одного агента на файл, затем соберите и проверьте выводы.

use a workflow to audit every route handler under src/routes/ for missing authentication checks, and adversarially verify each finding before reporting it

Продолжайте исправлять, пока проверка не пройдёт

Запустите проверку, исправьте то, что не прошло, и повторяйте, пока это не пройдёт или не перестанет делать прогресс.

use a workflow to run npx tsc --noEmit and keep fixing the reported errors until the type check passes or two rounds in a row make no progress

Мигрировать множество файлов параллельно

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

use a workflow to migrate every component under src/components/ from JavaScript to TypeScript, working on each file in its own isolated copy

Проверить каждый изменённый файл и написать одно резюме

Запустите рецензента на файл, затем передайте все выводы одному агенту, который ранжирует и дедублирует их.

use a workflow to review every file changed in this PR for correctness issues, then merge the per-file findings into one ranked summary

Исследовать тему по множеству источников

Распределите читателей по changelogs, issues и docs, затем синтезируйте. Встроенный workflow /deep-research делает это; вы также можете описать более узкую версию.

use a workflow to research how our three competitors handle rate limiting: read their public docs and recent changelog entries in parallel, then compare the approaches

Найти проблемы, пока список не перестанет расти

Продолжайте искать в раундах и остановитесь, когда новые раунды не найдут ничего нового.

use a workflow to find flaky tests in this repo: run the suite repeatedly, record which tests fail intermittently, and stop once two rounds in a row find nothing new

Как выглядит сохранённый скрипт

Когда вы сохраняете workflow, файл в .claude/workflows/ содержит блок meta, за которым следует тело скрипта, который оркестрирует подагентов. Обычно вам не нужно его редактировать, но вот форма маленького, чтобы вы могли узнать, что Claude сгенерировал:

export const meta = {
  name: 'audit-routes',
  description: 'Audit every route handler for missing auth checks',
}

const found = await agent('List every .ts file under src/routes/.', {
  schema: { type: 'object', required: ['files'], properties: { files: { type: 'array', items: { type: 'string' } } } },
})

const audits = await pipeline(found.files, file =>
  agent(`Audit ${file} for missing authentication checks.`, { label: file }),
)

return audits.filter(Boolean)

Тело — это простой JavaScript с top-level await. agent() создаёт один подагент, pipeline() запускает один на элемент в списке, а parallel() запускает набор задач агента одновременно и ждёт завершения всех из них.

Вызов agent() разрешается в null, если вы остановите его во время выполнения или он столкнётся с неустранимой ошибкой API. В режиме auto классификатор может заблокировать вызов agent() перед запуском подагента. Заблокированный вызов разрешается в null и отображается в представлении прогресса запуска с причиной. pipeline() сохраняет каждый null в массиве результатов, поэтому пример заканчивается на .filter(Boolean), чтобы удалить эти записи.

Если вы передаёте schema при вызове agent(), этот подагент возвращает JSON, соответствующий форме, вместо прозы. Claude Code проверяет схему перед запуском подагента: когда он может доказать, что схема противоречит сама себе, вызов завершается с ошибкой, называющей противоречие, и подагент никогда не запускается. Одно противоречие, которое он может доказать, — это ключ required, который additionalProperties: false исключает.

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

Отредактировать сохранённый скрипт

Чтобы изменить workflow, который вы сохранили, отредактируйте его файл .js или попросите Claude внести изменение. Перед редактированием или запросом запустите встроенный skill /workflow-authoring bundled skill, чтобы загрузить справочник по написанию скриптов, из которого работает Claude. Skill требует Claude Code v2.1.248 или позже.

Чтобы запустить отредактированную версию в текущем сеансе, запустите /reload-skills, чтобы перечитать директории workflow, затем снова запустите /<name>.

Claude Code применяет эти правила к каждой части файла при загрузке и запуске скрипта:

  • Блок meta: сохраняйте export const meta как первый оператор и сохраняйте его простым объектным литералом с name и description. Если он содержит что-либо, кроме литеральных значений, такое как переменная, вызов функции или spread, Claude Code удаляет /<name> из автодополнения /.
  • Тело: помимо agent(), pipeline() и parallel(), вы можете вызвать phase(), чтобы сгруппировать следующих агентов под заголовком в представлении прогресса, вызвать log(), чтобы показать сообщение над фазами, и прочитать глобальный args. Если тело имеет синтаксическую ошибку, Claude Code сообщит об этом при запуске workflow.
  • phases: если вы перечислите их в meta, дайте каждой записи ровно заголовок, который вы передаёте в phase(). Заголовок phase() без записи получает свою собственную группу прогресса.
  • Временные метки и случайность: Claude Code заставляет Date.now(), Math.random() и new Date() без аргументов выбрасывать исключение внутри скрипта, чтобы перезапущенный запуск повторял те же вызовы agent(). Вместо этого передайте временную метку через args.

Вы также можете отредактировать скрипт одного запуска вместо сохранённой копии. Возобновление после паузы охватывает, какие агенты запускаются снова при перезапуске отредактированного скрипта. Для входов инструмента Workflow смотрите его запись в справочнике Agent SDK.

Как работает workflow

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

Каждый запуск записывает свой скрипт в файл в директорию вашей сессии в ~/.claude/projects/. Claude получает путь при запуске, поэтому вы можете попросить его. Вы можете открыть этот файл, чтобы прочитать оркестровку, которую написал Claude, сравнить его с скриптом предыдущего запуска или отредактировать его и попросить Claude перезапустить с отредактированной версии.

Claude может запустить workflow только из файла скрипта, который сессия уже имеет право читать. Чтобы запустить скрипт, находящийся вне вашей рабочей директории, сначала добавьте его директорию с помощью /add-dir или правила разрешения Read.

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

Prompt caching в fan-out

Агенты в одном запуске могут читать prompt cache друг друга. Два агента, которые работают с одной и той же моделью, уровнем усилий, типом агента, инструментами, схемой вывода и рабочей директорией, создают один и тот же префикс tools-and-system-prompt, поэтому агент, который начинает работу после того, как ответ соответствующего соседнего агента начал формироваться, читает кэш этого соседнего агента при первом запросе.

Запросы workflow агента выходят за пределы TTL bucket кэша основной беседы, поэтому его кэш сохраняется в течение пяти минут по умолчанию, включая подписку Claude. Чтобы сохранить его на час, установите subagentPromptCacheTtl на 1h. API выставляет счета за записи кэша на один час по более высокому тарифу.

Когда fan-out запускает несколько соответствующих агентов одновременно, Claude Code удерживает всех, кроме первого, до тех пор, пока ответ первого агента не начнет формироваться, затем отпускает удерживаемых агентов вместе, чтобы их первые запросы читали общий префикс вместо того, чтобы каждый обрабатывал его без кэша. Claude Code ограничивает удержание CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS миллисекундами, 5000 по умолчанию. Установите его на 0, чтобы отключить удержание.

Поведение и ограничения

Runtime применяет следующие ограничения:

Ограничение Почему
Нет пользовательского ввода во время запуска Только подсказки разрешений агентов могут приостановить запуск. Для одобрения между этапами запустите каждый этап как свой собственный workflow
Нет прямого доступа к файловой системе или shell из самого workflow Агенты читают, пишут и запускают команды. Скрипт координирует агентов
Нет загрузки модулей: скрипт, содержащий import(), не запускается до начала выполнения Тело скрипта — это простой JavaScript. Поместите работу, которая требует библиотеки, в задачу агента
До 16 одновременных агентов, меньше, когда Claude Code имеет меньше доступных CPU, включая внутри контейнера с ограниченным CPU Ограничивает локальное использование ресурсов
В fan-out агенты, которые совместно используют префикс prompt-cache первого агента, запускаются до 5 секунд после него по умолчанию Все, кроме первого, читают префикс, который кэшировал первый агент вместо того, чтобы каждый обрабатывал его без кэша
До 4096 элементов в одном вызове parallel() или pipeline(): runtime отклоняет более длинный список с ошибкой Молчаливое ограничение могло бы отбросить часть рабочей нагрузки без уведомления скрипта
1000 агентов всего за запуск Предотвращает бесконечные циклы

Управление запусками

Как только запуск начинается, вы управляете им из представления /workflows, или расширяя его строку прогресса в панели задач ниже поля ввода.

Когда вы останавливаете запуск, он остаётся в панели задач, пока процессы любого из его агентов всё ещё работают. Если вы остановите его снова, Claude Code повторно отправляет сигналы этим процессам.

Возобновить после паузы

Возобновите приостановленный запуск из /workflows, выбрав его и нажав p. Для запуска, который вы остановили, попросите Claude перезапустить workflow с тем же скриптом. Если агенты из остановленного запуска ещё не завершились, Claude Code отказывает в перезапуске до тех пор, пока они не завершатся, чтобы вторая копия этих агентов не могла работать рядом с ними.

Claude Code воспроизводит запуск в порядке запуска агентов, и каждый агент либо возвращает свой сохранённый результат, либо работает снова:

  • Завершено: возвращает свой сохранённый результат. Первый агент, чей запрос отличается от предыдущего запуска, потому что вы отредактировали скрипт или более ранний агент вернул что-то другое, работает снова, и так же поступает каждый агент после него, даже те, которые завершились.
  • Всё ещё работал, когда вы остановили: начинает заново. Остановка всего запуска не считает ни одного агента неудачным.
  • Не удалось: работает снова, и так же поступает каждый агент, который запустился после него, даже те, которые завершились. Остановка одного агента отдельно, выбрав его в /workflows и нажав x, считается неудачей.

Последний случай означает, что сбой в середине fan-out повторно запускает работу, которая уже завершилась. Если скрипт запускает A, B, C и D в этом порядке и B не удаётся, перезапуск возвращает A из кэша и снова запускает B, C и D.

Вы можете возобновить запуск в той же сессии Claude Code. То, что происходит с работающим workflow, когда вы покидаете сессию, зависит от того, как вы выходите:

  • Если вы переводите сессию в фоновый режим, Claude Code воспроизводит запуск таким же образом в фоновой сессии и продолжает его.
  • Если вы выходите из Claude Code, пока workflow работает, и представление агента включено, диалог выхода предлагает Move to background and exit, который переносит запуск таким же образом. Если вы вместо этого выберете Exit and stop tasks, или опция не предлагается, запуск останавливается с сессией. Claude Code сохраняет сохранённые результаты запуска в каталоге этой сессии в ~/.claude/projects/, поэтому сессия, которую вы возобновляете с помощью claude --resume, может воспроизвести их, когда вы попросите Claude перезапустить workflow. В сессии, которую вы запускаете заново, Claude не имеет более ранних запусков для перезапуска и запускает workflow заново как новый запуск.

В облачной сессии Claude Code также сохраняет результаты запуска с историей беседы сессии, которая сохраняется, когда виртуальная машина сессии освобождается. Когда вы повторно открываете такую сессию и просите Claude перезапустить workflow, завершённые агенты по-прежнему возвращают свои сохранённые результаты.

В локальных и облачных сессиях одинаково, когда Claude перезапускает более ранний запуск и Claude Code вообще не может найти сохранённые результаты этого запуска, перезапуск не удаётся с ошибкой nothing to resume вместо самостоятельного запуска запуска. Попросите Claude запустить workflow заново как новый запуск.

Стоимость

Workflow создаёт множество агентов, поэтому один запуск может использовать значительно больше токенов, чем работа через ту же задачу в беседе. Запуски считаются в сторону использования вашего плана и ограничений скорости, как и любая другая сессия.

Чтобы оценить расходы перед выполнением крупной задачи, сначала запустите workflow на небольшом срезе: один каталог вместо всего репозитория или узкий вопрос вместо широкого. Представление /workflows показывает использование токенов каждым агентом по мере выполнения запуска, и вы можете остановить запуск там в любое время, обычно без потери завершённой работы. Возобновить после паузы охватывает то, что сохраняет остановленный запуск. Ограничения агентов среды выполнения ограничивают количество агентов, которых может создать один запуск, что ограничивает стоимость неконтролируемого скрипта. Чтобы сохранить запуски с меньшим количеством агентов, выберите рекомендацию по размеру small size guideline.

Claude Code также отмечает запуск, который растёт необычно быстро. Когда workflow планирует более 25 агентов, или его прогнозируемый общий объём токенов превышает 1,5 миллиона, его строка прогресса в панели задач ниже поля ввода показывает предупреждение Large workflow. Предупреждение указывает вам на /workflows, где вы можете остановить запуск.

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

  • Если вы выберете рекомендацию по размеру самостоятельно, количество агентов рекомендации заменяет порог в 25 агентов. Встроенная рекомендация по умолчанию оставляет порог на уровне 25.
  • Сессии с включённым ultracode не показывают предупреждение, потому что включение ultracode уже означает согласие на крупные запуски.

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

Чтобы контролировать стоимость модели:

  • Проверьте /model перед крупным запуском, если вы обычно переключаетесь на меньшую модель для рутинной работы
  • Попросите Claude использовать меньшую модель для этапов, которые не требуют самой сильной, когда вы описываете задачу

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

Установить рекомендацию по размеру

Рекомендация по размеру говорит Claude, на сколько агентов нужно нацеливаться при написании динамического workflow. Claude Code отправляет рекомендацию Claude в качестве совета, а не ограничения, поэтому подсказка, которая требует другого масштаба, по-прежнему переопределяет её. Требуется Claude Code v2.1.202 или позже.

Каждое значение соответствует количеству агентов:

Значение Количество агентов, на которое Claude нацеливается
unrestricted Нет рекомендации: Claude определяет размер workflow в соответствии с задачей
small Менее 5 агентов
medium Менее 15 агентов
large Менее 50 агентов

По умолчанию используется medium. До тех пор, пока вы не выберете значение, строка /config показывает medium (default) и строка Running in background workflow показывает medium size (/config). Требуется Claude Code v2.1.219 или позже; более ранние версии по умолчанию используют unrestricted.

Чтобы изменить рекомендацию, выберите значение для параметра Dynamic workflow size в /config, или запустите /config workflowSizeGuideline=small. На v2.1.219 и позже вы также можете установить ключ workflowSizeGuideline в любом файле параметров; это значение имеет приоритет над /config, и Claude Code скрывает строку /config, пока файл параметров предоставляет один.

Изменения вступают в силу при следующем запросе. Ограничения агентов среды выполнения по-прежнему применяются независимо от параметра.

Отключить workflows

Workflows доступны в CLI, приложении Desktop, расширениях IDE, неинтерактивном режиме с claude -p и Agent SDK. Те же параметры отключения применяются на каждой поверхности.

Чтобы отключить workflows для себя:

  • Переключите Dynamic workflows в /config. Сохраняется между сессиями.
  • Установите "disableWorkflows": true в ~/.claude/settings.json. Сохраняется между сессиями.
  • Установите CLAUDE_CODE_DISABLE_WORKFLOWS=1. Читается при запуске, поэтому применяется везде, где вы это установите.

Чтобы отключить workflows для всей вашей организации, установите "disableWorkflows": true в управляемые параметры, или используйте переключатель на странице параметров администратора Claude Code.

Когда workflows отключены, встроенные команды workflow и skill /workflow-authoring недоступны, ключевое слово ultracode больше не запускает запуск, и ultracode удаляется из меню /effort.