ИИ-агент в n8n собирается из четырёх частей: триггер, который принимает сообщение, узел (нода) AI Agent, языковая модель и память. Ни одна из них не требует кода. В этой инструкции мы соберём агента, который отвечает в Telegram, помнит контекст разговора и умеет искать в интернете. Восемь шагов, около 40 минут, в конце готовый workflow для импорта. Проверено на n8n 2.x в сентябре 2026.
Что получится в итоге: Telegram-бот, которому можно написать «Меня зовут Антон», через два сообщения спросить «Как меня зовут?» и получить правильный ответ. А на вопрос «Какое сегодня число?» он сходит в поиск и ответит по факту, а не по памяти модели.

Инструкция подойдёт, если вы никогда не открывали n8n. Понадобятся четыре вещи: аккаунт n8n, Telegram-бот, ключ к языковой модели и ключ поискового сервиса. Про каждую расскажем по ходу.
Оглавление:
- Что такое ИИ-агент и чем он отличается от чат-бота
- Что понадобится
- Шаг 1. Создаём Telegram-бота и сохраняем токен в n8n
- Шаг 2. Собираем эхо-бота: триггер и ответ
- Шаг 3. Получаем ключ к языковой модели, в том числе из России
- Шаг 4. Добавляем узел AI Agent и подключаем модель
- Шаг 5. Подключаем инструмент: поиск в интернете
- Шаг 6. Даём агенту память
- Шаг 7. Пишем системный промпт
- Шаг 8. Публикуем и проверяем
- Типичные ошибки и как их починить
- Скачать готовый workflow
- Что дальше: куда растёт агент
- Вопросы и ответы
Что такое ИИ-агент и чем он отличается от чат-бота
Обычный чат-бот работает по жёсткому сценарию: пришло сообщение, сработало условие, ушёл заранее написанный ответ. Обычный workflow в n8n устроен так же, только шаги могут быть сложнее: прочитать таблицу, отправить письмо, записать в CRM.
ИИ-агент устроен иначе. Это узел с языковой моделью внутри, который сам решает, что делать с запросом: ответить сразу, заглянуть в память, вызвать инструмент, а потом собрать из этого финальный ответ. В n8n агент состоит из четырёх компонентов:
- Модель (Chat Model). Мозг агента. Именно она понимает вопрос и формулирует ответ.
- Память (Memory). История диалога. Без неё модель не помнит даже предыдущее сообщение.
- Инструменты (Tools). Внешние функции, которые агент может вызвать: поиск, HTTP-запрос, таблица, другой workflow.
- Парсер вывода (Output Parser). Приводит ответ к нужному формату, например к JSON. Для чат-бота необязателен.
В нашей сборке это выглядит так: Telegram Trigger принимает сообщение, AI Agent передаёт его модели, память хранит историю диалога, инструмент поиска достаёт свежие данные, а готовый ответ уходит обратно в Telegram. Парсер вывода понадобится в других сценариях, когда результат нужно передавать дальше в строго заданном формате.

Работает агент циклом. Получил сообщение, отдал модели вместе с системным промптом и историей. Модель решила: ответить или позвать инструмент. Если позвала, результат инструмента возвращается в модель, и она думает ещё раз. Так до тех пор, пока не получится финальный ответ или не кончится лимит итераций. Промежуточные шаги, вызовы инструментов и их результаты видно в логах n8n, и это главный способ понять, почему агент повёл себя не так, как вы ждали.
Что понадобится
Аккаунт n8n. Есть три пути. Облачная версия n8n даёт 14 дней бесплатно и без карты, для первого агента этого хватит. Дальше подписка оплачивается картой, из России нужна иностранная, поэтому для постоянной работы обычно выбирают второй путь. Второй путь: поставить n8n на свой сервер. Сама программа бесплатна, платите только за сервер, и все данные workflow остаются у вас; у российских хостингов есть готовые образы, разворачивается за 10 минут. Третий: готовый хостинг n8n у российского провайдера. Установка на свой сервер в этой статье не разбирается, ей будет посвящён отдельный материал.
Telegram-бот. Создаётся за минуту через BotFather. Шаг 1 ниже.
Ключ к языковой модели. Самая частая точка, где новички застревают, потому что OpenAI напрямую нужна иностранная карта. В шаге 3 разберём, как получить ключ из России.
Ключ к поиску. Для инструмента поиска мы используем SerpAPI. Бесплатный тариф даёт 250 запросов в месяц и не больше 50 в час, для тестов этого достаточно. Платные тарифы оплачиваются иностранной картой.
Шаг 1. Создаём Telegram-бота и сохраняем токен в n8n
Откройте в Telegram бота BotFather и отправьте команду /newbot. Он спросит имя и username бота, а в ответ пришлёт токен: длинную строку вида 1234567890:AAH.... Это и есть ключ доступа к вашему боту.
В n8n такие ключи хранятся в разделе Credentials. Откройте его, нажмите Create credential, выберите Telegram API и вставьте токен. Правило простое: ключи живут только в Credentials, никогда в самих узлах. Тогда workflow можно безопасно экспортировать и показывать.

