Чем AI Agent отличается от цепочки «промпт → ответ»
Обычный сценарий в n8n жёсткий: пришло сообщение → вызвали модель → отправили текст дальше. Он предсказуем. ИИ-агент нужен, когда человек пишет как хочет: «проверь заявку», «сделай короткий пост», «найди прошлый бриф». Агент смотрит, какие у него есть инструменты, выбирает один или несколько и собирает ответ.
Маркер: простыми словами. AI Agent node — это центральный блок на холсте. К нему подключают «мозг» (языковую модель), «память» (историю диалога) и «руки» (инструменты). Без рук официальная документация n8n агента не считает готовым: нужен хотя бы один tool.
Когда хватит обычных нод If/HTTP
Если путь всегда один — заявка из формы, одно письмо, одна строка в таблице — агент только добавит стоимость токенов и риск «сам придумал шаг». Тогда лучше обычные блоки: условие, HTTP-запрос, отправка в Telegram. Агент оправдан, когда вход свободный и действий несколько.
Минимум для агента: модель + хотя бы один tool
Маркер: простыми словами. Tool (инструмент) — это разрешённое действие: запросить сайт, прочитать таблицу, запустить другой сценарий. Это не «магия», а список кнопок, которые модели можно нажимать.
В документации n8n прямо сказано: к AI Agent нужно подключить минимум один tool-подблок. Частая ошибка гайдов — «сначала агент без инструментов, потом добавим». Такой граф часто просто не запускается. Для первого теста хватит безобидного инструмента: калькулятор, HTTP «прочитай эту страницу», или пустой sub-workflow, который возвращает «ок».
Старые шаблоны с выбором типа агента путают. С версии 1.82.0 типы убрали: все AI Agent работают как Tools Agent.
Какой контур собрать первым
Не начинайте с «платформы агентов» и MCP. Первый рабочий контур умещается в одну картинку.
Trigger → AI Agent → ответ
Шаги, которые новичок повторяет сам:
- Создайте workflow. Добавьте Chat Trigger (для теста в редакторе) или сразу Telegram Trigger, если бот уже есть.
- Добавьте ноду AI Agent. Соедините выход триггера со входом агента.
- В поле сообщения пользователя укажите текст из триггера. Для Telegram это обычно текст сообщения, а не весь JSON.
- Подключите Chat Model: OpenAI, Claude, Gemini, Ollama или HTTP к GigaChat / YandexGPT.
- Подключите Memory.
- Подключите один безопасный tool.
- Напишите System Message: кто агент, чего не делает, когда останавливается и зовёт человека.
- Запустите тест. Откройте execution log: должны быть вызов модели и, при необходимости, вызов tool.
- Только после этого включите Active.
Признак успеха. В логе есть зелёный прогон, агент ответил по делу и не крутится в цикле. Если нода красная с текстом про missing tool — не хватает инструмента, это не «сломался Telegram».
Типичные ошибки. Забыли tool. В сообщение агента попал весь JSON. В System Message нет стопа. Max iterations стоит 20 «на всякий случай» — так сгорают токены.
System message: роль, стоп, эскалация
Пишите коротко и по-русски. Три абзаца достаточно: роль («ты редактор канала, не финансист»), границы («не публикуешь сам, не выдумываешь цифры»), выход («после трёх неудачных попыток tool — верни человеку формулировку, чего не хватает»).
Маркер: простыми словами. Max iterations — потолок кругов «подумал → вызвал tool → подумал снова». Для двух инструментов держите 5–8. Больше — почти всегда ошибка архитектуры: задачу надо резать на мини-агентов, а не крутить лимит.
Как завести Telegram-бота, чтобы ответ уходил в нужный чат
Схема чат-бота: Telegram Trigger → AI Agent → Telegram Send Message. Без третьего шага агент «подумал» внутри n8n, а человек в мессенджере тишину.
- В Telegram найдите BotFather, создайте бота, скопируйте токен. Токен — секрет, его не светят на скриншотах и не кладут в открытый Git.
- Напишите боту любое сообщение.
- В n8n создайте credentials Telegram, вставьте токен.
- Telegram Trigger: события сообщений. Для канала позже понадобятся права администратора — для личного чата с ботом хватит диалога.
- После агента — Send a text message. Chat ID возьмите из триггера, не хардкодьте чужой канал.
- Parse Mode, если нужны жирный/курсив, поставьте HTML и не мешайте markdown.
Признак успеха. Сообщение, отправленное боту, возвращается ответом в тот же чат за несколько секунд. В getWebhookInfo у Telegram виден production-URL вашего n8n, не /webhook-test/.
Почему тест живой, а Active — молчит
Пока вы жмёте Test workflow, Telegram смотрит на тестовый webhook. После Active нужен боевой. Если в getWebhookInfo торчит webhook-test, активируйте сценарий ещё раз. Если URL пустой — регистрация не прошла: проверьте HTTPS, что n8n доступен из интернета, что нет редиректа.
Второй классический конфликт: тот же токен уже слушает другой скрипт через long polling. Telegram разрешает либо webhook, либо polling, не оба. Тогда webhook «тихо исчезает» через секунды — это не мистика n8n.
Маркер: простыми словами. Webhook — это адрес, на который Telegram сам присылает новые сообщения. Polling — когда программа постоянно спрашивает «ну что, есть новое?». Один бот не может жить в двух режимах сразу.
Карта поломки
Один токен — один consumer
Слева спокойный webhook на одном процессе. Справа queue mode: три воркера одновременно зовут setWebhook и Telegram отвечает Too Many Requests. Дальше в тексте — как не наступить на это в проде.
- Trigger держите на main
- Тяжёлый агент — отдельным workflow
- Не смешивайте polling и webhook
Память по chat id: почему бот «забывает»
Без памяти каждый заход — как новый человек у стойки. С памятью агент помнит, что вы уже согласовали рубрику и тон.
Ключ сессии для Telegram почти всегда один: идентификатор чата. Его подставляют в session key памяти, чтобы переписка с клиентом А не смешивалась с клиентом Б.
Window Buffer vs Postgres/Redis
Маркер: простыми словами. Window Buffer — короткая память «последние N реплик», которую n8n держит у себя. Для пилота её хватает. Postgres или Redis нужны, если историю надо показывать в своей админке, переносить между серверами или переживать переезд инстанса без сюрпризов.
Не обещайте себе, что буфер вечен. После перезапуска или смены ключа бот снова «не помнит бриф». Для продакшена с платными диалогами заранее решите, где лежит история.
Tool не видит память — что передавать явно
Память принадлежит агенту, не инструменту. Sub-workflow, который пишет строку в таблицу, не читает прошлые реплики сам. Если tool должен знать «о каком товаре речь», передайте это параметром: название, ссылка, session id. Иначе модель «помнит», а руки действуют вслепую.
Какие инструменты давать агенту — и какие нельзя
Давайте мало. Два-три понятных tool лучше зоопарка из двадцати. Каждый инструмент опишите так, будто объясняете стажёру: когда вызывать, какой вход, какой выход.
Хороший набор для контент-контура: «найти последний бриф в таблице», «проверить, нет ли такого заголовка в черновиках», «положить текст в таблицу статусов». HTTP Request — для своего API или RSS. Execute Workflow — когда проверка сложнее одного запроса.
Нельзя на первом круге: списание денег, удаление строк, отправка в публичный канал, смена прав. Даже «просто пост» — write-действие. Его либо выносят в отдельный сценарий с кнопкой человека, либо ставят обязательное подтверждение.
Маркер: простыми словами. Human-in-the-loop — остановка перед опасным шагом. Агент готовит текст и параметры, человек жмёт «можно» или «нет». Для контента это дешевле, чем разгребать ошибочный пост у подписчиков.
Когда нужен человек в контуре
Чат «бот ↔ вы» можно почти полностью отдать агенту. Канал с аудиторией — нет. Схема, которая не стыдит бренд: агент кладёт карточку в канал проверки, вы правите одну фразу, второй бот или тот же сценарий публикует в открытый канал.
Не путайте «агент написал» и «агент опубликовал». В контент-заводе второе — отдельная должность, даже если должность занимает кнопка.
Self-host или облако: что выбрать в РФ
Честно: облако n8n для новых клиентов из России и Беларуси с 2022 года часто закрыто. Если видите экран «регион не поддерживается» — это не ваш косяк. Рабочий путь — Community Edition на своём VPS: лицензия $0, прогоны без счётчика платформы, данные у вас.
n8n установка на практике = Docker на Ubuntu у хостера в РФ (Selectel, Yandex Cloud, Beget VPS). n8n docker — самый короткий старт: один compose, том для данных, HTTPS через прокси. Локальная установка на ноутбуке годится, чтобы потыкать холст, но Telegram webhook с домашнего компьютера без белого IP мучителен.
Модели из России без серых схем: GigaChat (HTTP или community-нода), YandexGPT (HTTP / community), Ollama на той же машине — из Docker стучитесь на host.docker.internal, не на localhost. OpenAI и Claude удобнее как «мозг», но это отдельный договор, карта и вопрос персональных данных.
Если нужен разбор автоматизации с нуля — не только n8n, но и Make и MCP — программа обучения по автоматизации и вайбкодингу.
n8n или Make: где агентный цикл дешевле
Make удобнее, если сценарий короткий и вы уже живёте в визуальном конструкторе без сервера. У Make нет своего «агентного цикла» той же плотности: это набор модулей, и каждый шаг ест кредит.
n8n считает execution: один запуск сценария — одна единица, сколько бы раз агент ни дернул tool внутри. Для агента с тремя вызовами инструментов это обычно выгоднее. Self-host снимает плату за прогоны совсем: остаётся сервер и API модели.
Маркер: простыми словами. Execution — «один полный прогон сценария». Operation в Make — «один модуль щёлкнул». Агент щёлкает часто, поэтому форма оплаты важнее красивого логотипа.
Если у вас уже стоит контент-завод на Make — не ломайте его ради моды. n8n имеет смысл, когда нужен именно агент с памятью и инструментами, self-host или контроль данных.
Типичные поломки webhook, queue mode и токена
Три поломки, из-за которых «у всех в гайде работает, у меня нет».
Один бот — один consumer. Второй n8n, старый Python-поллер, ещё один Test в соседней вкладке — и webhook сбрасывается. Оставьте один активный Trigger на токен.
Queue mode не ставить на Telegram Trigger. В очереди несколько процессов пытаются зарегистрировать webhook одновременно. Telegram отвечает Bad Request или Too Many Requests. Триггер держите на одном основном процессе, тяжёлый агент выносите в отдельный workflow.
Маркер: простыми словами. Queue mode — режим «главный принимает задачу, рабочие считают». Для писем и таблиц полезно. Для Telegram-триггера на старте вредно.
Max iterations и вечный tool. Агент не нашёл поле в JSON и дергает HTTP по кругу. Поставьте стоп в промпте и лимит 5–8.
Чек-лист перед продом: Active включён; HTTPS без редиректа; токен не в публичных логах; память ключуется chat id; write-действия с человеком; error workflow на падение модели.
FAQ
Что такое n8n?
Визуальный конструктор автоматизации с открытым кодом. Сценарии собирают из нод. Можно держать у себя на сервере.
Как создать ИИ-агента в n8n бесплатно?
Поставьте Community Edition на VPS, подключите GigaChat или Ollama, соберите Trigger → AI Agent → ответ. Бесплатны прогоны платформы, не электричество и не все токены.
Нужен ли MCP, чтобы агент заработал?
Нет. MCP — способ подключить внешние инструменты по общему протоколу. Сначала заставьте агента работать с одним HTTP-tool.
Можно ли сразу постить в канал без модерации?
Технически да, редакторски нет. Сделайте канал проверки. Слепой автопостинг экономит минуту и стоит репутации.
n8n ai и «n8n агент» — это разные продукты?
Обычно люди ищут одну и ту же ноду AI Agent плюс модель, память и инструменты.
Что проверяли по источникам
- Обязательный tool у AI Agent — документация n8n.
- Каналы и ограничения queue — Build and manage agents.
- Queue mode ломает Telegram Trigger — разбор в сообществе n8n.
- Сравнение self-host и Make — практический разбор на Хабре.
Итог: соберите узкий контур, ключуйте память, не отдавайте каналу пост без человека.
