Ask AI

AI Agent

Ключевой компонент для создания агентских сценариев с использованием ИИ, нструменттов , и контекстной памятью.

Notion image

AI Agent — это компонент платформы Nodul, предназначенный для создания интеллектуальных сценариев на основе больших языковых моделей (LLM). Он позволяет интегрировать внешние функции, вести контекстные диалоги и выполнять последовательные действия на основе пользовательского ввода.

Назначение

AI Agent используется для:

  • генерации ответов на пользовательские запросы
  • вызова других узлов сценария в качестве функций
  • работы с краткосрочной памятью в рамках сессии
  • получения структурированных JSON ответов
  • выполнения сценариев с ограниченным количеством итераций

Интерфейс AI Agent

Notion image

Основные поля

Поле
Описание
Model
Название используемой LLM модели (например, openai/gpt-4.1) определяет качество и стоимость выполнения.
Session ID
Идентификатор, используемый для загрузки и разделения истории разговора. Если указан, агент будет включать соответствующую историю разговора в контекст. Если пуст или не указан, каждый запрос будет рассматриваться как новая сессия без истории. Например, это может быть ID чата или ID пользователя для различения разных потоков разговора.
User Prompt
Основной запрос пользователя. Поддерживает интерполяцию переменных.
System Message
Инструкция для языковой модели. Контролирует поведение агента (тон, стиль, ограничения и т.д.).

Дополнительные настройки

Context Window Length
Определяет количество самых последних пар сообщений (пользователь и ассистент) для включения в контекстное окно, передаваемое LLM. Увеличение этого значения позволяет модели учитывать более длинную историю разговора, что может улучшить связность, но также может потреблять больше токенов и влиять на производительность
Max Iterations
Определяет верхний лимит вызовов инструментов, разрешенных для LLM агента в едином процессе рассуждения. Если этот порог достигнут, агент прекратит выполнение и ответит сообщением о том, что был остановлен из-за достижения максимального количества итераций.
Temperature
Температура выборки от 0 до 2. Более высокие значения, такие как 0.8, сделают вывод более случайным, в то время как более низкие значения, такие как 0.2, сделают его более сфокусированным и детерминированным.
Max Tokens
Верхняя граница количества токенов, которые могут быть сгенерированы для завершения
Structured output (переключатель)
Когда включен, LLM будет принужден отвечать в JSON формате. Вы должны определить ожидаемую JSON структуру и правила форматирования в промпте или в "Output JSON Schema"
Output JSON Schema
Когда указано, эта JSON Schema определяет точную структуру, типы и ограничения ожидаемого JSON вывода от LLM. Модель будет руководствоваться строгим следованием этой схеме во время генерации. Пример: { "type": "object", "properties": { "output": { "type": "string", "description": "Предоставьте вывод здесь" } } }
Quick Preview Schema
Это поле позволяет форматировать данные ответа для легкого чтения. Определите пары ключ-путь в JSON, где ключ — это заголовок, а значение — путь к данным
 
ℹ️ Для изучения всех доступных моделей, их названий, цен и описаний можно использовать List Models node. Он возвращает структурированный список моделей, поддерживаемых узлом AI Agent.
Notion image

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


AI Agent реализует концепцию Function Calling (как определено OpenAI) или Tool Call. При запуске он формирует стандартный chat запрос с ролями (system, user) и списком доступных инструментов, основанных на подключенных узлах.

Запрос включает:

Notion image
  • User Prompt (1) — запрос пользователя (role: user),
  • System Message (2) — системное сообщение (role: system),
  • Tool metadata — каждый подключенный узел должен предоставить:
    • Notion image
    • название (3) (взято из заголовка узла),
    • описание (4) (из поля Tool Description),
    • список аргументов (5), определенных через fromAIAgent() внутри полей ввода.

Пример:

{{fromAIAgent("Email Body"; "Включите тело email как обычный текст или HTML. Если HTML, убедитесь, что установили свойство "Body Type" в html")}}

Каждый такой узел рассматривается как вызываемая функция с названием, аргументами и описанием. Если модель решает вызвать одну из функций, Nodul выполняет соответствующий узел и возвращает результат AI Agent.

🧠 Модель самостоятельно решает, какие инструменты вызывать в зависимости от смысла пользовательского запроса. Вы можете подключить несколько инструментов - только релевантные будут активированы на основе контекста.

AI Chat

Notion image

