Динамические рабочие процессы и ultracode
- Отличить рабочий процесс от субагентов, навыков и команд агентов по тому, кто держит план
- Увидеть его за 30 секунд с помощью встроенной команды /deep-research
- Запустить свой тремя способами: ключевым словом ultracode, /effort ultracode или сохранённой командой
- Понять, от чего вас защищает запрос подтверждения, прежде чем нажать Да
- Держать под контролем стоимость и автономные запуски с помощью нарезки и списка разрешений
Динамический рабочий процесс — это JavaScript-скрипт, который оркеструет субагентов в масштабе. Вы описываете задачу; Claude пишет скрипт; среда выполнения запускает его в фоне, пока ваша сессия остаётся отзывчивой. Если обычная многошаговая задача живёт ход за ходом в контекстном окне Claude, то рабочий процесс переносит план в код — цикл, ветвление и каждый промежуточный результат живут в переменных скрипта, поэтому ваш контекст хранит только итоговый ответ.
Именно этот сдвиг позволяет рабочим процессам масштабироваться до десятков или сотен агентов в одном запуске, тогда как обычное делегирование упирается в небольшое их число.
Когда обращаться к рабочему процессу
Claude Code даёт вам четыре способа выполнять многошаговую работу. Главный вопрос — кто держит план:
| Субагенты | Навыки | Команды агентов | Рабочие процессы | |
|---|---|---|---|---|
| Что это | Исполнитель, которого порождает Claude | Инструкции, которым следует Claude | Лидер, надзирающий за равноправными сессиями | Скрипт, который выполняет среда выполнения |
| Кто решает, что запускается дальше | Claude, ход за ходом | Claude, согласно промпту | Лидер, ход за ходом | Скрипт |
| Где живут результаты | Контекстное окно | Контекстное окно | Общий список задач | Переменные скрипта |
| Масштаб | Несколько за ход | Как у субагентов | Горстка равноправных | Десятки и сотни |
| При прерывании | Перезапускает ход | Перезапускает ход | Сотрудники продолжают работать | Возобновляемо внутри сессии |
Используйте рабочий процесс, когда задаче нужно больше агентов, чем способна скоординировать одна беседа, или когда вы хотите, чтобы оркестрация была закодирована в виде скрипта, который можно прочитать и перезапустить. Канонические случаи:
- Поиск багов по всей кодовой базе — разверните искатель по каждому модулю, а затем независимые агенты состязательно проверяют каждую находку, прежде чем о ней сообщить.
- Миграция 500 файлов — по одному агенту на файл, каждый в собственном worktree, с этапом проверки.
- Исследовательский вопрос, где источники нужно перекрёстно сверить друг с другом, а не просто резюмировать.
- Сложный план, который стоит набросать с нескольких независимых углов, а затем взвесить друг относительно друга, прежде чем вы примете решение.
Последний пункт недооценён: рабочий процесс может применить повторяемый паттерн качества (состязательное ревью, многоракурсное черновое составление, проверка большинством голосов), так что вы получаете более надёжный результат, чем за один проход — а не просто больше агентов.
Самый быстрый способ увидеть его: /deep-research
В Claude Code встроен готовый рабочий процесс, чтобы попробовать модель без необходимости писать свой. Запустите его на любом вопросе:
Попробуйте рабочий процесс одной командой
/deep-research What changed in the Node.js permission model between v20 and v22?
Он разворачивает веб-поиски по нескольким углам, получает и перекрёстно сверяет источники, голосует по каждому утверждению и возвращает отчёт с цитированием, из которого отфильтрованы утверждения, не выдержавшие перекрёстной проверки. Подтвердите по запросу, затем наблюдайте за работой через /workflows. (Требуется доступный инструмент WebSearch.)
Три способа запустить свой
1. Спросите одним промптом. Включите ключевое слово ultracode или просто попросите обычными словами («use a workflow», «run a workflow»). Claude пишет скрипт для этой единственной задачи, не меняя уровень усилий вашей сессии:
Запустить одну задачу как рабочий процесс
ultracode: audit every API endpoint under src/routes/ for missing auth checks
Ключевое слово подсвечивается в вашем вводе. Не имели его в виду? Нажмите Option+W (macOS) или Alt+W (Windows/Linux), чтобы убрать подсветку для этого промпта.
:::note История ключевого слова
До v2.1.160 буквальным словом-триггером было workflow; его переименовали в ultracode, чтобы обычное слово «workflow» не запускало процесс. Запросы на естественном языке («run a workflow») работают в обеих версиях.
:::
2. Дайте решать Claude — усилие ultracode. Установите сессию в ultracode, и Claude планирует рабочий процесс для каждой существенной задачи, сам решая, когда он оправдан:
Включить автоматическую оркестрацию для сессии
/effort ultracode
Ultracode сочетает усилие на рассуждения xhigh (reasoning effort) с автоматической оркестрацией. Один запрос может превратиться в несколько рабочих процессов подряд — один чтобы понять код, один чтобы внести изменение, один чтобы его проверить. Каждая задача тогда использует больше токенов и занимает больше времени, поэтому возвращайтесь к /effort high для рутинной работы. Это действует только в текущей сессии.
3. Запустите сохранённую или встроенную команду. /deep-research или любой сохранённый вами рабочий процесс (ниже) появляется в автодополнении / как любая слэш-команда.
Подтвердите перед запуском
Рабочие процессы могут породить много агентов, поэтому CLI сначала показывает вам запланированные фазы и спрашивает:
- Yes, run it — начать запуск
- Yes, and don't ask again for
[name]in[path]— начать и пропускать запрос для этого рабочего процесса в этом проекте - View raw script (
Ctrl+Gоткрывает его в вашем редакторе) — прочитать перед решением - No — отменить (
Tabпозволяет сначала подправить промпт)
Будет ли вам показан запрос, зависит от вашего режима разрешений: Default / accept-edits запрашивает на каждом запуске (если вы не отказались для этого рабочего процесса); Auto запрашивает только при первом запуске; bypass / claude -p / Agent SDK никогда не запрашивают — запуск начинается немедленно.
:::warning Субагенты не наследуют режим вашей сессии
Каким бы ни был режим разрешений вашей сессии, агенты, которых порождает рабочий процесс, всегда выполняются в acceptEdits и наследуют ваш список разрешённых инструментов — правки файлов одобряются автоматически. Команды оболочки, веб-запросы и инструменты MCP, которых нет в вашем списке разрешений, всё ещё могут приостановить запуск, чтобы запросить вас. На долгом автономном запуске добавьте нужные агентам команды в список разрешений перед стартом, чтобы он не застрял в ожидании вас. См. Усиление автономных запусков.
:::
Как выполняется запуск
Среда выполнения запускает скрипт в изолированном окружении, отдельно от вашей беседы — промежуточные результаты остаются в переменных скрипта, никогда не касаясь контекста Claude. Сам скрипт не имеет прямого доступа к файловой системе или оболочке: агенты читают, пишут и выполняют команды; скрипт лишь координирует их.
Каждый запуск записывает свой скрипт в файл в каталоге вашей сессии в ~/.claude/projects/, и Claude получает путь. Так что вы можете попросить у Claude скрипт, прочитать написанную им оркестрацию, сравнить её с предыдущим запуском или отредактировать и попросить Claude перезапустить с вашей отредактированной версии.
Среда выполнения навязывает несколько ограничений, чтобы плохой скрипт не вышел из-под контроля:
| Ограничение | Почему |
|---|---|
| Никакого пользовательского ввода в середине запуска (приостанавливают только запросы разрешений агентов) | Для согласования между этапами запускайте каждый этап как отдельный рабочий процесс |
| У скрипта нет прямого доступа к файловой системе/оболочке | Работу делают агенты; скрипт координирует |
| До 16 одновременных агентов (меньше на машинах с малым числом ядер) | Ограничивает использование локальных ресурсов |
| 1000 агентов всего на запуск | Предотвращает неконтролируемые циклы |
Наблюдение и управление запусками
Запустите /workflows, чтобы вывести список выполняющихся и завершённых запусков, затем выберите один, чтобы открыть его представление прогресса — каждая фаза с числом её агентов, суммой токенов и затраченным временем. Углубитесь в фазу, затем в агента, чтобы прочитать его промпт, недавние вызовы инструментов и результат. Ключевые элементы управления:
| Клавиша | Действие |
|---|---|
↑ / ↓ | Выбрать фазу или агента |
Enter / → | Углубиться; Esc возвращает назад |
f | Фильтровать агентов по статусу (v2.1.186+) |
p | Приостановить или возобновить запуск |
x | Остановить выбранного агента — или весь запуск, когда фокус на нём |
r | Перезапустить выбранного выполняющегося агента |
s | Сохранить скрипт этого запуска как команду |
Однострочная сводка прогресса также появляется на панели задач под полем ввода; нажмите стрелку вниз, чтобы сфокусироваться на ней, и Enter, чтобы развернуть.
Возобновление: остановите запуск и возобновите его позже (p) — уже завершившиеся агенты возвращают кэшированные результаты, остальные выполняются вживую. Возобновление работает в пределах той же сессии; выйдите из Claude Code в середине запуска, и следующая сессия начнёт его заново.
Сохраните рабочий процесс для повторного использования
Когда Claude пишет хорошую оркестрацию для чего-то, что вы будете повторять — ревью, которое вы запускаете на каждой ветке — нажмите s в /workflows, чтобы сохранить скрипт этого запуска. Tab переключает, куда:
.claude/workflows/в вашем проекте — общий со всеми, кто клонирует репозиторий~/.claude/workflows/в вашей домашней папке — доступен везде, видите только вы
Затем он запускается как /[name] в будущих сессиях. Сохранённый рабочий процесс может принимать ввод через глобальную переменную args, так что вы параметризуете его в момент вызова вместо редактирования скрипта:
> Run /triage-issues on issues 1024, 1025, and 1030
Claude передаёт список как структурированные данные, поэтому скрипт вызывает методы массивов/объектов на args напрямую.
Помните о стоимости
Рабочий процесс порождает много агентов, поэтому один запуск может использовать существенно больше токенов, чем выполнение той же задачи в беседе, и он засчитывается в использование и лимиты частоты вашего тарифа. Две привычки помогут держать это в разумных рамках:
- Сначала нарежьте. Запустите сперва на одном каталоге (а не на всём репозитории) или на узком вопросе, чтобы оценить расход;
/workflowsпоказывает использование токенов по каждому агенту вживую, и вы можете остановиться в любой момент, не теряя завершённую работу. - Подберите модель по размеру. Каждый агент использует модель вашей сессии, если только скрипт не направляет этап в другое место. Проверьте
/modelперед крупным запуском, и когда описываете задачу, попросите Claude использовать модель поменьше для этапов, которым не нужна самая сильная. См. Стоимость и задержка и Выбор модели.
Частые ошибки
- Ожидание человека-в-цикле в середине запуска. Ввода в середине запуска нет. Если задаче нужно ваше согласование между этапами, разбейте её на отдельные рабочие процессы.
- Забывают про список разрешений на автономных запусках. Долгий рабочий процесс застревает в тот момент, когда агент натыкается на команду оболочки, которой нет в списке разрешений. Заранее авторизуйте то, что нужно агентам.
- Обращаются к рабочему процессу, когда хватило бы субагента. Несколько делегированных задач за ход — это то, для чего предназначены субагенты. Рабочие процессы оправдывают свои накладные расходы на флотном масштабе или когда вы хотите сохранить оркестрацию как перезапускаемый скрипт.
- Запуск усилия ultracode всю сессию ради рутинных правок. Оно планирует рабочий процесс для всего — отлично для сложной работы, расточительно для однострочной правки. Снизьте до
/effort high.
Проверьте себя
0/3- Рабочий процесс переносит план в код — скрипт хранит цикл и промежуточные результаты, поэтому запуски масштабируются до десятков или сотен агентов.
- Попробуйте один мгновенно с /deep-research; запустите свой ключевым словом ultracode, /effort ultracode или сохранённой /command.
- Запрос подтверждения существует потому, что запуск может породить много агентов — Default и accept-edits запрашивают на каждом запуске; Auto запрашивает однократно; bypass и headless никогда не запрашивают.
- Порождённые агенты выполняются в acceptEdits с вашим списком разрешений, поэтому заранее авторизуйте нужные им команды перед автономным запуском.
- Рабочие процессы стоят существенно больше токенов — сначала нарежьте, подберите модель по размеру для каждого этапа и снижайте усилие ultracode обратно до /effort high для рутинных правок.
Отключение рабочих процессов
Выключите Dynamic workflows в /config, установите "disableWorkflows": true в ~/.claude/settings.json или задайте переменную окружения CLAUDE_CODE_DISABLE_WORKFLOWS=1. Организации могут отключить их в управляемых настройках. Когда отключено, встроенные команды рабочих процессов исчезают, а ultracode больше не запускает процесс и не появляется в меню /effort.
Далее
- Субагенты и параллельные агенты — примитив-исполнитель, которым оркеструют рабочие процессы
- Спроектируйте мультисубагентный рабочий процесс (пошаговое руководство)
- Долгоживущие связки агентов — принципы проектирования, стоящие за устойчивыми мультиагентными запусками
- Усиление автономных запусков