Все ноды/AI/Agents

WF-инструмент

Обёртка подграфа как инструмент агента. Агент вызывает WF Tool по имени, выполняется цепочка нод внутри (порт «Data»/input → … → порт «Result»/result), результат возвращается агенту. Позволяет создавать переиспользуемые инструменты из нод.

WF-инструментT
ResultAgent
Data

Тип в графе: wf_tool

ToolExec

Порты можно разделить на исполнение и данные (split ports).

Как попробовать

Минимальный рабочий воркфлоу

Вход
WF-инструментT
Выход
  • Исполнение + данные
Нажмите «Скопировать ноды», откройте редактор и нажмите Ctrl+V на холсте.

Запускается сразу

Как применять

Берите 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_namestringwf_tool

Имя функции, которую вызывает агент. Делайте его конкретным: несколько WF-инструментов на одном агенте различаются только по имени и описанию.

Описаниеtool_descriptionstringRun a workflow subgraph with the given arguments.

Что делает инструмент и когда его вызывать — это всё, на основании чего решает модель.

Режим схемыschema_modestringbuilder

Как задаётся схема параметров: конструктор полей или сырая JSON Schema.

Варианты: builder — Конструктор полей, json — Сырая JSON Schema

Параметры инструмента (JSON Schema)structured_outputobject{"type":"object","properties":{"input":{"description":"Input for the workflow…

Аргументы, которые агент обязан передать при вызове этого инструмента. По умолчанию — одна обязательная строка, чтобы спецификация инструмента была валидна сразу; замените её на аргументы, нужные подграфу.

Дополнительно
Строгая JSON Schema (OpenAI)strict_schemabooleantrue

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

Общие поля

Эти три поля есть у каждой ноды: платформа добавляет их сама, а не автор ноды.

  • split_ports_in — Показывать отдельные порты входа для выполнения и данных вместо одного объединённого.
  • split_ports_out — Показывать отдельные порты выхода для выполнения и данных вместо одного объединённого.