Все ноды/AI/Agents
ИИ-агент
Автономный агент с поддержкой инструментов. Получает сообщение, вызывает подключённые инструменты и возвращает ответ. Модель приходит на вход «Модель». Опционально: memory (история диалога), skills/extensions (инструменты).
Тип в графе: ai_agent
ExecSubgraph
Можно включить выход ошибки и обработать сбой отдельным путём.
Порты можно разделить на исполнение и данные (split ports).
Как попробовать
Минимальный рабочий сценарий
- Исполнение + данные
- LLM
- Память
- Исполнение + данные + стрим
Запускается сразу
Как применять
ИИ-агент нужен, когда модель должна сама решить, что сделать перед ответом: сходить в базу знаний, вызвать инструмент, посмотреть историю — и только потом отвечать. Инструменты подключаются в порт «Расширения агента», память диалога — в порт «Память», модель — в порт «Модель». Если ни инструментов, ни памяти не требуется, Ответ LLM проще и предсказуемее.
Как это работает
Агент работает раундами. Модель отвечает; если она запросила инструменты, все вызовы этого раунда выполняются параллельно, результаты возвращаются в диалог, и начинается следующий раунд. «Макс. итераций инструментов» (по умолчанию 10) ограничивает именно раунды: в одном раунде модель может запросить сразу десяток инструментов. Ограничить объём работы, а не число обменов, позволяет «Макс. вызовов инструментов».
Когда лимит исчерпан, агент не падает: инструменты отключаются, модели приходит указание ответить по уже собранным данным — ход всегда заканчивается ответом.
Каждый раунд виден в журнале запуска отдельной строкой «Вызов N»: вход, вызовы инструментов, результат и токены.
Субагент. Включите «Открыть как инструмент» и задайте «Имя инструмента» — вместо обычного выхода у ноды появится порт «Расширение агента», который подключается в порт «Расширения агента» другого агента. По умолчанию субагент берёт модель родителя; чтобы дать ему свою, переключите «Источник LLM» на внешний и подключите отдельную ноду LLM.
Частые ошибки
- Инструмент подключают ребром исполнения. Инструменты идут в порт «Расширения агента» своим типом ребра, и порядок вызовов решает модель, а не граф. Порт принимает сколько угодно рёбер.
- У субагента пустое «Имя инструмента». Нода не проходит валидацию: имя — это то, чем модель вызывает субагента.
- Пишут
nodes.<id>.output.text. На ребро и в шаблон уходит сама строка ответа:{{ nodes.<id>.output }}. - Складывают в одного агента всё подряд. Если инструментов становится много, выделите часть в субагента или подключите готовый сценарий нодой Свой инструмент; сгруппировать несколько инструментов помогает Набор инструментов.
Входы
| Порт | Провод | Данные | Примечания |
|---|---|---|---|
Модельllm | LLMlink_llm | — | Модель, которой отвечает эта нода: подключите ноду «LLM». показывается, когда is_subagent = false или llm_source ≠ "from_parent" |
Сообщениеinput | Исполнение + данныеexecute_data | message | Запускает шаг и приносит сообщение пользователя для агента. |
Памятьmemory | Памятьlink_memory | — | Память с историей разговора: подключите ноду памяти. |
Расширения агентаextensions | Расширениеlink_extension | — | несколько связей |
Выходы
| Порт | Провод | Данные | Примечания |
|---|---|---|---|
Ответ моделиoutput | Исполнение + данные + стримexecute_data_streaming | object | показывается, когда is_subagent = false |
Расширение агентаtool_out | Расширениеlink_extension | — | показывается, когда is_subagent = true |
Настройки
| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
Источник сообщенияmessage_source | string | connected | «Подключённый вход» — сообщение приходит из ребра; «Шаблон» — из текста ниже Варианты: |
Шаблон сообщения пользователяuser_prompt_template | string | "" | Используется, когда источник сообщения — template. Поддерживает {{inputs.message}}, {{nodes.xxx.output.yyy}} поддерживает шаблоны показывается при «Источник сообщения» = Шаблон |
Системный промптsystem_prompt | string | "" | Системный промпт для агента поддерживает шаблоны |
| Дополнительно | |||
Макс. итераций инструментовmax_iterations | integer | 10 | Макс. итераций инструментов |
Макс. вызовов инструментовmax_tool_calls | integer | null | Максимум вызовов инструментов для этого агента (пусто = бюджет рана). «Макс. итераций инструментов» ограничивает только раунды — в одном раунде вызовов может быть десятки. |
Открыть как инструментis_subagent | boolean | false | Когда включено, этот агент можно подключить как инструмент к другим агентам |
Описаниеdescription | string | "" | Что делает этот агент. Используется как описание инструмента при включённом режиме субагента. показывается при «Открыть как инструмент» = да |
Источник LLMllm_source | string | from_parent | «от родителя» — модель родительского агента, когда эта нода является субагентом; «внешняя» — модель с входа «Модель» Варианты: показывается при «Открыть как инструмент» = да |
Имя инструментаsubagent_name | string | "" | Имя функции, используемое когда этот агент вызывается как инструмент показывается при «Открыть как инструмент» = да |
Включить размышлениеenable_thinking | boolean | false | После каждого раунда вызовов инструментов вставлять промпт, направляющий рассуждение модели перед продолжением |
Промпт размышленияthinking_prompt | string | Analyze the tool results and think about the next steps. | Сообщение, вставляемое после результатов инструментов для направления рассуждения модели поддерживает шаблоны показывается при «Включить размышление» = да |
Обезличивание данныхmask_sensitive_data | string | "" | Заменять распознанные персональные данные метками в тексте, который уходит модели, и возвращать оригиналы в её ответе. Не покрывает вложения, базы знаний, веб-поиск и вызовы HTTP-нод. Полнота распознавания не гарантируется. Варианты: |
Общие поля
Эти три поля есть у каждой ноды: платформа добавляет их сама, а не автор ноды.
expose_error_output— Если включено, показывает выход выполнения для подключения нод, которые запускаются при сбое этой ноды.split_ports_in— Показывать отдельные порты входа для выполнения и данных вместо одного объединённого.split_ports_out— Показывать отдельные порты выхода для выполнения и данных вместо одного объединённого.
Готовые примеры с этой нодой
- Агент вызывает ваш сценарий как инструмент
- Спросите свою таблицу словами
- Секретарь, которого спрашивают обычными словами
- «Что у меня сегодня»: список встреч
- Вставили таблицу в чат, получили сводку
- Отчёт по продажам приходит утром в Telegram
- Каждый разговор ложится в таблицу сводкой
- Опиши словами и получи картинку
- Простой чат с моделью
- Письмо от клиента, ответ из ваших документов
- Утром приходит письмо: что упало в ящик за ночь
- В списке только письма, которые ждут ответа
- Чат, который помнит разговор
- Один сценарий отвечает во всех каналах
- Заказ живёт в таблице между запусками
- Точный ответ по прайсу и регламенту сразу
- Прислал ссылку, получил пересказ, и он остался в базе
- Второй мозг: кидаешь мысли, спрашиваешь своими словами
- «Сколько я потратил»: разбор по категориям
- Бот поддержки по документам
- Ответ агента по шаблону
- Прислали голосовое, бот ответил голосом
- Наговорил голосом, получил аккуратную заметку
- Агент с поиском в интернете
- Бот на сайте видит, что в корзине