Все ноды/AI/Agents
WF-инструмент
Обёртка подграфа как инструмент агента. Агент вызывает WF Tool по имени, выполняется цепочка нод внутри (порт «Data»/input → … → порт «Result»/result), результат возвращается агенту. Позволяет создавать переиспользуемые инструменты из нод.
Тип в графе: wf_tool
ToolExec
Порты можно разделить на исполнение и данные (split ports).
Как попробовать
Минимальный рабочий воркфлоу
- Исполнение + данные
Запускается сразу
Как применять
Берите WF-инструмент, когда инструмент агента — это цепочка ваших нод: запрос к API, разбор
ответа, сборка текста. Готовые инструменты (RAG Tool, File Tool, Calendar Tool, Telegram
Tools, MCP Tool) стоит попробовать первыми — они уже покрывают типовые задачи, а
Toolset собирает несколько инструментов в один порт агента.
Composite решает похожую, но другую задачу: он группирует ноды в
подграф внутри основного потока, тогда как WF-инструмент существует только как вызов модели.
Как это работает
У ноды три порта. Agent подключается к порту extensions агента (провод link_extension) —
это регистрация инструмента, а не передача значения. Data — начало подграфа, Result — его
конец.
Когда модель вызывает инструмент, переданные ею аргументы приходят одним объектом на порт
Data. Первая нода подграфа читает их через свой вход: {{ inputs.input.order_id }}, если
ребро приходит на её порт input.
Выполняются все ноды, лежащие на путях от Data к Result. Значение, оказавшееся на
Result, возвращается модели; если это не строка, оно сериализуется в JSON.
Аргументы описываются в поле Параметры инструмента — конструктором полей или сырой JSON Schema, переключатель Режим схемы. При включённой Строгой JSON Schema каждое объявленное свойство считается обязательным, поэтому для необязательного аргумента строгость надо выключить.
Имя инструмента приводится к нижнему регистру, всё кроме латиницы, цифр, _ и -
заменяется на _, длина обрезается до 64 символов.
Частые ошибки
- Общее имя и пустое описание. Несколько WF-инструментов на одном агенте модель различает только по имени и описанию — «Выполнить подграф» не говорит ей ничего.
- Незамкнутый подграф. Если из
Dataне выходит ни одного ребра или вResultне входит ни одного, вызов падает. Так же падает цикл внутри подграфа или нода, чей вход исполнения никто не активирует. - Попытка вывести результат в
exit. Подграф обязан заканчиваться на портуResult: результат уходит модели, а не в вывод воркфлоу. Ответ пользователю пишет агент. - Ожидание, что подграф выполнится сам. Ноды внутри запускаются только на вызов модели. Если инструмент ни разу не вызван, в логе запуска их не будет.
Входы
| Порт | Провод | Данные | Примечания |
|---|---|---|---|
Resultresult | Исполнение + данныеexecute_data | — | Execution and data from subgraph; wires to inner graph end port. |
Выходы
| Порт | Провод | Данные | Примечания |
|---|---|---|---|
Agentoutput | Расширениеlink_extension | — | |
Datainput | Исполнение + данныеexecute_data | — |
Настройки
| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
Имя инструментаtool_name | string | wf_tool | Имя функции, которую вызывает агент. Делайте его конкретным: несколько WF-инструментов на одном агенте различаются только по имени и описанию. |
Описаниеtool_description | string | Run a workflow subgraph with the given arguments. | Что делает инструмент и когда его вызывать — это всё, на основании чего решает модель. |
Режим схемыschema_mode | string | builder | Как задаётся схема параметров: конструктор полей или сырая JSON Schema. Варианты: |
Параметры инструмента (JSON Schema)structured_output | object | {"type":"object","properties":{"input":{"description":"Input for the workflow… | Аргументы, которые агент обязан передать при вызове этого инструмента. По умолчанию — одна обязательная строка, чтобы спецификация инструмента была валидна сразу; замените её на аргументы, нужные подграфу. |
| Дополнительно | |||
Строгая JSON Schema (OpenAI)strict_schema | boolean | true | Просить провайдера строго соблюдать схему. Тогда каждый параметр считается обязательным — выключите, если аргумент опциональный. |
Общие поля
Эти три поля есть у каждой ноды: платформа добавляет их сама, а не автор ноды.
split_ports_in— Показывать отдельные порты входа для выполнения и данных вместо одного объединённого.split_ports_out— Показывать отдельные порты выхода для выполнения и данных вместо одного объединённого.