Разработка · 6 мин чтения

AI-агент в n8n: как подключить LangChain-ноды и GPT

n8n langchain - вот с чем пришлось разбираться прошлой зимой, когда клиент попросил не очередной вебхук с уведомлением в Telegram, а агента, который сам решает, дёргать CRM или отвечать текстом сразу. LangChain-ноды в n8n дают ровно это: вместо жёсткого сценария if-then модель сама выбирает инструмент по ситуации и порядок действий. За три вечера я собрал первого агента на GPT-4o-mini с памятью и парой HTTP-инструментов, дальше - как повторить это без граблей, на которые сам наступил.

Зачем в n8n встраивать LangChain и AI-агентов

Обычный workflow в n8n - дерево условий: если статус заказа “в пути”, отправляется один текст, если “доставлен” - другой. Работает надёжно, но каждую новую ветку рисуешь руками, и с ростом числа сценариев схема превращается в кашу из IF-нод. AI Agent на базе LangChain меняет саму логику: агенту описываешь набор инструментов и цель, а дальше он сам решает, какой вызвать и в каком порядке, без отдельной ветки под каждый вариант вопроса.

Разница видна на простом кейсе. Telegram-бот на aiogram присылал в поддержку любые вопросы клиентов подряд, и добрая половина обращений - это “где мой заказ” или “как оформить возврат”. Пересобрал этот кусок логики на n8n с AI Agent node: модель сама решает, дёргать ли API СДЭК за статусом трек-номера, смотреть ли заказ в WooCommerce или просто ответить текстом из базы знаний. Количество обращений, которые доходили до живого оператора, упало примерно на 40% за первый месяц работы.

Как активировать LangChain-ноды в n8n

В n8n Cloud ноды из категории AI - Agent, Chat Model, Memory, Tools - доступны сразу, включать ничего не нужно. На self-hosted инсталляции они идут в комплекте начиная с версии 1.19, но часть функций, в частности вызов инструментов из community-нод, требует явного разрешения через переменные окружения.

В docker-compose для клиентских проектов обычно добавляю такой блок:

environment:
  - N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=true
  - NODE_FUNCTION_ALLOW_EXTERNAL=langchain,openai
  - N8N_RUNNERS_ENABLED=true

После рестарта контейнера в поиске нод появляется секция “AI” - там и живут AI Agent, Basic LLM Chain, инструменты и модели памяти. Если ноды не находятся, почти всегда причина в версии n8n младше 1.19 или в закэшированном фронтенде - обновление образа и жёсткая перезагрузка страницы решают проблему в девяти случаях из десяти.

Бесплатный материал

🎁 Полезный скрипт в подарок

Подпишитесь на Telegram - пришлю готовый скрипт по этой теме.

Без спама. Отписка в 1 клик.

Собираем AI Agent: модель, память и системный промпт

AI Agent node в n8n - контейнер из трёх частей, которые подключаются отдельными коннекторами снизу: Chat Model (сама языковая модель), Memory (история диалога) и Tools (инструменты, которые агент может вызвать). Плюс поле System Message, где задаю роль и границы - что агент делает, а что ему запрещено.

Системный промпт пишу конкретно, без общих фраз вроде “будь полезным ассистентом”. Пример из проекта с интернет-магазином:

Ты помощник поддержки интернет-магазина. Отвечай только на вопросы о заказах, доставке и возврате. Если клиент спрашивает трек-номер - используй инструмент get_order_status. Если вопрос не по теме магазина, вежливо откажи и предложи написать оператору.

Память беру Window Buffer Memory для коротких сессий чат-бота - держит последние 5-10 сообщений и не тянет лишний контекст в каждый запрос к модели. Для длинных диалогов, где клиент может вернуться через день-два, ставлю Postgres Chat Memory: история привязана к chatId и переживает перезапуск n8n без потери контекста.

GPT, Claude и локальные модели - что выбрать для агента

Chat Model нода в n8n подключается к любому провайдеру через свой коннектор: OpenAI, Anthropic, Google Gemini, Azure OpenAI или локальный Ollama. Для большинства агентов с несколькими инструментами беру GPT-4o-mini - быстрый и почти не путается в выборе tool call при несложной логике из 2-4 инструментов.

Модель Стоимость запроса Скорость ответа Когда выбираю
GPT-4o-mini низкая 1-2 сек простые агенты, 2-4 инструмента
GPT-4o средняя 2-4 сек сложная логика, длинный системный промпт
Claude (Anthropic) средняя-высокая 2-5 сек работа с большими документами и RAG
Ollama (Llama, Mistral локально) без оплаты за токен, нужен сервер зависит от железа данные не должны покидать периметр компании

