Към съдържанието
Claude Library
Български
Esc
↑↓navigate↵open⌘Jpreview
На тази страница

Динамични workflows

Оркестрация на много субагенти чрез скрипт, който Claude написва — ключовата дума ultracode, /workflows, запазване на run като команда, лимити, resume и цена.

Динамичният workflow е JavaScript скрипт, който оркестрира субагенти в голям мащаб. Ти описваш задачата, Claude написва скрипта, а един runtime го изпълнява на заден план, докато сесията ти остава свободна.

Смисълът не е просто „повече агенти“. Планът се премества в код: цикълът, разклоненията и междинните резултати живеят в променливи на скрипта, а не в контекстен прозорец. В контекста на Claude влиза само крайният отговор.

Кога си струва

Субагенти, skills, agent teams и workflows могат да свършат многостъпкова задача. Разликата е у кого е планът:

Субагенти Skills Agent teams Workflows
Какво е Работник, който Claude пуска Инструкции, които Claude следва Водещ агент, който надзирава равнопоставени сесии Скрипт, който runtime изпълнява
Кой решава какво следва Claude, ход по ход Claude, следвайки промпта Водещият агент, ход по ход Скриптът
Къде стоят междинните резултати В контекста на Claude В контекста на Claude В общ списък със задачи В променливи на скрипта
Какво е повторяемо Дефиницията на работника Инструкциите Дефиницията на екипа Самата оркестрация
Мащаб Няколко задачи на ход Като при субагентите Шепа дълго живеещи сесии Десетки до стотици на run
При прекъсване Ходът започва отначало Ходът започва отначало Съотборниците продължават Resumable в същата сесия

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

Ширина или дълбочина

Функцията, с която workflow-ите най-често се бъркат, не са субагентите, а /goal — защото и двете оставят Claude да върви дълго без теб. Само че сочат в различни посоки:

/goal Workflow-и
Форма Дълбочина — една линия работа, много минавания Ширина — много линии работа, по едно минаване
Спира, когато Условие, което си написал, се окаже изпълнено Скриптът приключи
Единицата Итерации срещу цел Агенти срещу списък със задачи
Проваля се чрез Зацикляне, ако „готово“ не е било ясно Висока сметка, ако разгръщането е било прекалено широко

/goal all tests pass and the linter is clean работи, докато това стане вярно. Workflow разгръща сто агента по сто файла веднъж и после синтезира. И двете наказват мъглявото задание — едното, като не стига до край, другото — като харчи паралелно.

Комбинират се (workflow вътре в goal цикъл), което е мощно и отличен начин да похарчиш много пари бързо. Ограничи обхвата и назови резултата, преди да пуснеш което и да е от двете.

Как се пуска

За един промпт

Слагаш ultracode в промпта или просто помолваш със свои думи — „use a workflow“ се брои за същото opt-in.

За цялата сесия

/effort ultracode — xhigh reasoning плюс автоматична оркестрация. Тогава Claude планира workflow за всяка сериозна задача.

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

Claude Code подчертава ключовата дума в полето за въвеждане и написва скрипт, вместо да работи ход по ход. Ключовата дума променя само как е структурирана работата — run-ът си остава в permission mode-а и sandbox-а на сесията.

Казвай „dynamic workflow“, не само „workflow“

Думата workflow се среща в най-обикновени изречения — „моят deploy workflow“, „workflow-ът за ревю“ — и Claude Code я подсветява, без това да значи, че си поискал такъв. Ако искаш пускане, поискай го направо: „set up a dynamic workflow to…“. Подсветяването не е съгласието.

Отказ от ключовата дума

Option+W (macOS) или Alt+W (Windows/Linux) маха подчертаването за този промпт; backspace веднага след подчертаната дума също върши работа. Изключва се завинаги от Ultracode keyword trigger в /config.

Къде ключовата дума не прави нищо

Тя е opt-in само в промпт, който ти си написал. Игнорира се при -p промптове, при SDK промптове, които не са маркирани като човешки вход, при scheduled задачи и при webhook или коментар по PR, препратен в разговора.

Ultracode за цялата сесия струва повече

Една заявка може да се превърне в няколко workflow-а поред — да разбере, да промени, да провери. Важи за всяка задача в сесията и се нулира при нова; /effort high те връща обратно. Изисква v2.1.203+.

Вграденият

/deep-research <въпрос> идва с Claude Code и е най-бързият начин да видиш workflow в действие. Разпръсква уеб търсения по няколко посоки, засича намерените източници един срещу друг, гласува по всяко твърдение и връща доклад с цитати, от който отпадналите при кръстосаната проверка твърдения са премахнати. Нужен му е наличен WebSearch tool и се пуска само когато ти го извикаш.