Шаг 2. Собираем эхо-бота: триггер и ответ
Прежде чем добавлять интеллект, соберём бота, который просто повторяет сообщение. Так вы проверите связку с Telegram, и дальше будет понятно, где именно что-то сломалось.
Создайте новый workflow. Добавьте первый узел: Telegram Trigger, событие On Message. Выберите созданный credential. Нажмите Execute Workflow: триггер перейдёт в статус Waiting for Trigger Event и будет ждать сообщение.
Напишите боту в Telegram «Привет, робот». Вернитесь в n8n: в узле появился входящий элемент данных. Разверните его и посмотрите структуру. Нам нужны два поля: текст сообщения message.text и идентификатор чата message.chat.id. По второму бот поймёт, кому отвечать.

Добавьте второй узел: Telegram, ресурс Message, операция Send Message (все параметры узла есть в документации n8n). В поле Chat ID нужно не фиксированное значение, а выражение. Переключите поле в режим Expression и вставьте:
{{ $('Telegram Trigger').item.json.message.chat.id }}
В поле Text для эхо-бота подставьте {{ $json.message.text }}. Разница между режимами простая: Fixed подходит для текста, который не меняется, Expression вычисляется из данных предыдущих узлов и всегда пишется в двойных фигурных скобках.


Нажмите Execute Step и проверьте Telegram. Бот ответил, но в конце сообщения появилась приписка про n8n. Чтобы её убрать, в узле Telegram добавьте поле Append n8n Attribution и выключите его.
Шаг 3. Получаем ключ к языковой модели, в том числе из России
Агенту нужна модель, а модели нужен API-ключ. Если у вас есть ключ OpenAI, Anthropic или Google, пропустите этот шаг: в n8n для каждого из них есть свой узел Chat Model. Если нет, вот обходной путь.
Ключ OpenAI напрямую оплачивается только иностранной картой. Обходной путь: OpenAI-совместимые агрегаторы, которые продают доступ к тем же моделям за рубли. На курсе используем VseLLM, но таких сервисов несколько, и выбирать стоит по цене: наценка у агрегаторов спрятана не в проценте комиссии, а в собственном курсе доллара, зашитом в тариф, поэтому сравнивайте стоимость миллиона токенов, а не «комиссию 0 %». Для n8n такие сервисы удобны тем, что подключаются через стандартный узел OpenAI, только с другим адресом.
Как подключить:
- Зарегистрируйтесь у агрегатора и создайте ключ.
- В n8n откройте Credentials, создайте OpenAI и вставьте ключ в поле API Key.
- В поле Base URL укажите адрес API агрегатора вместо адреса OpenAI.
- Сохраните. Должна появиться зелёная плашка Connection tested successfully.
Грабли, на которые наступают почти все: в агрегаторах модели называются с префиксом провайдера, openai/имя-модели, а не просто имя-модели. У большинства агрегаторов имя без префикса даёт ошибку. Точные имена смотрите в списке моделей в кабинете агрегатора.
Какую модель брать для первого агента: самую дешёвую из актуальной линейки крупного провайдера. Она поддерживает вызов инструментов и стоит копейки за запрос. К имени модели не привязывайтесь: OpenAI отключает старые снапшоты каждые несколько месяцев, актуальное имя всегда в списке агрегатора. Более дорогие модели имеет смысл подключать, когда агент начнёт путаться в инструментах.
Если возиться с ключами не хочется, на курсе «ИИ-агенты и n8n» в тарифах «Оптимальный» и «Плюс» доступ к n8n и единый API к языковым моделям выдаются на время обучения, а подключение сервисов разбирается пошагово.

