Преобразование в под-воркфлоу позволяет вынести фрагмент существующего процесса в отдельный переиспользуемый модуль. При этом все выражения, которые ссылались на другие узлы, автоматически обновляются и добавляются как параметры в узел Execute Воркфлоу Trigger.
Если вы не знакомы с концепцией под-воркфлоу — рекомендуем сначала изучить общий раздел о Sub-workflows.
Как выбрать узлы для преобразования
Чтобы вынести часть схемы в под-воркфлоу, необходимо выделить группу узлов, соблюдая несколько строгих условий.
Блок должен образовывать последовательную, логически завершенную часть процесса.
Выбор должен удовлетворять следующим правилам:
- Внутри выделения не должно быть триггеров. Под-воркфлоу всегда вызывается из родительского процесса, поэтому триггеры недопустимы.
- Входящий поток извне может вести только в один узел.
- Он может иметь несколько входящих связей, но в рамках одной входящей ветки.
- Этот узел не должен получать входы от узлов внутри выделения.
- Выходящий поток наружу также может исходить только из одного узла.
- У этого узла может быть несколько исходящих связей наружу, но они должны принадлежать одной логической ветке.
- Этот узел не должен иметь исходящих связей на другие узлы внутри выделения.
- Все узлы между выбранным входом и выходом должны быть включены. Нельзя пропускать элементы цепочки.
Если выделение нарушает эти правила, система не сможет корректно создать под-воркфлоу.
Как преобразовать узлы в под-воркфлоу
- Выберите нужные узлы на рабочем поле.
- Кликните правой кнопкой по пустой области холста.
- В контекстном меню выберите “Преобразовать в под-воркфлоу” (Convert to sub-воркфлоу).
После этого Нейро42 создаст новый под-воркфлоу и автоматически перенесет выделенную логику.
Важные нюансы и ограничения
Хотя большинство преобразований проходит без трудностей, есть моменты, которые стоит учитывать:
- Типы входов и выходов нужно настроить вручную
По умолчанию под-воркфлоу принимает и возвращает данные любых типов. Настроить ограничения можно в узлах:- Execute Sub-workflow Trigger (входные параметры),
- Edit Fields (set) — появляется, если у под-воркфлоу есть возвращаемые данные.
- Ограничения на работу с ИИ-узлами
Если в фрагмент входят инструменты ИИ:- нужно выделять все связанные ИИ-узлы,
- если эти узлы используются также другими ИИ-агентами — возможно, их придется дублировать, чтобы избежать конфликтов.
- Новый под-воркфлоу всегда создается с порядком выполнения v1
Даже если основной процесс использует v0, новый под-воркфлоу переключается на v1 по умолчанию. При необходимости можно изменить порядок выполнения в настройках. - Функции доступа к данным требуют особого внимания
Функции вида:- first()
- last()
- all()
при переносе могут работать иначе, поскольку в под-воркфлоу может измениться порядок элементов.
Нейро42 автоматически преобразует такие выражения и добавляет суффиксы:
- _firstItem
- _lastItem
- _allItems
Это помогает сохранить исходную логику, но рекомендуется вручную проверять корректность работы.
- Функция itemMatching требует фиксированного индекса
При работе внутри под-воркфлоу нельзя подставлять в индекс выражение — разрешены только числовые литералы.