Одобрение

Промптът преди всеки run изброява планираните фази с Yes, run it, Yes, and don’t ask again за този workflow в този проект, View raw script (Ctrl+G го отваря в редактора ти) и No. Tab ти позволява да коригираш промпта, преди run-ът да тръгне.

Permission mode Кога те пита
default, acceptEdits При всеки run, освен ако си избрал „don’t ask again“ за този workflow тук
Auto Само при първото пускане; напълно се пропуска при включен ultracode
bypassPermissions, claude -p, Agent SDK Никога — run-ът тръгва веднага

Как изглежда скриптът

Обикновен JavaScript с top-level await: meta блок, след него тяло, което пуска агенти.

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)
Примитив Какво прави
agent(prompt, options) Пуска един субагент. schema ограничава резултата му до JSON; label го именува в progress view-то.
pipeline(items, fn) Пуска по един агент за всеки елемент от списък.
args Глобална променлива с входа, подаден при извикването — структурирани данни, не низ. undefined, ако не е подаден нищо.

Наблюдение и управление на run

/workflows изброява текущите и приключилите workflows; избираш един и с Enter отваряш progress view-то, което показва всяка фаза с брой агенти, общо токени и изминало време. Едноредово резюме се появява и в task панела под полето за въвеждане (↓ за фокус, Enter за разгъване).

Клавиш Действие
↑ / ↓ Избор на фаза или агент
Enter / → Влизане навътре — фаза, после промптът на агента, последните tool calls и резултатът
Esc / ← Едно ниво назад
j / k Скролване в дълъг детайл на агент
f Филтриране на агентите във фазата по статус; повторно натискане превърта
p Пауза или продължаване на run-а
x Спиране на избрания агент — или на целия workflow, ако фокусът е върху run-а
r Рестарт на избрания работещ агент
s Запазване на скрипта на run-а като команда

Запазване на run като команда

Натискаш s в /workflows, после Tab, за да избереш къде да отиде:

  • .claude/
    • workflows/
      • review-branch.js
  • ~/.claude/
    • workflows/
      • triage-issues.js

Скриптовете в проекта са споделени с всеки, който клонира репото; тези в домашната директория те следват през всички проекти и са видими само за теб. И в двата случая workflow-ът става /<name> в следващите сесии и се появява в автодовършването на /. Ако и двете места дефинират едно и също име, печели това в проекта. Workflows, разпространени през plugin, живеят в workflows/ директория в корена на плъгина и се пускат с namespace — /acme-tools:release-audit.

Запазените workflows приемат вход през args:

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

Продължаване след пауза

Спрян run се продължава с p от /workflows, в рамките на същата сесия — излезеш ли от Claude Code, той се губи. Две правила решават какво се запазва:

Незавършените агенти не се кешират

Агент, който още е работел, когато си спрял, започва отначало.

Повторението следва реда на стартиране

Кешираните резултати спират при първия агент, който не е завършил; всичко, стартирано след него, се пуска наново, дори да е приключило. Спреш ли, докато B от A–B–C–D работи, C и D също тръгват отново.

Затова разпръскване между много малки агенти запазва много повече свършена работа от един дълъг агент.

Лимити и цена

Ограничение Защо
Няма потребителски вход по време на run Само permission промптовете могат да го спрат. За одобрение между етапите пусни всеки етап като отделен workflow.
Няма достъп до файловата система или shell от скрипта Агентите четат, пишат и изпълняват команди; скриптът само ги координира.
До 16 едновременни агенти По-малко на машини с малко CPU ядра.
1000 агента на run Пази от безкрайни цикли.

Един run може да изяде значително повече токени, отколкото същата задача в разговор, и се брои към лимитите на плана ти като всяка друга сесия. Claude Code маркира run с над 25 планирани агента или прогноза над 1.5M токена с предупреждение Large workflow в task панела — само информативно и скрито при включен ultracode.

Насока за размер

Съвет към Claude колко агента да цели, не таван. Задава се от /config (Dynamic workflow size), с /config workflowSizeGuideline=small или с ключа workflowSizeGuideline в settings файл.

Стойност Брой агенти, към който Claude се цели
unrestricted Без насока — според задачата
small Под 5
medium Под 15 — по подразбиране
large Под 50

Изключване

Изключи Dynamic workflows от /config, сложи "disableWorkflows": true в ~/.claude/settings.json (или в managed settings за цялата организация), или задай CLAUDE_CODE_DISABLE_WORKFLOWS=1. Вградените команди изчезват, ultracode спира да пуска run-ове и излиза от менюто на /effort.

Беше ли полезна тази страница?