В правой части конфигурации узла находится вкладка AI Chat. Вы можете использовать её для общения с ассистентом в реальном времени и тестирования его поведения. Это полезно для проверки того, как модель интерпретирует промпт, какие действия она предлагает и какие инструменты решает вызвать.


Подключение инструментов к агенту

Notion image

Чтобы AI Agent использовал другие блоки сценария, они должны быть визуально подключены снизу через интерфейс конструктора.

Есть два способа сделать это:

  • Перетащите нужный узел (например, HTTP Request, Telegram, Search и т.д.) и подключите его к нижнему коннектору узла AI Agent.
  • Или нажмите на коннектор AI Agent и вручную свяжите его с существующим узлом.

После подключения связанный узел становится доступным как вызываемый инструмент для агента.


Передача параметров в подключенные инструменты

Notion image

Для передачи данных из AI Agent в подключенный узел используйте оператор fromAIAgent(). Этот оператор действует как заполнитель для динамического ввода — агент автоматически заменит его соответствующими значениями во время выполнения.

Вы можете поместить {{fromAIAgent("parameter_name"; "parameter description")}} внутрь любого поля ввода подключенного узла (такого как Request Body, Prompt, Text и т.д.).

Это выражение определяет ожидаемый аргумент для инструмента:

  • "parameter_name" — внутреннее имя параметра
  • "parameter description" — показывается модели и используется в схеме функции

Формат:

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

Пример:

Notion image
{{fromAIAgent("Email Body"; "Включите тело email как обычный текст")}}

Это зарегистрирует узел как доступную функцию с:

  • её названием (взятым из заголовка узла),
  • описанием (взятым из поля Tool Description),
  • списком параметров, определенных через выражения fromAIAgent().
⚠️ Каждый узел должен иметь уникальное имя. Если имя отсутствует, выполнение завершится неудачей.

Пример: Прогноз погоды (без авторизации)

Notion image

Давайте посмотрим, как работает AI Agent, используя запрос прогноза погоды.

  1. Поместите AI Agent на холст.
  1. В поле System Message напишите:
    1. Вы ассистент, который может получать прогноз погоды. Используйте подходящий инструмент.
  1. Добавьте узел HTTP Request под ним.
  1. Назовите узел, например, Weather forecast
  1. Установите метод: GET
  1. В поле URL вставьте:
    1. <https://wttr.in/>{{fromAIAgent("city"; "Название города для прогноза погоды")}}?format=3
  1. Запустите AI Agent с промптом:
    1. Какая погода в Берлине?

В результате:

  • AI Agent получает пользовательский запрос;
  • анализирует, что нужен прогноз погоды;
  • находит узел с названием weather_forecast, который использует fromAIAgent с параметром city;
  • подставляет значение "Берлин" и делает HTTP запрос;
  • получает краткий прогноз и отправляет его обратно пользователю.
Notion image

Пример: Гибкий Telegram чатбот

AI Agent также хорошо работает в формате чатбота. Вы можете подключить несколько узлов и позволить модели решать, какой использовать.

Например, вот базовый Telegram чатбот:

Notion image

Telegram триггер подключен к AI Agent, а от AI Agent к:

  • Web Search (Perplexity);
  • Create Note (Notion);
  • Current Weather

В этом сценарии:

  • Если пользователь отправляет общее сообщение, агент просто отвечает текстом без вызова инструментов.
Notion image
  • Если пользователь просит создать заметку, он использует узел Create Note.
Notion image
  • Если пользователь просит сделать что-то сложное, например, получить погоду и найти информацию онлайн, два инструмента - Web Search и Current Weather - будут активированы последовательно, и их результаты будут включены в ответ.
Notion image

Каждый узел зарегистрирован с fromAIAgent() для передачи параметров. Модель понимает, какой инструмент использовать - и игнорирует остальные.

Это делает чатбота динамичным и модульным.


Мульти-агентные рабочие процессы

Notion image

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

В этих сценариях агенты могут обмениваться данными, активировать друг друга условно и брать на себя различные обязанности в рамках одного запроса. Например, один агент может служить копирайтером, другой - редактором, а третий - фактчекером. Это разделение ролей помогает уменьшить галлюцинации, которые обычно возникают, когда один агент перегружен множественными задачами.

Эти паттерны особенно полезны для:

  • многоэтапного рассуждения;
  • оркестровки инструментов;
  • AI pipeline, требующих четкого разделения логики и внутренних циклов обратной связи.

Это ответило на ваш вопрос?
😞
😐
🤩