На рынке разработчики часто ставят локальные модели только ради экономии на токенах, но в моих проектах на первый план обычно выходит другое требование - переписка с клиентами и данные заказов не должны уходить за периметр компании, а храниться на серверах в России. Для таких случаев Ollama на отдельном сервере с GPU снимает вопрос полностью, хотя качество выбора инструмента у локальных моделей заметно проседает на сложных многошаговых сценариях по сравнению с GPT-4o.

Инструменты для агента: HTTP-запросы, код и векторные базы

Инструменты превращают языковую модель в агента, который реально что-то делает, а не просто разговаривает. Под Tools в n8n можно подключить:

  • HTTP Request Tool - вызов любого REST API, от СДЭК до внутренней CRM;
  • Code Tool - функция на JS или Python для расчётов, которые не стоит доверять модели напрямую;
  • Vector Store Tool - поиск по базе знаний через pgvector или Supabase для RAG-сценариев;
  • Workflow Tool - вызов другого workflow n8n как инструмента, когда логика уже собрана отдельным сценарием и дублировать её не хочется.

Простой пример Code Tool для проверки статуса заказа:

function getOrderStatus(orderId) {
  const statuses = { new: 'принят', shipped: 'в пути', delivered: 'доставлен' };
  const order = $input.item.json.orders.find(o => o.id === orderId);
  return order ? statuses[order.status] : 'заказ не найден';
}

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

Кейсы из практики: где n8n-агент реально экономит время

На проекте с оплатой через T‑Bank и магазином на WooCommerce агент разбирает обращения из формы обратной связи: вопрос про статус платежа уходит в API эквайринга, про доставку - в СДЭК, общий вопрос закрывается ответом из FAQ. Раньше на разбор таких писем у менеджера уходило 1,5-2 часа в день, сейчас агент закрывает больше 80% обращений без участия человека.

Второй кейс - сайт на Tilda со встроенным чат-виджетом. Скрипт на Tilda отправляет сообщение в вебхук n8n, дальше AI Agent решает, звать ли инструмент проверки остатков на складе или просто консультировать по товару. Ответ возвращается в виджет за 2-3 секунды, клиент не замечает, что за кулисами работает отдельный сервис.

Третий - Telegram-бот на aiogram, где часть логики (быстрые команды, кнопки, оплата) осталась в самом боте, а сложные текстовые запросы бот пересылает на webhook n8n с агентом. Такое разделение экономит разработку: не нужно тащить в Python-бота логику LLM-агента и следить за токенами вручную - n8n берёт это на себя, а бот остаётся тонким слоем для быстрых команд.

Связка сервисов без программистов

Автоматизация / n8n

от 25 000 ₽

Подробнее →

Частые вопросы

Можно ли использовать n8n langchain без своего сервера?

Да, на n8n Cloud AI-ноды включены сразу, отдельный сервер не нужен. Для self-hosted варианта хватит VPS с 2 ГБ RAM под сам n8n - тяжёлые вычисления делает не он, а API модели. Локальные модели через Ollama - другая история, там уже нужен отдельный сервер с GPU.

Сколько стоит внедрение AI-агента в n8n?

Автоматизация в n8n у меня начинается от 25 000 ₽ - сюда входит один агент с базовым набором инструментов и системным промптом под конкретную задачу. Итоговая сумма зависит от количества интеграций: подключение CRM, эквайринга и СДЭК в одном сценарии обычно поднимает бюджет, точную цифру называю после разбора задачи на консультации.

Какая память лучше для агента - Window Buffer или Postgres?

Для чат-бота с короткими сессиями хватает Window Buffer Memory - она быстрее и не требует базы данных. Если клиент возвращается к диалогу через часы или дни, а история должна сохраняться после перезапуска n8n, ставлю Postgres Chat Memory с привязкой к идентификатору чата.

Что делать, если агент вызывает инструменты без необходимости?

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

Есть задача?

Обсудим в мессенджере

Расскажите, что нужно сделать — отвечу в течение 4 часов в рабочее время. Первая консультация бесплатно.

Самозанятый Калинкин Н. А. · работаю с физлицами и юрлицами

Продолжая пользование настоящим сайтом Вы выражаете своё согласие на обработку Ваших персональных данных (файлов куки) с использованием Yandex.Metrika.
Понятно