Альтернативы, если агрегатор не подходит:
| Способ | Плюсы | Минусы |
|---|---|---|
| OpenAI напрямую | Стандартный путь, все модели | Нужна иностранная карта |
| OpenRouter | Сотни моделей в одном месте | С мая 2026 не принимает оплату из России, аккаунты с регионом РФ отключены |
| Groq | Быстро, есть бесплатный лимит | Ограниченный набор моделей |
| Локальная модель через Ollama | Бесплатно, данные не уходят наружу | Нужен мощный компьютер, слабее облачных |
Шаг 4. Добавляем узел AI Agent и подключаем модель
Теперь превращаем эхо-бота в агента. Между Telegram Trigger и Telegram Send Message вставьте узел AI Agent. У него снизу три разъёма: Chat Model, Memory, Tool. Четвёртый, Output Parser, появляется только после включения опции Require Specific Output Format, на скриншоте она включена. Пока агент подсвечен красным: без модели он работать не может.

Откройте узел. В поле Prompt (User Message) выберите режим Define below и вставьте выражение с текстом сообщения:
{{ $json.message.text }}

Нажмите плюс у разъёма Chat Model, выберите OpenAI Chat Model (или узел своего провайдера, например Anthropic Chat Model), укажите credential из шага 3 и модель. В узле Telegram Send Message замените текст на {{ $json.output }}: так называется поле, в которое агент кладёт ответ. Все параметры узла описаны в документации AI Agent.
Проверять агента пока рано: по документации n8n к узлу AI Agent должен быть подключён хотя бы один инструмент. Добавим его в следующем шаге и проверим всё сразу.
Шаг 5. Подключаем инструмент: поиск в интернете
Модель знает мир на момент своего обучения. Спросите её, какое сегодня число, и она либо ошибётся, либо честно скажет, что не знает. Инструменты решают эту проблему.
Нажмите плюс у разъёма Tool и выберите SerpAPI. Создайте credential с ключом сервиса. Больше настраивать ничего не нужно.

Первая проверка агента: отправьте боту «Привет» и нажмите Execute Step на узле AI Agent. В выводе узла должен появиться ответ модели. Затем спросите «Какое сегодня число?»: в логе выполнения будет видно, что агент вызвал SerpAPI, а в ответе появится сегодняшняя дата.

Здесь же два правила, которые чаще всего недооценивают:
- Модель читает описание инструмента. У каждого инструмента есть поле Description. Если написать в нём, когда инструмент нужно вызывать, агент будет вызывать его чаще и точнее. Для готовых инструментов вроде SerpAPI описание уже есть, для своих HTTP-запросов его придётся писать самому.
- Не все модели умеют вызывать инструменты. Если агент упорно отвечает «в уме», первое, что стоит проверить, поддерживает ли модель tool calling. Дешёвые модели крупных провайдеров поддерживают, у бесплатных и локальных это бывает не так.
Что ещё бывает инструментом: HTTP Request к любому API, Google Sheets, Gmail, календарь, другой workflow n8n, MCP-сервер. В следующих статьях разберём подключение агента к своим документам через RAG и к внешним сервисам через MCP.
Шаг 6. Даём агенту память
Напишите боту «Меня зовут Антон», а следом «Как меня зовут?». Агент не ответит. Это не ошибка настройки: языковые модели не хранят состояние, каждый запрос для них первый. Чтобы модель «помнила», ей нужно каждый раз передавать историю диалога. За это и отвечает память.
Нажмите плюс у разъёма Memory и выберите Simple Memory. Она хранит последние N сообщений прямо в n8n, без базы данных и credentials.

