Все ноды/AI/Agents

ИИ-агент

Автономный агент с поддержкой инструментов. Получает сообщение, вызывает подключённые инструменты (tool_out) и возвращает ответ. Требует LLM-ноду через link_llm. Опционально: memory (история диалога), skills/extensions (инструменты).

ИИ-агент
LLMOutput
MessageAs Tool
Memory
Extensions

Тип в графе: ai_agent

ExecSubgraph

Можно включить ветку ошибки (expose_error_output) и обработать сбой отдельным путём.

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

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

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

Вход
ИИ-агент
LLM
Буферная памятьS
Выход
  • Исполнение + данные
  • LLM
  • Память
  • Исполнение + данные + стрим
Нажмите «Скопировать ноды», откройте редактор и нажмите Ctrl+V на холсте.

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

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

ИИ-агент нужен, когда модель должна сама решить, что сделать перед ответом: сходить в базу знаний, вызвать инструмент, посмотреть историю — и только потом отвечать. Инструменты подключаются в порт Extensions, память диалога — в Memory, модель — в LLM. Если ни инструментов, ни памяти не требуется, Ответ LLM проще и предсказуемее.

Как это работает

Агент работает раундами. Модель отвечает; если она запросила инструменты, все вызовы этого раунда выполняются параллельно, результаты возвращаются в диалог, и начинается следующий раунд. «Макс. итераций инструментов» (по умолчанию 10) ограничивает именно раунды: в одном раунде модель может запросить сразу десяток инструментов. Ограничить объём работы, а не число обменов, позволяет «Макс. вызовов инструментов».

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

Каждый раунд виден в журнале запуска отдельной строкой «Вызов N»: вход, вызовы инструментов, результат и токены.

Субагент. Включите «Открыть как инструмент» и задайте «Имя инструмента» — вместо обычного выхода у ноды появится порт As Tool, который подключается в Extensions другого агента. По умолчанию субагент берёт модель родителя; чтобы дать ему свою, переключите «Источник LLM» на внешний и подключите отдельную ноду LLM.

Частые ошибки

  • Инструмент подключают ребром исполнения. Инструменты идут в порт Extensions своим типом ребра, и порядок вызовов решает модель, а не граф. Порт принимает сколько угодно рёбер.
  • У субагента пустое «Имя инструмента». Нода не проходит валидацию: имя — это то, чем модель вызывает субагента.
  • Пишут nodes.<id>.output.text. На ребро и в шаблон уходит сама строка ответа: {{ nodes.<id>.output }}.
  • Складывают в одного агента всё подряд. Если инструментов становится много, выделите часть в субагента или подключите готовый воркфлоу нодой WF-инструмент; сгруппировать несколько инструментов помогает Набор инструментов.

Входы

ПортПроводДанныеПримечания
LLMllmLLMlink_llm

LLM config from llm node (registry or workspace connection)

показывается, когда is_subagent = false или llm_source ≠ "from_parent"

MessageinputИсполнение + данныеexecute_datamessage

Run trigger and user message for the agent

MemorymemoryПамятьlink_memory

Memory node providing conversation history

ExtensionsextensionsРасширениеlink_extension

несколько связей

Выходы

ПортПроводДанныеПримечания
OutputoutputИсполнение + данные + стримexecute_data_streamingobject

показывается, когда is_subagent = false

As Tooltool_outРасширениеlink_extension

показывается, когда is_subagent = true

Настройки

ПолеТипПо умолчаниюОписание
Источник сообщенияmessage_sourcestringconnected

connected — из ребра; template — из текста шаблона

Варианты: connected — Подключённый вход, template — Шаблон

Шаблон сообщения пользователяuser_prompt_templatestring""

Используется, когда источник сообщения — template. Поддерживает {{inputs.message}}, {{nodes.xxx.output.yyy}}

поддерживает шаблоны

показывается при message_source = template

Системный промптsystem_promptstring""

Системный промпт для агента

поддерживает шаблоны

Дополнительно
Макс. итераций инструментовmax_iterationsinteger10

Макс. итераций инструментов

Макс. вызовов инструментовmax_tool_callsintegernull

Максимум вызовов инструментов для этого агента (пусто = бюджет рана). «Макс. итераций инструментов» ограничивает только раунды — в одном раунде вызовов может быть десятки.

Открыть как инструмент (субагент)is_subagentbooleanfalse

Когда включено, этот агент можно подключить как инструмент к другим агентам

Описаниеdescriptionstring""

Что делает этот агент. Используется как описание инструмента при включённом режиме субагента.

показывается при is_subagent = true

Источник LLMllm_sourcestringfrom_parent

from_parent использует LLM родительского агента, когда это субагент; external использует link_llm

Варианты: from_parent — От родительского агента, external — Внешний (link_llm)

показывается при is_subagent = true

Имя инструментаsubagent_namestring""

Имя функции, используемое когда этот агент вызывается как инструмент

показывается при is_subagent = true

Включить размышлениеenable_thinkingbooleanfalse

После каждого раунда вызовов инструментов вставлять промпт, направляющий рассуждение модели перед продолжением

Промпт размышленияthinking_promptstringAnalyze the tool results and think about the next steps.

Сообщение, вставляемое после результатов инструментов для направления рассуждения модели

поддерживает шаблоны

показывается при enable_thinking = true

Общие поля

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

  • expose_error_output — Если включено, показывает выход выполнения для подключения нод, которые запускаются при сбое этого шага.
  • split_ports_in — Показывать отдельные порты входа для выполнения и данных вместо одного объединённого.
  • split_ports_out — Показывать отдельные порты выхода для выполнения и данных вместо одного объединённого.

Готовые примеры с этой нодой