ИИ-агент в n8n: пошаговая инструкция с примером
Как собрать ИИ-агента в n8n: узлы AI Agent, Chat Model, Simple Memory и Tools, подключение Ollama или OpenRouter и пример Telegram-бота, который отвечает по базе знаний.

Содержание
ИИ-агент в n8n собирается из четырёх частей: узла AI Agent, подключённой к нему языковой модели (Chat Model), памяти (Simple Memory) и хотя бы одного инструмента (Tool). Всё это — обычные узлы на холсте: никакого кода писать не нужно. Ниже — пошаговая инструкция на практическом примере: Telegram-бот, который принимает вопрос, ищет ответ в вашей базе знаний и отвечает в чат. Названия узлов и параметров сверены с документацией docs.n8n.io на октябрь 2026 года. Если n8n у вас ещё не установлен, начните со статьи «Установка n8n: локально, на сервере, в Docker», а общее знакомство с платформой — в материале «n8n: что это и как начать».
Коротко. Схема: Telegram Trigger принимает сообщение → AI Agent думает, при необходимости обращается к инструменту (поиск по базе знаний) и помнит диалог через Simple Memory → узел Telegram (операция Send Message) отправляет ответ. Модель подойдёт любая из поддерживаемых: в n8n есть узлы Ollama Chat Model (локальная модель) и OpenRouter Chat Model. OpenAI и Anthropic из России официально не работают, поэтому для российского пользователя практичнее локальная Ollama или агрегатор. Главное правило документации: к AI Agent нужно подключить минимум один инструмент.
Что такое ИИ-агент в n8n
В n8n «агент» — это узел AI Agent. Обычный сценарий n8n выполняет шаги строго по порядку: вы сами решаете, что за чем идёт. Агент устроен иначе: вы описываете ему задачу и даёте набор инструментов, а он сам решает, какой инструмент вызвать и сколько раз, пока не получит ответ. Как формулирует документация, агент определяет, какие у него есть возможности, и выбирает подходящие инструменты под задачу.
Важная деталь про версии. Раньше у узла был выбор типа агента (Conversational Agent, ReAct Agent и другие). По документации n8n, настройка типа агента устарела начиная с версии 1.82.0: теперь все узлы AI Agent работают как Tools Agent — этот режим и раньше был рекомендованным и самым популярным. Старая версия узла с выбором типа будет удалена в n8n 3.0. Если вы найдёте в интернете инструкцию с выбором типа агента — она устарела, ищите узел последней версии.
Из чего собирается агент
| Часть | Узел в n8n | Зачем нужна | Обязательна |
|---|---|---|---|
| Мозг | Chat Model (например, Ollama Chat Model, OpenRouter Chat Model) | Языковая модель, которая понимает вопрос и формулирует ответ | Да |
| Память | Simple Memory | Хранит последние реплики диалога, чтобы агент не «забывал» контекст | Нет, но для чата нужна |
| Руки | Tools (инструменты) | Действия: поиск по базе, вызов другого сценария, запрос к сервису | Да, минимум один |
| Ядро | AI Agent | Управляет моделью и инструментами, принимает решения | Да |
К корневому узлу AI Agent модель, память и инструменты подключаются как «подузлы» (sub-nodes) — они цепляются к нижним входам узла. У подузлов есть особенность из документации: выражения в них всегда берут первый элемент входных данных, а не обрабатывают элементы по очереди, как обычные узлы.
Какую модель подключить
AI Agent работает с чат-моделями разных провайдеров: в документации по Tools Agent перечислены OpenAI, Groq, Mistral Cloud, Anthropic и Azure AI Foundry. Но для читателя из России выбор определяется доступностью:
- Ollama Chat Model — локальная модель на вашем компьютере или сервере. В узле есть настройки Model, Sampling Temperature, Top K и Top P, а подключение задаётся через учётные данные Ollama: Base URL (по умолчанию
http://localhost:11434) и необязательный API Key. Данные не покидают ваш сервер, платить за токены не нужно. Как поставить Ollama и выбрать модель — в статье «Ollama: установка и первые шаги». Модель должна уметь вызывать инструменты (tool calling), иначе агент не сможет ими пользоваться — проверяйте это в описании модели. - OpenRouter Chat Model — узел для моделей, доступных через сервис OpenRouter. В учётных данных нужен только API Key, который создаётся в личном кабинете openrouter.ai в разделе API keys. Список моделей в узле подгружается из вашего аккаунта.
- OpenAI, Anthropic и другие облачные — узлы есть, но эти компании официально не работают в России, поэтому рассчитывать на них как на основной вариант не стоит. Как решают вопрос оплаты зарубежных сервисов — в отдельном материале «Как оплатить Claude и ChatGPT из России».
Для обучения проще всего Ollama: ничего не стоит, и вы сразу видите, как агент «думает». Если n8n и Ollama запущены в разных контейнерах Docker на одной машине, подключение может не сработать с адресом по умолчанию — документация советует подобрать адрес, доступный между контейнерами (через переменные OLLAMA_HOST и OLLAMA_ORIGINS), а при проблемах с localhost попробовать 127.0.0.1.
Пример: Telegram-бот, который отвечает по базе знаний
Задача: пользователь пишет боту вопрос («Какой у вас график работы?», «Как оформить возврат?»), бот находит ответ в загруженных документах компании и отвечает. Это классический первый агент для малого бизнеса — подробнее о самой идее в статье «ИИ-агент для базы знаний компании». Собираем из шести узлов.
Шаг 1. Создайте бота в Telegram
- Откройте в Telegram бота BotFather и отправьте команду
/newbot. - Укажите отображаемое имя и username: 5–32 символа, латинские буквы, цифры и подчёркивания, обязательно заканчивается на
bot. - Скопируйте выданный токен — он понадобится в n8n как Access Token.
Шаг 2. Добавьте Telegram Trigger
Создайте новый workflow и добавьте узел Telegram Trigger. В поле учётных данных создайте Telegram credential и вставьте Access Token. В параметре с событиями оставьте Message — тогда сценарий запускается только на сообщения, а не на все обновления (значение «All updates» по умолчанию шумнее). В опциях есть Restrict to Chat IDs и Restrict to User IDs — удобно, чтобы на время тестов бот отвечал только вам. Telegram доставляет события на адрес вашего n8n, поэтому инстанс должен быть доступен из интернета — для локального запуска это отдельная задача, а на VPS с доменом и HTTPS проблем нет (см. статью про установку).
Шаг 3. Добавьте узел AI Agent
Подключите к выходу триггера узел AI Agent. В параметре с промптом есть два варианта: Take from previous node automatically (ждёт поле chatInput, оно появляется у Chat Trigger, а у Telegram — нет) и Define below. Для Telegram выберите Define below и в поле Prompt (User Message) вставьте выражение с текстом сообщения:
{{ $json.message.text }}
Затем откройте Options → System Message — это текст, который отправляется модели до начала разговора и задаёт поведение агента. Пример для бота поддержки:
Ты помощник компании. Отвечай на вопросы клиентов вежливо и кратко, на русском языке.
Всегда сначала ищи ответ в базе знаний с помощью инструмента.
Если в базе нет ответа, честно скажи об этом и предложи написать менеджеру. Ничего не выдумывай.
Последняя строка — самая важная: без неё агент охотно «досочинит» ответ, которого нет в документах. Там же в опциях есть Max Iterations (по умолчанию 10 попыток получить ответ) — ограничитель, чтобы агент не зациклился, и переключатель Return Intermediate Steps: включите его на время отладки, чтобы видеть, какие инструменты агент вызывал.
Шаг 4. Подключите Chat Model
Под узлом AI Agent нажмите «+» у входа Chat Model и выберите Ollama Chat Model (или OpenRouter Chat Model). Создайте учётные данные, выберите модель из списка. Для ответов по базе знаний температуру (Sampling Temperature) лучше поставить низкой: чем она выше, тем разнообразнее и склоннее к выдумкам ответы.
Шаг 5. Подключите Simple Memory
Нажмите «+» у входа Memory и выберите Simple Memory (внутри — буфер скользящего окна на LangChain). Два параметра:
- Session Key — идентификатор диалога. Чтобы у каждого человека была своя история, подставьте идентификатор чата Telegram:
{{ $('Telegram Trigger').item.json.message.chat.id }}. Если оставить значение по умолчанию, все пользователи окажутся в одной общей беседе, и агент начнёт путать их вопросы. - Context Window Length — сколько последних реплик учитывать. Для бота поддержки хватит 5–10.
Ограничение из документации: если ваш n8n работает в режиме очередей (queue mode), этот узел не работает в активном рабочем сценарии, потому что запросы не гарантированно попадают на один и тот же воркер. Для обычной установки на один сервер это не проблема.
Шаг 6. Подключите инструмент поиска по базе знаний
Документация требует: к AI Agent нужно подключить хотя бы один инструмент. Для поиска по документам подойдёт Simple Vector Store в режиме Retrieve Documents (As Tool for AI Agent). Что настроить:
- Name и Description — для режима инструмента они обязательны. Описание читает сам агент, чтобы понять, когда обращаться к инструменту. Пишите конкретно: «База знаний компании: график работы, цены, условия возврата и доставки». В имени допустимы только латинские буквы и цифры, пробелы, дефисы и подчёркивания — специальные символы приводят к ошибке во время работы агента.
- Memory Key — название хранилища, например
company-kb. - Limit — сколько фрагментов возвращать на запрос (3–5 достаточно).
- К хранилищу подключите модель для эмбеддингов, например Embeddings Ollama с моделью
nomic-embed-text(768 измерений) илиall-minilm(384 измерения).
Само хранилище нужно один раз наполнить. Для этого создайте отдельный небольшой сценарий с тем же Simple Vector Store в режиме Insert Documents с тем же Memory Key и теми же эмбеддингами: он берёт ваши тексты (файл, таблицу, страницу сайта) и сохраняет их в хранилище. Параметр Clear Store по умолчанию включён и очищает хранилище перед записью — учтите это при повторной загрузке.
Два предупреждения из документации, которые важны для реального бота. Во-первых, данные Simple Vector Store хранятся в памяти n8n и пропадают при перезапуске; n8n рекомендует этот узел только для разработки, а для рабочих сценариев — постоянные векторные базы, например Pinecone. Если данные не должны уходить во внешний сервис, в n8n есть узлы и для баз, которые ставятся на свой сервер: Qdrant и PostgreSQL с расширением PGVector. Во-вторых, ключи памяти доступны всем пользователям инстанса независимо от прав на workflow — не кладите туда конфиденциальное. Как устроен поиск по документам и когда он нужен, объясняет статья про RAG для ИИ-агента.
Если базу знаний удобнее вести как отдельный сценарий (например, поиск по таблице или вашему сервису), вместо векторного хранилища можно подключить инструмент Call n8n Workflow Tool: он вызывает другой workflow и возвращает его результат агенту. В поле Description опишите, когда его вызывать. В режиме Database вызываемый сценарий должен быть опубликован, иначе агент получит ошибку «Workflow is not active and cannot be executed».
Шаг 7. Отправьте ответ в Telegram
К выходу AI Agent подключите узел Telegram, ресурс Message, операция Send Message. Заполните:
- Chat ID —
{{ $('Telegram Trigger').item.json.message.chat.id }}; - Text —
{{ $json.output }}(ответ агента лежит в полеoutput); максимум 4096 символов.
В дополнительных полях найдите Append n8n Attribution: по умолчанию включено, и к каждому сообщению добавляется подпись «This message was sent automatically with n8n». Для клиентского бота её лучше выключить. Заодно можно выбрать Parse Mode (HTML, Markdown или MarkdownV2).
Шаг 8. Проверьте и включите
- Нажмите Execute workflow и напишите боту вопрос, ответ на который есть в базе. Откройте узел AI Agent и посмотрите, какие шаги он прошёл.
- Задайте вопрос, ответа на который в базе нет — агент должен честно отказаться, а не придумать.
- Напишите два сообщения подряд («Сколько стоит доставка?» и «А в выходные?») — проверьте, что память работает.
- Когда всё в порядке, опубликуйте workflow (переключатель публикации в правом верхнем углу), и бот будет отвечать постоянно.
Частые ошибки
| Проблема | Причина и решение |
|---|---|
| Агент не вызывает инструмент и отвечает «из головы» | Модель не поддерживает вызов инструментов или описание инструмента слишком общее. Возьмите модель с tool calling и перепишите Description конкретнее; в System Message прямо потребуйте сначала искать в базе. |
| Все пользователи видят общую историю | Не задан Session Key в Simple Memory — подставьте идентификатор чата. |
| Ошибка при запуске агента, связанная с инструментом | В имени инструмента есть недопустимые символы — оставьте латиницу, цифры, пробелы, дефисы и подчёркивания. |
| Агент ходит по кругу | Уменьшите Max Iterations и включите Return Intermediate Steps, чтобы увидеть, где он застревает. |
| База пропала после перезапуска n8n | Simple Vector Store хранит данные только в памяти. Загрузите документы заново или перейдите на постоянное векторное хранилище. |
| n8n не достучался до Ollama | Проверьте Base URL; в Docker используйте адрес, доступный из контейнера, а не localhost. |
| Бот не реагирует на сообщения | Workflow не опубликован или инстанс недоступен из интернета для Telegram; проверьте также фильтры Restrict to Chat IDs и User IDs. |
Что улучшить дальше
Рабочий минимум собран. Дальше типовые шаги: заменить Simple Vector Store на постоянное хранилище, добавить инструменты действий (создать заявку, записать клиента), включить для чувствительных операций подтверждение человеком — в панели инструментов можно потребовать одобрение перед отправкой сообщения или изменением данных. Если нужна общая картина — как выбрать первый сценарий и не распылиться, читайте «Как создать ИИ-агента с нуля».
Частые вопросы
Нужно ли уметь программировать, чтобы создать ИИ-агента в n8n?
Нет. Агент собирается из узлов на холсте: AI Agent, модель, память и инструменты. Код понадобится только для нестандартных задач — для них есть отдельные узлы с кодом, но в примере из статьи он не нужен.
Чем AI Agent в n8n отличается от обычного сценария?
В обычном сценарии вы заранее задаёте порядок шагов. Агент сам решает, какие инструменты вызвать и сколько раз, чтобы выполнить задачу. Поэтому ему нужна языковая модель и хотя бы один инструмент.
Какая модель подойдёт для агента в России?
Любая из поддерживаемых узлов, у которой есть вызов инструментов. Для старта удобна локальная модель через узел Ollama Chat Model — бесплатно и без отправки данных наружу. Есть также узел OpenRouter Chat Model. OpenAI и Anthropic официально в России не работают.
Можно ли собрать агента без Telegram?
Да. Telegram Trigger — лишь один из способов получить вопрос. Для тестирования удобен Chat Trigger со встроенным окном чата: у него есть поле chatInput, и в AI Agent можно оставить автоматическое получение промпта.
Почему агент забывает предыдущие сообщения?
Либо не подключён узел Simple Memory, либо Context Window Length слишком мал, либо у каждого сообщения новый Session Key. Задайте постоянный идентификатор диалога, например ID чата.
Можно ли использовать Simple Vector Store в рабочем боте?
Для проверки идеи — да. Но по документации n8n данные в нём теряются при перезапуске, а сам узел рекомендован для разработки. Для рабочего бота подключите постоянную векторную базу: облачную (например, Pinecone) или свою на сервере (Qdrant, PostgreSQL с PGVector).
Строю AI-агентов для своего бизнеса и клиентов, на сайте пишу о том, что запускал сам. Вопросы задавайте в Telegram.
@aaakalsin →