Два параметра, которые важно выставить правильно:
- Session ID. Ключ, по которому агент отличает один диалог от другого. Выберите Define below и вставьте
{{ $('Telegram Trigger').item.json.message.chat.id }}. В личной переписке chat.id совпадает с пользователем, и у каждого будет своя история. В групповом чате история окажется общей на всю группу, и правило разделения придётся продумать отдельно. - Context Window Length. Сколько последних сообщений помнить. Для начала 10.
Повторите тест с именем. Теперь агент ответит «Антон».
Одна деталь для тех, кто поднимает n8n на своём сервере. Если n8n запущен в queue mode, узел Simple Memory не работает в опубликованном workflow, об этом прямо сказано в документации Simple Memory: запросы распределяются между несколькими исполнителями, и история не обязательно попадёт в тот же процесс. В этом случае ставится Redis Chat Memory: тот же принцип, только история хранится в Redis, и у неё есть параметр TTL, время жизни истории. Для чат-бота хватает 5–10 минут.
Шаг 7. Пишем системный промпт
Без системного промпта агент ведёт себя как обычный чат: вежливо и ни о чём. Промпт задаёт роль, правила и объясняет, когда звать инструменты. В узле AI Agent откройте Options, добавьте System Message.

Общие правила, как составлять промпты, чтобы модель понимала задачу, разбирали отдельно: промпты для нейросетей, с примерами. Здесь только структура для агента с инструментами: роль, цель, инструкции, список инструментов, стиль ответа. Вот шаблон, который можно скопировать и подставить своё:
Роль: Ты — [кто агент и для кого работает].
Цель: [одно предложение, что агент должен делать].
Инструкции:
1. Если вопрос про [факты, которые меняются: даты, цены, новости], сначала вызови инструмент [название] и отвечай по его результатам.
2. Если не знаешь ответа и инструмент не помог, скажи об этом честно. Не выдумывай [цены, сроки, факты].
3. Помни контекст разговора: имя пользователя и его прошлые вопросы.
Инструменты:
- [Название]: [когда вызывать, что возвращает].
Стиль: [коротко, по-русски, без markdown, списки через дефис].
Пример: помощник магазина цветов. Роль: помощник магазина «Флора». Правила: отвечать про букеты, доставку и оплату, не выдумывать цены, а если точной информации нет, предлагать уточнить по телефону. Одна такая строчка про цены снимает половину претензий к боту.
Два совета по промпту. Чем точнее агент сфокусирован на задаче, тем лучше он работает и тем меньше тратит токенов. И пункт про markdown не лишний. Telegram понимает только свою разметку, режим задаётся полем Parse Mode в узле Telegram, по умолчанию это HTML. Модели же по привычке пишут markdown со звёздочками. В режиме HTML звёздочки просто видны в тексте, а если переключить Parse Mode на Markdown, незакрытые * и _ дадут ошибку 400 «can't parse entities», и бот замолчит. Надёжный вариант для первого бота: оставить HTML и запретить разметку в промпте. Если форматирование нужно, попросите модель писать HTML-теги <b> и <i>.
Если агенту нужно отвечать не текстом, а структурой, например JSON для записи в таблицу, включите в узле Require Specific Output Format и подключите Structured Output Parser. Если модель иногда ошибается в формате, поверх ставится отдельный узел Auto-fixing Output Parser: он оборачивает основной парсер и при ошибке просит модель переделать ответ.

