Nodul LogoNodul
Операторы

ИИ-инструменты

ИИ-инструменты помогают делегировать части настройки сценария и принятия решений ИИ-системам.

Вы можете использовать нашего GPT-ассистента для помощи с операторами Nodul:

👉 Nodul Operators Assistant

Он поможет с написанием выражений, использованием переменных, фильтров и построением логики внутри сценариев.

Let AI Decide (плейсхолдеры в один клик)

В большинстве полей, где ИИ-агент или MCP могут предоставить значения, вы увидите кнопку Let AI Decide. Она вставляет правильный оператор (fromAIAgent или fromMCP) в поле и автоматически генерирует подходящее имя/описание параметра.

Кнопка Let AI Decide

fromAIAgent()

Используйте fromAIAgent() внутри любого редактируемого поля узла, который подключён к ИИ-агенту. Это помечает поле как аргумент, который агент должен предоставить во время выполнения. Агент видит эти плейсхолдеры как параметры инструмента и заполняет их автоматически.

Полный контекст см. в: Узел ИИ-агента.

Формат:

{{fromAIAgent("parameter_name"; "description")}}

Пример:

{{fromAIAgent("Email Body"; "Include an email body as either plain text or HTML. If HTML, make sure to set the \"Body Type\" prop to html")}}

Плейсхолдер fromAIAgent в поле подключённого узла

fromMCP

fromMCP используется в MCP-сценариях для обозначения входов и полей, которые MCP-клиент должен определить и заполнить. Во многих местах вы также можете использовать Let AI Decide для автоматической вставки правильного плейсхолдера.

Подробности настройки см. в: [MCP-узлы](../../ mcp_nodes.mdx).

Входные параметры MCP Trigger

В MCP Trigger → Tool configuration → Input parameters добавьте параметры и установите:

  • Key: имя параметра (например, email, message)
  • Type: fromMCP
  • Description: что должен передать ИИ-клиент

Таблица входных параметров MCP Trigger с Type=fromMCP

MCP Response

По умолчанию MCP возвращает вывод последнего узла. MCP Response позволяет вернуть именно то, что нужно клиенту — и вы можете использовать Let AI Decide, чтобы сделать ответ заполняемым MCP.

askAI()

Оператор askAI() отправляет запрос встроенному ИИ и возвращает текстовый ответ.

Помимо текста, запрос может использовать существующие переменные, глобальные переменные или выходные параметры предыдущих узлов, заключённые в символы по шаблону "+Переменная/Данные+".

Ниже приведены примеры использования askAI().

При использовании искусственного интеллекта (ИИ) соблюдайте следующие меры предосторожности. Давайте ИИ чёткие и понятные инструкции, чтобы избежать недоразумений и неправильных результатов. Проверяйте точность ответов ИИ, особенно если они имеют серьёзные последствия или критичны для принятия решений. Помните, что ответы ИИ могут варьироваться в зависимости от входных данных, обучения модели и других факторов. Будьте готовы к разным результатам.

Генерация текста

Пользовательский запрос может быть текстовым промптом, например, просьбой сгенерировать приглашение на мероприятие как значение переменной Val:

  1. Добавьте в сценарий узлы Trigger on Run once и SetVariables.

  2. Добавьте переменную Val и установите её значение в {{askAI("Generate a short invitation text for an event")}}.

  3. Запустите сценарий один раз и просмотрите результаты выполнения узла, чтобы убедиться в наличии новой переменной.

Генерация текста

Мониторинг обратной связи пользователей

Запрос может включать определение тона или настроения входящего текста. Текст может быть выходным параметром предыдущего узла, например, email или сообщения в Telegram-чате. Для простоты сгенерируем текст прямо в сценарии, добавив следующие узлы:

Мониторинг обратной связи

  1. Узел Trigger on Run once для запуска сценария кнопкой Run once.

  2. Узел SetVariables для генерации переменной Text, содержащей текст отзыва о продукте.

Переменная Text

  1. Узел Webhook response для возврата ответа при успешном выполнении сценария. В поле Body узла Webhook response добавьте ИИ-оператор с запросом, использующим переменную из узла SetVariables: {{askAI("Determine if the text \"" + _.Text + "\" is a negative review")}}

Webhook response с askAI

Результат этого сценария — ответ ИИ:

Yes, the text "The packaging is damaged and the courier was late" can be considered a negative review.

Результат анализа

Классификация текста

Запрос может включать определение, является ли входящий текст вопросом. Использование ИИ-оператора в связях позволяет сценарию следовать разным веткам в зависимости от ответа ИИ.

Поскольку условием выполнения связи является булево значение TRUE в поле Condition, вы должны правильно настроить это поле. Например, попросите ИИ вернуть "true" или "false" и сравните результат с "true". Равенство true=true будет TRUE, активируя связь.

Для простоты сгенерируем текст прямо в сценарии, добавив следующие узлы:

  1. Узел Trigger on Run once для запуска сценария кнопкой Run once.

  2. Узел SetVariables для генерации переменной Value, содержащей текст для классификации.

Переменная Value

  1. Связь Question с условием {{askAI("The text contains \"" + $2.Value + "\" is there a question? If so, return one word \"true\", otherwise return one word \"false\"") = "true"}}.

Связь Question

  1. Узел Webhook response для связи Question с ответом The text contains a question при выполнении сценария.

  2. Связь Not a question с условием {{askAI("The text contains \"" + $2.Value + "\" is there a question? If not, return one word \"true\", otherwise return one word \"false\"") = "true"}}.

Связь Not a question

  1. Узел Webhook response для связи Not a question с ответом The text does not contain a question при выполнении сценария.

Результат сценария зависит от текста в переменной Value:

  • Если переменная содержит вопрос, например What is the deadline for completing the task?, результат сценария — The text contains a question.

Результат с вопросом

  • Если переменная содержит утверждение, например Documentation is an important part of learning, результат сценария — The text does not contain a question.

Результат без вопроса