1. Введение
В предыдущих гайдах мы собрали RAG-агента с памятью и базой знаний в Supabase. Агент умеет отвечать на вопросы из загруженных документов. Но у него есть принципиальное ограничение: он знает только то, что уже загружено. Реальные данные — температура за окном — ему недоступны.
В этом гайде мы исправим это: добавим к агенту новый инструмент (tool) для получения актуальной погоды. Агент будет сам решать — обратиться к базе знаний или запросить свежие данные из интернета.
Что найдёте в этой инструкции:
- Как работает механизм tools в агентах Нейро42
- Как добавить ноду HTTP Request Tool и правильно её настроить
- Как подключить бесплатное API погоды (open-meteo.com) без регистрации
- Как написать описание tool так, чтобы агент понимал когда его использовать
- Как протестировать агента с новым инструментом
💡 Совет: Принцип, который вы освоите в этом гайде, масштабируется бесконечно: любой сервис с HTTP API становится инструментом вашего агента. Достаточно добавить ноду и написать правильное описание.
2. Как это работает
Инструменты агента (Tools)
В агентах Нейро42 есть особый тип подключения — tool (инструмент). Когда вы подключаете ноду к агенту как tool, агент получает описание этого инструмента и сам решает когда его использовать.
Это принципиально отличается от обычной цепочки нод:
| Обычная нода в цепочке (main) | Нода как инструмент агента (tool) |
| Выполняется всегда при запуске воркфлоу | Вызывается агентом только когда нужно |
| Агент не управляет вызовом | Агент сам решает вызвать или нет |
| Подходит для фиксированных шагов | Подходит для ситуативных запросов |
Как агент выбирает нужный инструмент
Каждый tool имеет текстовое описание (поле Description). Когда пользователь задаёт вопрос, агент читает описания всех доступных инструментов и принимает решение — похоже на то, как менеджер читает должностные инструкции своих сотрудников, прежде чем делегировать задачу.
💡 Совет: Именно поэтому Description — самое важное поле. Чем точнее вы опишете когда использовать инструмент — тем умнее будет вести себя агент.
В конце этого гайда у агента будет 2 инструмента:
| Инструмент | Когда вызывается |
| Supabase Vector Store | Вопросы из базы знаний (документы, вебинары) |
| HTTP Request Tool — Погода | Вопросы про погоду в любом городе |
3. Что понадобится
| Что нужно | Зачем |
| Готовый воркфлоу с агентом (Гайды 1–3) | Добавляем новый инструмент к существующему агенту |
| Нода HTTP Request Tool (встроена в Нейро42) | Подключается к агенту как tool. Устанавливать ничего не нужно. |
| API open-meteo.com | Бесплатная погода без ключа и регистрации |
Об API который мы используем
open-meteo.com — профессиональное метеорологическое API с открытым доступом. Использует данные национальных метеослужб (Германия, США, Великобритания). Запрос принимает координаты (широту и долготу) — агент на базе GPT знает координаты большинства городов мира и подставит их автоматически.
Пример запроса: https://api.open-meteo.com/v1/forecast?latitude=55.75&longitude=37.62¤t=temperature_2m,wind_speed_10m
4. Основные шаги
Часть 1: Открываем воркфлоу и готовимся
Шаг 1. Откройте воркфлоу с агентом
Зайдите в Нейро42 и откройте воркфлоу из предыдущих гайдов. На холсте должны быть девять нод:
- When chat message received (Chat Trigger)
- AI Agent
- OpenAI Chat Model
- Simple Memory
- Supabase Vector Store — режим retrieve-as-tool (чтение из базы знаний)
- Supabase Vector Store — режим insert (загрузка документов)
- Download File (Google Drive)
- Embeddings OpenAI
- Default Data Loader
💡 Совет: Перед добавлением новых нод убедитесь, что воркфлоу сохранён и работает. Задайте тестовый вопрос из базы знаний — агент должен ответить корректно.
✅ Часть 1 завершена. Воркфлоу открыт и готов к работе.
Часть 2: Добавляем инструмент погоды
Шаг 2. Добавьте ноду HTTP Request Tool через агента
В Нейро42 инструменты агента удобнее добавлять прямо из самой ноды AI Agent — нода сразу подключится в нужный тип соединения.
- Кликните на ноду AI Agent, чтобы выделить её
- В нижней части ноды найдите секцию «Tools» и нажмите «+» рядом с ней
- Откроется панель поиска нод — введите: HTTP Request Tool
- Выберите ноду «HTTP Request Tool» из результатов
- Нода автоматически появится на холсте и сразу подключится к агенту как tool
⚠️ Важно: Убедитесь, что ищете именно «HTTP Request Tool», а не обычный «HTTP Request». Это разные ноды: обычный — для main-цепочек, Tool-версия — только для подключения к агентам.
Шаг 3. Переименуйте ноду
Дайте ноде понятное имя — это поможет не запутаться в схеме.
- Дважды кликните по заголовку ноды (или нажмите правую кнопку → Rename)
- Введите: Погода (Weather API)
- Нажмите Enter
Шаг 4. Откройте настройки ноды и заполните Description
Найдите поле «Description» и вставьте текст:
Используй этот инструмент, когда пользователь спрашивает про погоду, температуру, осадки или климатические условия в каком-либо городе или регионе. Передай широту (latitude) и долготу (longitude) запрашиваемого места.
💡 Совет: Именно поэтому Description — самое важное поле. Чем точнее вы опишете когда использовать инструмент — тем умнее будет вести себя агент.
Шаг 5. Сформируйте URL на сайте open-meteo.com и вставьте в ноду
open-meteo.com предоставляет удобный визуальный конструктор запросов. Не нужно вручную добавлять параметры — просто настраиваете нужные галочки на сайте и копируете готовую ссылку.
- Откройте в браузере: https://open-meteo.com/en/docs
- В разделе «Current Weather» поставьте галочку «Temperature (2m)»
- Также отметьте «Wind Speed (10m)» и «Weather code»
В самом низу страницы появится готовый URL. Скопируйте его — он будет выглядеть примерно так:
https://api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41¤t=temperature_2m,wind_speed_10m
Теперь замените статические координаты на динамические значения $fromAI. Вставьте в поле URL ноды готовый адрес в таком виде:
| Поле | Значение |
| Method | GET |
| URL | https://api.open-meteo.com/v1/forecast?latitude={{ $fromAI(‘latitude’,’Широта’) }}&longitude={{ $fromAI(‘longitude’,’Долгота’) }}¤t=temperature_2m,wind_speed_10m |
💡 Совет: $fromAI(‘latitude’, …) — это инструкция агенту подставить сюда нужное значение. Агент на базе GPT знает координаты большинства крупных городов мира и определит их автоматически из вопроса пользователя.
Либо выберите город или страну в списке
✅ Нода погоды настроена. Закройте панель настроек.
Часть 3: Настраиваем System Message агента
Теперь агент знает о новом инструменте, но нужно сказать ему как себя вести — дать роль и объяснить что он умеет. Для этого используется System Message.
Шаг 6. Откройте настройки AI Agent и добавьте System Message
- Кликните дважды по ноде AI Agent, чтобы открыть её настройки
- Найдите кнопку «Add Option» (обычно внизу панели настроек)
- В выпадающем меню выберите «System Message»
- Появится текстовое поле — вставьте в него текст:
Ты полезный ассистент. Ты можешь отвечать на вопросы из базы данных о вебинарах, а также получать актуальную информацию о погоде с помощью инструмента Weather API. Если пользователь спрашивает про погоду — используй инструмент Weather API. Если вопрос касается вебинара или материалов из базы знаний — обращайся к Supabase. На остальные вопросы отвечай напрямую.
💡 Совет: System Message — это инструкция, которую агент читает перед каждым разговором. Чем точнее вы опишете роль и доступные инструменты — тем предсказуемее будет поведение агента.
✅ System Message добавлен. Сохраните воркфлоу: Ctrl+S (Cmd+S на Mac).
Часть 4: Проверяем итоговую схему
Шаг 7. Убедитесь, что всё подключено
Поскольку мы добавляли ноду прямо через «+» в секции Tools агента, соединение уже установлено автоматически. Просто проверьте, что всё на месте.
Кликните на ноду AI Agent — в секции Tools должны быть:
| Нода | Тип подключения к AI Agent |
| OpenAI Chat Model | ai_languageModel (языковая модель) |
| Simple Memory | ai_memory (память диалога) |
| Supabase Vector Store | ai_tool (база знаний) |
| Погода (Weather API) | ai_tool (инструмент — погода) ← новое |
✅ Всё подключено.
Часть 5: Тестируем агента
Шаг 8. Откройте тестовый чат и проверьте погоду
Нажмите кнопку «Открыть чат» в правом нижнем углу или откройте публичную ссылку чата. Напишите в чат:
Какая сейчас погода в Москве?
Агент должен вызвать ноду «Погода (Weather API)», автоматически определить координаты Москвы (55.75, 37.62), сделать запрос к open-meteo и вернуть текущую температуру и условия погоды.
Шаг 9. Проверьте, что агент выбирает нужный инструмент
Задайте несколько разных вопросов — убедитесь, что агент переключается корректно:
| Вопрос в чат | Ожидаемое поведение агента |
| Какая погода в Москве? | Вызывает Weather API, возвращает температуру |
| Расскажи про вебинар по ИИ | Обращается к Supabase (базе знаний) |
| Привет! | Отвечает напрямую, не вызывает никаких tools |
✅ Агент работает корректно, если погодный запрос идёт через API, а вопрос по вебинару — из базы знаний.
🎉 Отличная работа! Агент умеет работать с реальными данными из интернета!
Итого агент умеет:
- Отвечать на вопросы из базы знаний (Supabase RAG)
- Получать актуальные данные о погоде из любой точки мира
- Хранить контекст диалога в памяти
- Самостоятельно выбирать — база знаний или внешний API
5. Бонус: Три способа поставить HTTP Request в воркфлоу
В этом гайде мы подключили HTTP Request как tool — и это один из трёх возможных способов. В Нейро42 нода HTTP Request может стоять в разных местах цепочки, и каждый способ решает свою задачу.
| Позиция | Когда выполняется | Для чего использовать |
| 1. До агента (в начале цепочки) | Каждый раз при любом сообщении пользователя — автоматически | Всегда вставлять свежие данные в контекст (курс валют, погода по умолчанию) |
| 2. Как tool агента (что мы делали) | Только когда агент сам решает, что ему нужны эти данные | Данные нужны не всегда, а только по запросу |
| 3. После агента (в конце цепочки) | После того как агент сформулировал ответ — всегда, автоматически | Отправить результат куда-то ещё: в Telegram, CRM, Google Sheets |
Позиция 1 — До агента: данные всегда в контексте
Если поставить HTTP Request до ноды AI Agent и соединить через обычное main-соединение — запрос будет выполняться при каждом сообщении пользователя, автоматически, без каких-либо условий. Результат попадает в поток данных и агент получает его как часть входящей информации.
Chat Trigger → HTTP Request → AI Agent
⚠️ Важно: Минус этого подхода: запрос к API будет делаться при КАЖДОМ сообщении, даже если пользователь просто написал «привет». Если API платный или с лимитами — используйте этот вариант осторожно.
Позиция 2 — Как tool: данные по запросу (что мы уже сделали)
Это именно то, что мы настраивали в этом гайде. Нода подключена к агенту через tool-соединение. Агент читает описание инструмента и вызывает его только когда считает нужным.
Chat Trigger → AI Agent ⇢ HTTP Request Tool
💡 Совет: Это самый гибкий вариант — агент сам оптимизирует количество запросов к API. Используйте для большинства случаев.
Позиция 3 — После агента: отправить результат куда-то ещё
HTTP Request после AI Agent используется не для получения данных, а для отправки. Агент сформировал ответ — и этот ответ нужно куда-то передать: в Telegram, в базу данных, в CRM, в Google Sheets через webhook.
Chat Trigger → AI Agent → HTTP Request
💡 Совет: Запомните простое правило: если данные нужны ВСЕГДА — ставьте до агента. Если ИНОГДА — подключайте как tool. Если нужно что-то ОТПРАВИТЬ — ставьте после.
6. Что делать, если не работает
| Проблема | Решение |
| Агент не вызывает Weather API | Улучшите Description — добавьте примеры: «в том числе если пользователь спрашивает «тепло ли сейчас в…» или «какая температура в…»» |
| Ошибка при запросе к open-meteo | Проверьте URL в браузере: api.open-meteo.com/v1/forecast?latitude=55.75&longitude=37.62¤t=temperature_2m — если открывается, проблема в настройках ноды |
| Агент вызывает tool, но даёт странный ответ | Агент получил сырой JSON. Добавьте в Description: «Из полученного JSON извлеки нужные данные и объясни ответ пользователю понятным языком». |
| Нода не видна в секции Tools агента | Попробуйте удалить ноду и добавить заново через «+» в секции Tools на ноде AI Agent. |
7. Что делать дальше
Принцип, который вы освоили в этом гайде, масштабируется бесконечно: любой сервис с HTTP API становится инструментом вашего агента. Вот что попробовать дальше — другие бесплатные API без ключей:
| Что добавить | API |
| Информация о стране | restcountries.com/v3.1/name/{country} |
| Случайный факт на английском | uselessfacts.jsph.pl/api/json/v1/today |
| Курс криптовалют | api.coinbase.com/v2/prices/BTC-USD/spot |



