Шаг 8. Публикуем и проверяем
До этого момента workflow работал только по кнопке. Чтобы бот отвечал постоянно, нажмите Publish в верхней панели (или Shift+P). Начиная с n8n 2.0 правки автосохраняются как версии и попадают в работу только после публикации, поэтому после каждого изменения публикуйте заново; в версиях до 2.0 вместо этого тумблер Active. Это самая частая причина вопроса «почему бот молчит»: workflow просто не опубликован.
Три проверки после сборки:
- Ответ по теме. Задайте вопрос из области, которую описали в промпте.
- Память. Напишите «Запомни слово: карандаш», задайте любой другой вопрос, потом спросите «Какое слово я просил запомнить?».
- Инструмент. Спросите про сегодняшнюю дату или актуальную новость и посмотрите в лог выполнения, был ли вызов SerpAPI.
Если что-то не сработало, включите в опциях агента Return Intermediate Steps: в выводе появятся промежуточные шаги: какие инструменты агент вызывал, с какими аргументами и что получил в ответ. По ним обычно понятно, почему он не пошёл в поиск.
Ещё один приём для отладки: Pin Data. Запустите узел один раз, нажмите на кнопку с булавкой в панели вывода, и n8n запомнит результат. Дальше при тестировании следующих узлов данные будут браться из закреплённого состояния, а не запрашиваться заново. Это экономит запросы к модели и к Telegram, пока вы настраиваете остальное.

