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