Что дальше с этим ботом. На курсе «ИИ-агенты и n8n» этот же агент за несколько модулей дорастает до ассистента, который ищет ответы в ваших документах, управляет почтой и задачами через MCP и понимает голосовые сообщения. Программа и ближайший поток: курс «ИИ-агенты и n8n».
Типичные ошибки и как их починить
Все ситуации из таблицы встречаются у студентов курса в первую неделю. Порядок примерно по частоте.
| Симптом | Причина | Что сделать |
|---|---|---|
| Бот молчит в Telegram, хотя Execute Step работает | Workflow не опубликован или последние правки не опубликованы | Нажать Publish (в n8n до 2.0 включить тумблер Active) |
| Бот замолчал после смены Parse Mode, в логе ошибка 400 can't parse entities | Модель прислала markdown, а Telegram ждёт свою разметку | Вернуть Parse Mode = HTML и запретить разметку в промпте, либо просить модель писать HTML-теги |
| Агент отвечал в тестовом чате n8n, а после подключения Telegram не помнит контекст | В Session ID памяти остался ключ от тестового чата | Поставить {{ $('Telegram Trigger').item.json.message.chat.id }} |
| Узел модели возвращает ошибку сразу после подключения агрегатора | Имя модели без префикса провайдера | Указать openai/имя-модели точно так, как в списке агрегатора |
| Simple Memory не сохраняет историю в опубликованном workflow | n8n запущен в queue mode | Заменить на Redis Chat Memory с TTL |
| Агент отвечает сам, не вызывая инструмент | Слабое описание инструмента, нет правила в промпте или модель без tool calling | Дописать в System Message, когда вызывать инструмент; проверить модель |
| Ответ приходит не в том формате, ломается следующий узел | Модель вероятностна, формат «плывёт» | Включить Require Specific Output Format, добавить Structured Output Parser, при повторных сбоях обернуть его в Auto-fixing Output Parser |
| Сообщения доходят через раз или триггер не срабатывает | Один бот подключён к двум workflow или к двум n8n: у Telegram один вебхук на бота | Оставить боту один активный триггер, лишний workflow выключить |
| На своём сервере триггер не срабатывает вообще | Нет публичного HTTPS-адреса, Telegram не может доставить вебхук | Задать WEBHOOK_URL с доменом и SSL; подробнее будет в отдельной статье про установку |
| Ошибки лимитов или таймаут от API модели | Превышен rate limit, сервис недоступен | В настройках узла включить Retry On Fail, добавить Fallback Model, повесить Error Trigger с уведомлением |
Последняя строка про надёжность: для первого бота достаточно Retry On Fail с тремя попытками и паузой в секунду, а точные значения подбирают по ошибкам конкретного API.
Скачать готовый workflow
Чтобы не собирать руками, импортируйте готовый файл: workflow.json. Внутри ровно шесть узлов из этой статьи: Telegram Trigger, AI Agent, OpenAI Chat Model, Simple Memory, SerpAPI и Telegram Send Message. Системный промпт из шага 7 уже вписан.
Как импортировать:
- В n8n откройте меню workflow (три точки справа сверху) и выберите Import from File.
- Выберите скачанный файл.
- Откройте узлы Telegram Trigger, Telegram Send Message, OpenAI Chat Model и SerpAPI и укажите свои credentials. В файле их нет намеренно.
- В узле OpenAI Chat Model выберите модель из своего списка: в файле стоит имя для примера, у агрегатора оно будет с префиксом провайдера.
- Опубликуйте workflow кнопкой Publish.
Что дальше: куда растёт агент
Бот, который вы собрали, это каркас. Дальше его можно наращивать в четырёх направлениях, и каждое в n8n делается без кода.
Ответы по вашим документам. Прайс, регламенты, база знаний поддержки. Документы режутся на фрагменты, превращаются в векторы и складываются в хранилище, а агент ищет по ним перед ответом. Это называется RAG, и он заметно снижает выдумывание, хотя полностью его не исключает. Отдельная статья про RAG выйдет следующей.
Внешние сервисы через MCP. Model Context Protocol позволяет подключить агенту календарь, таск-трекер, CRM одним узлом, а свой workflow n8n превратить в инструмент для других агентов.
Несколько агентов. Один мета-агент принимает запрос и раздаёт задачи специализированным: один работает с почтой, другой с задачами, третий с контактами. В n8n агент может вызывать другого агента как инструмент.
Не только Telegram. Замените Telegram Trigger на Webhook, а отправку на Respond to Webhook, и тот же агент отвечает на сайте или в любом сервисе, который умеет отправлять HTTP-запросы.
Всё, что описано выше, и следующие уровни, от RAG до мультиагентных систем, разбираются на курсе «ИИ-агенты и n8n»: 13 модулей, 56 уроков, готовые workflow к каждому занятию и проверка домашних заданий наставником. Другие программы по этой теме собраны в разделе курсы по нейросетям.
Вопросы и ответы
Нужно ли уметь программировать, чтобы создать ИИ-агента в n8n?
Нет. Все шаги в этой статье делаются мышкой и вставкой готовых выражений. Код в n8n нужен только для нестандартной логики, и даже там есть узел Code, который можно попросить написать саму модель.
Сколько стоит ИИ-агент в n8n?
n8n на своём сервере бесплатен, облачная версия платная после пробного периода. Дешёвая модель обходится в копейки за запрос: тысяча коротких диалогов по прямым ценам провайдера укладывается в несколько десятков рублей. Через агрегатор выйдет дороже, в 2–4 раза в зависимости от его курса. Основная статья расходов появляется только при больших объёмах или дорогих моделях. Чтобы оценить бюджет, прогоните десяток типичных диалогов и посмотрите фактический расход в кабинете провайдера.
Можно ли обойтись без OpenAI и использовать российские модели?
Да, но агенту нужен именно узел Chat Model: обычный HTTP Request к модели сюда не подключить. Если у российской модели или агрегатора есть OpenAI-совместимый API, её подключают через узел OpenAI Chat Model с другим Base URL, как в шаге 3. Главное, чтобы модель поддерживала вызов инструментов, иначе агент будет работать только как чат.
Чем n8n отличается от Make и Zapier для ИИ-агентов?
Агентов сегодня умеют все три: у Zapier это отдельный продукт Zapier Agents, у Make конструктор агентов и ассистент Maia. Отличие n8n в другом: его можно бесплатно поставить на свой сервер, история диалогов и логи остаются у вас (запросы к модели и поиску всё равно уходят их провайдерам), платите за запуск workflow, а не за каждую операцию, а модель, память и инструменты агента выбираете сами, вплоть до локальных моделей.
Можно ли подключить агента к сайту, а не к Telegram?
Да. Вместо Telegram Trigger ставится узел Webhook, вместо отправки в Telegram узел Respond to Webhook. Сайт отправляет вопрос HTTP-запросом и получает ответ агента.
Сколько времени занимает сборка первого агента?
Около 40 минут, если ключи к модели и Telegram уже есть. Больше всего времени уходит не на n8n, а на получение ключа к модели и на настройку системного промпта под свою задачу.
