n8n: Платформа создания AI-агентов и автоматизации рабочих процессов

1. Что такое n8n

n8n (произносится «н-эйт-эн») — это платформа автоматизации рабочих процессов (workflow automation platform) с нативными возможностями для создания AI-агентов. Название происходит от сокращения слова «nodemation» — сочетания node (узел) и automation (автоматизация), где 8 букв между «n» и «n» заменены цифрой 8, аналогично известным сокращениям вроде i18n или l10n n8n Official Site.

Проект основан Яном Оберхаузером (Jan Oberhauser); первый публичный коммит датируется 2019 годом. Изначально n8n задумывался как инструмент для визуальной автоматизации, связывающий различные API и сервисы через графический интерфейс. Со временем платформа эволюционировала, добавив мощнейшую интеграцию с LangChain и превратившись в полноценную среду для создания AI-агентов n8n GitHub.

Ключевые характеристики

Характеристика Описание
Лицензия Fair-code: Sustainable Use License (SUL) — исходный код открыт, но коммерческое использование крупными конкурентами ограничено
Интеграции 400+ встроенных нод-коннекторов к различным сервисам и API
Развёртывание Self-hosted (на собственной инфраструктуре) или n8n Cloud (SaaS)
Язык реализации TypeScript / Node.js
AI-поддержка Нативная интеграция с LangChain JS, поддержка множества LLM-провайдеров
Визуальный редактор Drag-and-drop canvas на Vue 3

Позиционирование n8n формулируется как «flexibility of code with the speed of no-code» — гибкость программирования при скорости no-code разработки. Это означает, что разработчик может использовать визуальный конструктор для быстрого прототипирования, но при необходимости углубиться в код — писать кастомные ноды, использовать выражения (expressions), выполнять JavaScript или Python внутри workflow n8n Official Site.

В контексте AI-агентов n8n выделяется среди конкурентов (Zapier, Make) тем, что предоставляет не просто вызов LLM по API, а полноценную инфраструктуру для создания автономных агентов: с памятью, инструментами, векторными хранилищами и поддержкой мультиагентных паттернов n8n AI Agents.

2. Архитектура n8n: как устроен внутри

Архитектурное устройство n8n имеет решающее значение для понимания того, как платформа выполняет workflows, масштабируется и обеспечивает расширяемость. Рассмотрим внутреннюю организацию кодовой базы и принципы проектирования.

Монорепозиторий и инструментарий сборки

Исходный код n8n представляет собой TypeScript монорепозиторий, построенный на pnpm workspaces и Turbo (Turborepo) для управления зависимостями и параллельной сборки пакетов. Такой подход позволяет единообразно версионировать взаимосвязанные пакеты и ускорять CI/CD за счёт кеширования результатов сборки DeepWiki n8n Architecture.

Ключевые пакеты

Монорепозиторий содержит следующие основные пакеты, каждый из которых отвечает за определённый слой функциональности:

n8n-workflow

Базовый пакет, определяющий фундаментальные абстракции всей системы: интерфейсы нод (INodeType), типы данных, параметры нод, систему expressions (выражений вида {{ $json.field }}). Этот пакет не зависит от конкретного окружения выполнения и используется всеми остальными пакетами DeepWiki n8n Platform Architecture.

n8n-core

Движок выполнения workflows. Отвечает за запуск нод в правильной последовательности, обработку ошибок, загрузку credential-объектов и инициализацию нод. Ядро координирует передачу данных между нодами согласно топологии графа workflow DeepWiki n8n Architecture.

n8n (CLI-пакет)

Основной исполняемый пакет — точка входа приложения. Включает REST API сервер, взаимодействие с базой данных (PostgreSQL/MySQL/SQLite), обработку webhook-запросов, планировщик cron-задач, а также CLI-команды для запуска и управления экземпляром n8n n8n GitHub.

n8n-nodes-base

Коллекция из 400+ встроенных нод-интеграций (аппаратных коннекторов к внешним сервисам) плюс ~100 Core-нод (управляющая логика, трансформация данных) — итого более 500 нод в совокупности: GitHub, Slack, Telegram, Google Sheets, Jira, Salesforce, HTTP Request и множество других. Каждый узел реализует интерфейс INodeType и описывает свои параметры, credential-требования и логику выполнения n8n GitHub.

@n8n/nodes-langchain

Специализированный пакет AI/LLM-нод, построенный поверх LangChain JS framework. Содержит корневые ноды (AI Agent, Chain, Vector Store) и подноды (Language Models, Memory, Tools, Embeddings, Document Loaders, Text Splitters, Output Parsers, Retrievers). Именно этот пакет превращает n8n в полнофункциональную платформу для AI-агентов LangChain in n8n Docs.

n8n-editor-ui

Визуальный редактор workflows на Vue 3 с drag-and-drop canvas. Реализован как SPA (Single Page Application), взаимодействует с бэкендом через REST API и WebSocket. Редактор отображает workflow как ориентированный граф, позволяя пользователю соединять ноды перетаскиванием DeepWiki n8n Architecture.

@n8n/config

Схема конфигурации и валидация переменных окружения. Централизует описание всех настраиваемых параметров n8n, обеспечивая типобезопасность и автогенерацию документации по конфигурации DeepWiki n8n Platform Architecture.

@n8n/task-runner

Изолированная песочница (sandbox) для безопасного выполнения пользовательского кода — JavaScript и Python. Используется нодой Code для исполнения произвольных скриптов вне основного процесса n8n, предотвращая утечки памяти, бесконечные циклы и несанкционированный доступ к ресурсам сервера DeepWiki n8n Architecture.

@n8n/instance-ai

AI-помощник для управления экземпляром n8n: помогает настраивать credentials, создавать workflows и конфигурировать экземпляр через естественный язык. Компоненты: InstanceAiService, InstanceAiAdapterService, DomainAccessApproval, CredentialSetup DeepWiki n8n Platform Architecture.

Слоистая архитектура

Архитектура n8n следует строгой слоистой модели без циклических зависимостей:

┌─────────────────────────────────────┐
│        Application Layer           │   n8n (CLI), n8n-editor-ui
├─────────────────────────────────────┤
│          Core Layer                 │   n8n-core, @n8n/task-runner
├─────────────────────────────────────┤
│       Foundation Layer              │   n8n-workflow, @n8n/config
└─────────────────────────────────────┘
         Extension Packages
    n8n-nodes-base, @n8n/nodes-langchain,
         custom/community nodes

Принцип направления зависимостей: верхний слой зависит от нижнего, но никогда наоборот. Пакет n8n-workflow (Foundation) ничего не знает о n8n-core или n8n. Пакет n8n-core зависит только от n8n-workflow. Основной пакет n8n зависит от обоих. Такая структура гарантирует отсутствие циклов и упрощает тестирование отдельных компонентов DeepWiki n8n Architecture.

Расширения (nodes-пакеты) зависят от n8n-workflow, реализуя его интерфейсы, но сами не являются частью ядра — они загружаются динамически во время выполнения.

3. Модели выполнения: Regular Mode и Queue Mode

Выбор модели выполнения критически влияет на производительность, отказоустойчивость и масштабируемость развернутого экземпляра n8n. Разработчику необходимо понимать обе модели, чтобы принимать обоснованное решение об архитектуре продакшен-разворачивания.

Regular Mode

По умолчанию n8n работает в Regular Mode — однопоточном процессе, который обслуживает всё: пользовательский интерфейс, REST API, обработку webhook-запросов, выполнение scheduled-задач и собственно исполнение workflows. Все задачи обрабатываются последовательно в рамках одного процесса Node.js.

# Пример запуска в Regular Mode
npx n8n start

Преимущества:

  • Простота настройки и минимальные требования к инфраструктуре
  • Не требует внешних зависимостей (Redis, отдельная БД)
  • Подходит для разработки, малого бизнеса и низких нагрузок

Ограничения:

  • Невозможно горизонтальное масштабирование
  • Один тяжёлый workflow блокирует другие executions
  • При падении процесса все текущие выполнения теряются
  • SQLite допустима, но не рекомендована для production

Regular Mode приемлем для сред с невысокой нагрузкой и отсутствием жёстких требований к SLA. Официальная документация не приводит конкретных пороговых значений — решение о переходе на Queue Mode зависит от характера workflows и доступных ресурсов Queue Mode Docs.

Queue Mode

Для высоконагруженных и mission-critical сценариев n8n предлагает Queue Mode — многопроцессную архитектуру с разделением ролей, использующую Redis как брокер сообщений и PostgreSQL как постоянное хранилище.

                    ┌──────────────────┐
                    │   Main Process   │
                    │  (API, UI,       │
                    │   Webhooks,      │
                    │   Timers)        │
                    └────────┬─────────┘
                             │
                      Redis (Bull/BullMQ)
                       ╱            ╲
               ┌──────▼──────┐  ┌─────▼────────┐
               │   Worker 1  │  │   Worker N     │
               │(Execute WF) │  │ (Execute WF)   │
               └─────────────┘  └────────────────┘

               ┌──────────────┐
               │Webhook Proc  │  ← опционально, отделяет 
               │(HTTP inlet) │     inbound-трафик
               └──────────────┘

Компоненты Queue Mode

Main Process — центральный координатор. Принимает запросы к REST API, обслуживает Editor UI, регистрирует incoming webhook-маршруты и планирует timer/cron-задачи. Сам Main Process не выполняет workflows — он помещает задания в очередь Redis Queue Mode Docs.

Worker Processes — независимые процессы, подписанные на очередь заданий Bull в Redis. Каждый Worker извлекает следующее ожидающее выполнение workflow из очереди и исполняет его. Workers можно запускать на разных машинах, достигая горизонтального масштабирования.

# Переменные окружения для включения Queue Mode
N8N_QUEUE_BULL_REDIS_HOST=redis.local
N8N_QUEUE_BULL_REDIS_PORT=6379
DB_TYPE=postgresdb
DB_POSTGRESDB_HOST=postgresql.local
DB_POSTGRESDB_DATABASE=n8n
DB_POSTGRESDB_USER=n8n
DB_POSTGRESDB_PASSWORD=<password>

# Запуск Main процесса
npx n8n start

# Запуск Worker процесса (другая машина или тот же хост)
EXECUTIONS_MODE=queue npx n8n worker

Webhook Process — выделенный процесс для обработки входящих HTTP-запросов. Если ваш workflow начинается с Webhook trigger, отделение обработки webhook-трафика от основного процесса снижает задержку ответа и повышает пропускную способность.

# Запуск выделенного Webhook Processor
EXECUTIONS_MODE=queue npx n8n webhook

Redis выступает в роли message broker на базе библиотеки Bull/BullMQ (env-переменные используют префикс QUEUE_BULL_). Очередь обеспечивает приоритетизацию задач, повторные попытки при неудаче (retries), отложенное выполнение (delayed jobs) и мониторинг прогресса Queue Mode Docs.

PostgreSQL — единственная официально поддерживаемая БД для Queue Mode. SQLite не поддерживается, поскольку нескольким процессам нужен совместный доступ к одной реляционной базе данных с транзакционной целостностью Queue Mode Docs.

Конфигурация Worker Concurrency

Каждый Worker одновременно обрабатывает до N8N_CONCURRENCY_PRODUCTION_LIMIT executions. По умолчанию установлено значение 10, однако для AI-heavy workflows (интенсивные вызовы LLM, долгие ожидания токенов) рекомендуется снизить до 5 и ниже, чтобы избежать исчерпания памяти и превышения rate-limit провайдеров API.

# Ограничение количества одновременных выполнений на Worker
N8N_CONCURRENCY_PRODUCTION_LIMIT=5

Multi-Main Setup (High Availability)

Для обеспечения высокой доступности n8n допускает развёртывание нескольких Main процессов в режиме Leader/Follower. Только Leader обрабатывает записи (создание/обновление workflows); Followers обслуживают чтение API и UI. При падении Leader автоматически назначается новый Queue Mode Docs.

# На каждом Main-узле
N8N_MULTI_MAIN_SETUP_ENABLED=true

Это особенно важно для enterprise-развёртываний, где downtime недопустим.

4. Система нод: типы и классификация

Нода (node) — элементарная единица работы в n8n. Каждая нода получает данные со входа, выполняет операцию и передаёт результат на выход. Связывая ноды друг с другом, пользователь строит направленный граф — workflow. Понимание типов нод и их назначения критически важно для эффективного проектирования workflows.

Trigger Nodes

Trigger-ноды инициируют выполнение workflow. Они не имеют входов — только выходы. Workflow обязан содержать ровно одну trigger-ноду (за исключением случаев manual triggering).

Trigger Назначение
Webhook Срабатывает при поступлении HTTP-запроса на зарегистрированный endpoint
Schedule Выполняется по расписанию (cron или интервал)
Chat Trigger Специальный триггер для чат-интерфейсов AI-агентов
Manual Запускается вручную кнопкой «Test» в editor UI
Email Trigger (IMAP) Срабатывает при получении email
Kafka Trigger Подписка на сообщения Apache Kafka

Webhook-trigger является одним из наиболее часто используемых — он создаёт публичный HTTPS-endpoint, на который могут отправляться данные из любого внешнего сервиса. Chat Trigger специально оптимизирован для диалоговых AI-агентов: он открывает чат-панель прямо в интерфейсе n8n Advanced AI Docs.

Action/App Nodes

Action-ноды (также называемые App Nodes) выполняют операции во внешних сервисах: читают данные, создают ресурсы, обновляют записи, отправляют сообщения. Их более 400 штук апп-интеграций в составе n8n-nodes-base (плюс ~100 Core-нод, управляющих потоком и трансформацией данных).

Наиболее востребованные категории:

  • Коммуникации: Slack, Discord, Microsoft Teams, Email
  • Хранение данных: PostgreSQL, MongoDB, Airtable, Google Sheets
  • DevOps: GitHub, GitLab, Jenkins, Docker Hub
  • CRM/Sales: Salesforce, HubSpot, Pipedrive
  • Общие: HTTP Request (универсальный HTTP-клиент — самый гибкий способ обращения к любому API)

Core Nodes

Core-ноды предоставляют управляющую логику и преобразование данных, не привязаны к конкретному приложению:

  • Code — выполнение произвольного кода на JavaScript или Python (исполняется в sandbox через @n8n/task-runner)
  • If — условное ветвление (if/else)
  • Merge — объединение потоков данных (merge modes: Append, Combine, Choose Branch)
  • Filter — фильтрация элементов по условию
  • Loop — итерация по каждому элементу массива
  • Set — присвоение значений полям (переименование, добавление, удаление ключей)
  • Switch — маршрутизация по нескольким условиям

Эти ноды составляют «скелет» любого нетривиального workflow, обеспечивая flow-control.

Cluster Nodes

Cluster-ноды (кластерные ноды) — ключевое нововведение для AI-функций. Кластер состоит из корневой ноды (root node) и присоединённых к ней поднод (sub-nodes). Корневая нода определяет общую цель (например, «быть AI-агентом»), а подноды поставляют компоненты: языковую модель, память, инструменты, embeddings.

Визуально cluster выглядит так: корневая нода находится слева, а её sub-nodes прикрепляются справа, образуя компактную группу. Эта группировка делает сложные AI-configurations удобочитаемыми на canvas AI Agent Node Docs.

Пример состава кластера AI Agent:

[AI Agent]  ←→  [OpenAI Chat Model]    (Language Model sub-node)
           ←→  [Window Buffer Memory] (Memory sub-node)
           ←→  [HTTP Request Tool]     (Tool sub-node)
           ←→  [Wikipedia Tool]        (Tool sub-node)

Корневая нода AI Agent координирует работу всех своих sub-nodes: вызывает LLM, передаёт ей список доступных инструментов, обрабатывает ответы, при необходимости повторяет цикл (agent loop).

Custom/Community Nodes

Если встроенной интеграции недостаточно, любой разработчик может создать собственную ноду и опубликовать её как npm-пакет. Другие пользователи n8n устанавливают такие ноды через меню Settings → Community Nodes, указав имя npm-пакета. Подробнее см. раздел 13 «Расширение: создание кастомных нод».

5. Модель данных n8n

Понимание внутренней модели данных n8n абсолютно необходимо для написания корректных expressions, отладки workflows и проектирования кастомных нод.

Формат передачи данных между нодами

Все данные в n8n передаются между нодами как массив объектов фиксированной структуры. Каждый объект (часто называемый «item») имеет два свойства:

interface INodeExecutionData {
  json: Record<string, any>;    // Структурированные данные
  binary?: IBinaryKeyData;      // Файлы (опционально)
}

Таким образом, выход каждой ноды выглядит так:

[
  { "json": { "firstName": "John", "lastName": "Doe", "age": 32 } },
  { "json": { "firstName": "Jane", "lastName": "Smith", "age": 28 } }
]

Поле json обязательно и содержит структурированные данные — числа, строки, вложенные объекты, массивы. Поле binary опционально и хранит бинарные данные (файлы, изображения, PDF-документы) вместе с метаданными (mime-type, filename, размер) Data Structure Docs.

Индивидуальная обработка items

Фундаментальный принцип n8n: каждая нода обрабатывает каждый item независимо. Если на вход приходит массив из пяти items, нода выполнит свою операцию пять раз — по одному разу для каждого item. Результат тоже будет массивом из пяти items (если нода не фильтрует и не агрегирует данные).

Этот дизайн называется «run-once-per-item» и существенно упрощает рассуждения о поведении workflow: вам не нужно думать о том, как нода обрабатывает весь массив целиком — достаточно понять, что она делает с одним элементом.

Исключение составляет нода Code, которая может работать либо в режиме «Run Once for All Items», либо «Run Once for Each Item». Первый режим даёт полный контроль над всем массивом, второй — следует стандартному принципу индивидуальной обработки Data Structure Docs.

Expression Syntax

Expressions — механизм доступа к данным внутри полей параметров нод. Синтаксис двойных фигурных скобок позволяет ссылаться на данные предыдущей ноды:

// Доступ к полю текущего item
{{ $json.firstName }}

// Доступ к выходу конкретной ноды по имени
{{ $('My Previous Node').item.json.lastName }}

// Доступ к metadata выполнения
{{ $execution.id }}
{{ $execution.mode }}

// Работа с датами
{{ $now.format('yyyy-MM-dd') }}
{{ DateTime.now().plus({ days: 7 }).toFormat('yyyy-MM-dd') }}

Expression engine реализован в пакете n8n-workflow и поддерживает богатый набор функций: строковые операции, математические вычисления, форматирование дат (Luxon), работа с массивами и объектами Data Structure Docs.

Автоматическая обёртка (Auto-wrap)

Начиная с версии 0.166.0, при использовании нод Function или Code, если нода возвращает простой объект { key: value } вместо массива [{ json: { key: value } }], n8n автоматически оборачивает его в требуемый формат. Аналогично, если возвращена строка или число, оно будет обёрнуто как { json: { data: <value> } }. Это поведение применяется только к Function/Code нодам — при разработке кастомных нод вы обязаны явно следовать спецификации INodeExecutionData[] Data Structure Docs.

Пара слов о pairedItem

При отладке полезно знать о механизме pairedItem — связи между входящими и исходящими items. Когда нода фильтрует данные, n8n сохраняет информацию о том, какой выходной item соответствует какому входному. Это позволяет трассировать путь данных через цепочку нод в интерфейсе отладчика.

Поток данных в AI-контексте

Особенность AI-нод заключается в том, что многие из них нарушают правило «one-output-per-input». Например, AI Agent может вернуть один ответ на основе нескольких входных items, или Vector Store Retrieve вернёт переменное число чанков в зависимости от запроса. Поэтому при работе с AI-нодами важно проверять форму выходных данных через панель Output в редакторе, прежде чем предполагать конкретную структуру.

Ещё одна тонкость: поле $json.chatInput автоматически заполняется Chat Trigger-нодой и содержит текст текущего сообщения пользователя. Оно служит стандартным входом для AI Agent:

// В AI Agent ноде, выражение для получения пользовательского ввода:
{{ $json.chatInput }}

При использовании других triggers (Webhook, Telegram) входные данные приходят в иной структуре, и mapping может потребоватьсяручная настройка через Set-ноду или expressions Data Structure Docs.

6. AI-возможности n8n: LangChain интеграция

Интеграция n8n с LangChain — одно из самых значимых событий в экосистеме low-code/no-code AI. Вместо того чтобы изобретать свой велосипед для взаимодействия с LLM, n8n полностью приняла зрелый фреймворк LangChain JS, адаптировав его концепции под парадигму визуальных workflows LangChain in n8n Docs.

Поддержка AI/LangChain доступна начиная с версии 1.19.4 и выше.

Архитектура интеграции

n8n не просто «оборачивает» LangChain вызовы в визуальную оболочку — он переосмысливает компоненты LangChain как cluster-ноды. Абстрактные понятия LangChain (Agent, Chain, Retriever, Tool) становятся визуальными блоками на canvas, которые можно комбинировать перетаскиванием, не жертвуя глубиной контроля.

Root Nodes (корневые кластерные ноды)

Root nodes — точки входа в AI-subgraph. Они определяют стратегию работы AI-системы:

AI Agent — автономный интеллектуальный агент. Получает задачу, самостоятельно решает какие инструменты вызвать, сколько итераций выполнить, и формирует итоговый ответ. Это самая мощная и гибкая root-нода AI Agent Node Docs.

Chains — детерминированная последовательность шагов: LLM → Prompt Template → Output Parser. В отличие от агента, chain не обладает autonomy — каждый следующий шаг заранее определён. Подходит для воспроизводимых трансформаций (перевод, суммаризация, экстракция).

Vector Stores — интерфейс к векторным базам данных. Позволяет вставлять документы (Insert) и искать ближайшие векторы (Retrieve). Работает как самостоятельный entry point для RAG-pipelines.

LangChain Code — возможность написать произвольный LangChain JS-код внутри ноды. Даёт полную свободу, но лишает визуального редактирования. Применяется, когда готовые комбинации нод не покрывают потребностей.

Sub-Nodes (подноды)

Sub-nodes подключаются к root node и поставляют конкретные компоненты:

Language Models

Провайдеры LLM, которые будут использоваться для генерации текста и принятия решений:

  • OpenAI (GPT-4o, GPT-4o-mini, o1-family)
  • Anthropic (Claude 3.5 Sonnet, Claude 3 Opus)
  • Mistral (Mistral Large, Mixtral)
  • Ollama — локальные модели через Ollama runtime
  • AWS Bedrock — managed ML service Amazon
  • Cohere (Command-R+, embed-v3)
  • HuggingFace — тысячи моделей через HF Inference API

Memory

Управление контекстом разговора (conversation history):

  • Window Buffer Memory — хранит последние N сообщений диалога, отсекая старые
  • Simple Memory — простое хранилище ключ-значение для произвольного контекста

Без Memory агент «не помнит» предыдущие реплики пользователя, что непригодно для многоходовых диалогов.

Tools

Инструменты, которые агент может вызывать для выполнения действий:

  • HTTP Request Tool — совершение HTTP-запросов к любым API
  • MCP Client Tool — подключение к внешним MCP-серверам (см. раздел 10)
  • Любая обычная нода n8n как Tool — уникальная особенность: любую существующую ноду (Slack, Gmail, GitHub...) можно подключить к агенту как инструмент, расширяя его возможности практически безгранично

Embeddings

Генераторы векторных представлений текста:

  • OpenAI Embeddings (text-embedding-3-small/large, ada-002)
  • Cohere Embeddings (embed-multilingual-v3)
  • Ollama Embeddings (локальные модели)
  • HuggingFace Embeddings
  • Mistral Embeddings

Embeddings используются для индексации документов в vector stores и семантического поиска.

Document Loaders

Загрузчики сырых данных из различных источников для подачи в RAG pipeline:

  • Загрузка из файлов (PDF, TXT, CSV, JSON)
  • Из веб-страниц (URL scraping)
  • Из облачных хранилищ (Google Drive, S3)
  • Из баз данных

Text Splitters

Разделители длинных документов на чанки (chunks) для векторизации:

  • Character Text Splitter — разбивка по символам с overlap
  • Recursive Character Text Splitter — рекурсивная разбивка с учётом структуры документа (рекомендуется)
  • Token Text Splitter — разбивка по количеству токенов

Output Parsers

Структурирование выхода LLM в машинно-читаемый формат (JSON, списки, enums).

Retrievers

Интерфейсы поиска по проиндексированным документам. Векторный retriever берёт запрос пользователя, эмбеддингует его, ищет k-nearest соседей в vector store и возвращает найденные документы как контекст для LLM RAG in n8n Docs.

7. AI Agent Node: как работает

AI Agent Node — сердце AI-возможностей n8n. Понимание механики этой ноды необходимо для осмысленного проектирования любых рабочих процессов на базе ИИ.

Определение агента

Агент в терминологии n8n — это автономная система, которая: (1) получает вводные данные, (2) принимает решения на основе этих данных и возможностей имеющихся инструментов, (3) действует — вызывает выбранные инструменты, (4) оценивает результаты и формирует финальный ответ пользователю. В отличие от простой цепочки (chain), агент обладает свободой выбора: он сам определяет, какие инструменты нужны в данной ситуации и сколько итераций потребуется AI Agent Node Docs.

Единственный тип: Tools Agent

Начиная с версии 1.82.0 все варианты AI Agent были консолидированы в единый тип — Tools Agent. Согласно официальной документации, «This has now been removed and all AI Agent nodes work as a Tools Agent» AI Agent Node Docs. Среди ранее доступных типов, согласно данным сообщества и архивной документации, были Conversational Agent, OpenAI Functions Agent, Plan and Execute Agent, ReAct Agent, SQL Agent и ряд других (сообщество n8n).

Вероятная причина консолидации — распространение нативной поддержки вызова функций (function/tool calling) в современных LLM (GPT-4o, Claude 3.5 Sonnet и др.), благодаря чему специализированные промежуточные форматы взаимодействия с моделями стали избыточными. Однако официальная документация лишь констатирует факт объединения, не приводя его обоснования.

Tools Agent реализует интерфейс вызова инструментов (tool calling interface) из LangChain: модель получает описание доступных инструментов и их схемы (schemas) и сама решает, какие из них вызвать с какими аргументами Tools Agent Docs.

Обязательные и опциональные компоненты

Минимальная конфигурация AI Agent включает:

Компонент Обязательность Тип sub-node Описание
Chat Model (LLM) ✅ Обязательно Language Model «Мозг» агента — модель, принимающая решения и генерирующая текст
Tools ✅ Минимум 1 Tool sub-node Действия, которые агент может выполнять
System Message ⚙️ Настраивается Параметр корневой ноды Системный промпт, задающий поведение и личность агента
Memory 🔧 Опционально Memory sub-node Контекст разговора в пределах текущей сессии

Документация явно указывает: к AI Agent необходимо подключить хотя бы один tool sub-node и одну chat model AI Agent Node Docs. System Message — это не sub-node, а параметр самой ноды AI Agent (настраивается в разделе Node Options). Memory опциональна, но без неё агент не будет сохранять историю диалога в рамках одного сеанса общения. При этом важно учитывать: согласно официальной документации, память не сохраняется между сессиями — после окончания сессии чата история теряется Tools Agent Docs.

Tools Agent поддерживает следующие модели: OpenAI Chat Model, Groq Chat Model, Mistral Cloud Chat Model, Anthropic Chat Model, Azure OpenAI Chat Model Tools Agent Docs.

Цикл выполнения агента (Agent Loop)

Работа Tools Agent следует итеративному алгоритму, иногда называемому agentic loop или ReAct-циклом (Reason + Act):

  1. Получение запроса — пользовательский промпт поступает в агент (из предыдущей ноды или через Chat Trigger).
  2. Анализ и выбор инструментов — LLM анализирует запрос, определяет, какие инструменты нужны, и формирует вызовы с аргументами.
  3. Выполнение инструментов — n8n выполняет выбранные инструменты и возвращает результаты модели.
  4. Оценка результатов — LLM анализирует результаты: если информации недостаточно, цикл повторяется (возврат к шагу 2); если достаточно — формируется финальный ответ.

Цикл продолжается, пока LLM не сочтёт, что собрана достаточная информация для окончательного ответа. Количество итераций ограничено настройкой Max Iterations (по умолчанию — 10) Tools Agent Docs. При достижении лимита итераций выполнение завершается; точное поведение (что именно возвращается пользователю) зависит от версии n8n и внутреннего состояния агента на момент остановки.

Ноды-как-инструменты (Nodes-as-Tools)

Одна из ключевых особенностей n8n — возможность подключить многие стандартные ноды к AI Agent как Tool sub-node. Например, можно добавить ноду GitHub, Slack, PostgreSQL, HTTP Request, Code или даже целый суб-рабочий процесс (через ноду Call n8n Workflow), и агент сможет обращаться к ним по мере необходимости Tools Agent Docs. Это принципиальное преимущество n8n перед программными фреймворками вроде LangGraph или CrewAI: там для подключения каждого нового сервиса обычно требуется написать код (хотя и существуют встроенные абстракции — декораторы @tool, классы StructuredTool и библиотеки интеграций), тогда как n8n предоставляет готовые операции для сотен приложений визуально, без написания кода Strapi Guide.

При подключении ноды-как-инструмента n8n формирует для неё объявление (declaration), включающее название, описание и схему параметров, чтобы LLM могла корректно определить, когда и как вызвать данный инструмент. Этот механизм является частью внутренней архитектуры платформы и основан на общем принципе предоставления LLM машинно-читаемого описания доступных действий.

Для динамического заполнения параметров инструментов используется функция $fromAI() — она позволяет агенту самостоятельно определять значения параметров при вызове ноды, что особенно полезно для параметров, которые невозможно задать статически. Важно: $fromAI() работает только с инструментами, подключёнными непосредственно к AI Agent node; эта функция не применяется к ноде Code tool и другим sub-node, не являющимся инструментами [$fromAI() Docs]. Активировать функцию можно двумя способами: нажав специальную кнопку в интерфейсе параметра ноды (UI toggle), которая автоматически вставит выражение $fromAI(), либо вручную прописав вызов функции в поле Expression.

Дополнительные возможности

Human-in-the-loop. n8n позволяет требовать подтверждение человека перед выполнением определённых инструментов. Это критично для инструментов, выполняющих необратимые действия (отправка сообщений, удаление записей, изменение данных). При срабатывании такого инструмента рабочий процесс приостанавливается и отправляет запрос на подтверждение через выбранный канал (Chat, Slack, Telegram и др.) [Human-in-the-loop Docs].

Streaming. По умолчанию AI Agent отправляет данные пользователю в реальном времени по мере генерации ответа. Для корректной работы streaming требуется триггер, поддерживающий потоковые ответы (Chat Trigger или Webhook с режимом Streaming) Tools Agent Docs.

Require Specific Output Format. Агент можно настроить на обязательный формат вывода, подключив output parser sub-node. Это полезно, когда результат должен соответствовать строгой схеме (например, JSON с заданными полями) Tools Agent Docs.

Return Intermediate Steps. Опция, позволяющая включить в финальный вывод все промежуточные шаги агента. Полезна для отладки и последующей оптимизации поведения агента Tools Agent Docs.

8. Паттерны AI-агентных workflows

Опыт сообщества n8n и практика внедрения AI-агентов выявили ряд устойчивых архитектурных паттернов. Каждый паттерн подходит для определённых сценариев и характеризуется своими компромиссами AI Agentic Workflows Blog Product Compass AI Agent Architectures.

8.1. Chained Requests (цепочка запросов)

Самый простой паттерн: последовательность предопределённых вызовов разных LLM или prompts, где выход одной ноды становится входом другой. Никакой автономии — маршрут фиксирован.

[Prompt A] → [LLM #1] → [Prompt B] → [LLM #2] → [Output]

Когда использовать:

  • Детерминированные pipelines: перевод → суммаризация → форматирование
  • Когда каждый шаг чётко определён и не требует принятия решений
  • Простой enrichment данных (sentiment analysis + entity extraction)

Преимущества:

  • Предсказуемость результата — легко тестировать и отлаживать
  • Минимальный расход токенов — нет agent-loop overhead
  • Легче обеспечить compliance и аудит

Ограничения:

  • Не способен реагировать на неожиданные ситуации
  • Любое изменение логики требует перепроектирования workflow
  • Не подходит для задач, где порядок действий неизвестен заранее

Реализация в n8n: прямое соединение нескольких LLM Chain нод или обычных нод с HTTP Request/OpenAI.

8.2. Single Agent (единый агент)

Один AI Agent с набором инструментов и (опционально) памятью. Агент автономно решает, какие инструменты использовать и в каком порядке.

[User Input] → [AI Agent] ⇄ [Tool 1]
                     ⇄ [Tool 2]
                     ⇄ [Tool 3]
              → [Final Response]

Когда использовать:

  • Интерактивные чат-боты с доступом к нескольким API
  • Помощники, которым нужна информация из разных источников
  • Customer support с escalation-path через инструменты

Преимущества:

  • Гибкость — агент адаптируется к разнообразным запросам
  • Единая точка ответственности — проще мониторить и логировать
  • Хорошо работает с числом инструментов ≤ 10–15

Ограничения:

  • При большом числе инструментов LLM начинает путаться («choice overload»)
  • Один агент не может быть экспертом во всём — качество ответов снижается при широкой доменной области
  • Rate limiting: если агент интенсивно обращается к одному API, возможны throttle-проблемы

8.3. Multi-Agent with Gatekeeper (мультиагентная система с привратником)

Главный агент (Gatekeeper/Router) принимает входящий запрос и делегирует его специализированному подчинённому агенту. Подчинённые агенты сфокусированы на своей предметной области и оснащены соответствующим набором инструментов.

                  [Gatekeeper Agent]
                   ↙     ↓     ↘
          [Sales Agent] [Tech Agent] [HR Agent]
              ↓             ↓           ↓
          [Reply]       [Reply]     [Reply]
              ↘             ↓     ↙
              [Combined / Selected Response]

Когда использовать:

  • Организации с чёткими департаментскими границами
  • Support-системы с routing по категориям вопросов
  • Когда разные домены требуют разных наборов инструментов и знаний

Преимущества:

  • Каждый subordinate agent имеет меньший toolkit → меньше confusion
  • Лучшее качество ответов благодаря специализации
  • Возможность раздельного управления доступом к sensitive-tools

Ограниченности:

  • Gatekeeper может некорректно маршрутизировать (ambiguity boundary problem)
  • Добавлена latency: дополнительный round-trip на этапе роутинга
  • Более высокая стоимость token consumption (gatekeeper + specialist)

Реализация в n8n: Gatekeeper — AI Agent с инструментом Switch/Routing, перенаправляющим на разные sub-workflows, каждый из которых содержит своего собственного AI Agent.

8.4. Multi-Agent Teams (мультиагентные команды)

Несколько равноправных агентов работают совместно над общей задачей. Возможны три варианта организации:

Mesh (сетевой): агенты общаются peer-to-peer, каждый может обратиться к любому другому. Отличается гибкостью, но трудно прогнозируем.

Hierarchical (иерархический): менеджер-агент распределяет задачи, собирает результаты, формирует synthesis. Более управляем, но bottleneck на уровне manager.

Hybrid (гибридный): сочетает элементы mesh и hierarchy — группы специалистов внутри team с внутренними лидерами.

[Hierarchical]

        [Manager Agent]
        ↙      ↓      ↘
  [Researcher] [Writer] [Reviewer]
      ↑          ↑         ↑
      └──────────┴─────────┘
           Feedback Loop

Когда использовать:

  • Сложные задачи, требующие сотрудничества разных экспертных областей
  • Research & Analysis pipelines (research → draft → review → refine)
  • Automated reporting systems

Преимущества:

  • Высочайшая гибкость и coverage проблемного пространства
  • Параллельное выполнение подзадач разными агентами
  • Emergent behavior — синергия специализаций

Ограничения:

  • Значительный overhead по токенам и времени
  • Debugging complexity: труднее проследить источник ошибки
  • Risk of infinite loops при неправильной коммуникации между агентами
  • Стоимость пропорциональна числу агентов × числу итераций

В n8n multi-agent teams обычно реализуются через цепочку AI Agent нод, связанных через Intermediate Flow ноды (Set, Merge, Switch), где выход одного агента (intermediate conclusion) питает вход другого AI Agentic Workflows Blog.

9. RAG в n8n

Retrieval-Augmented Generation (RAG) — методология улучшения качества ответов LLM путём обогащения промпта релевантными данными, извлечёнными из внешнего источника. Без RAG модель ограничена знаниями, заложенными на момент обучения; с RAG — она получает актуальную, специфичную информацию из вашей корпоративной базы знаний RAG in n8n Docs.

Зачем нужен RAG?

  • Актуальность: обучающие данные LLM устаревают; RAG доставляет свежую информацию
  • Специфичность: корпоративные регламенты, продукт-доки, юридические договоры — всё это вне training corpus
  • Снижение галлюцинаций: наличие цитируемого источника резко уменьшает вероятность выдуманных фактов
  • Audit trail: известно, откуда взят каждый факт в ответе

Vector Store: основа RAG

Vector Store (векторное хранилище) — специализированная база данных, хранящая числовые представления (эмбеддинги) текстовых фрагментов и поддерживающая быстрый поиск k-nearest neighbours в пространстве высокой размерности.

n8n поддерживает следующие векторные хранилища:

Хранилище Тип Особенности
Simple Vector Store Built-in Встроенное хранилище в оперативной памяти; удобно для prototyping, не переживает рестарт
PGVector Self-hosted Расширение PostgreSQL для векторного поиска; recommended для production self-hosted
Pinecone Managed Cloud Fully-managed vector DB; масштабируется автоматически
Qdrant Self-hosted / Cloud High-performance vector similarity search; Rust-based
Supabase Managed Cloud Postgres + pgvector как часть Supabase ecosystem
Zep Specialized Optimised для conversation memory и долгосрочный context

RAG in n8n Docs

Pipeline загрузки данных (Ingestion)

Перед тем как осуществлять retrieval, необходимо проиндексировать документы. Типичный ingestion pipeline в n8n выглядит следующим образом:

[Document Source]       ← Fetch данных (HTTP Request, Google Drive, Manual)
       ↓
[Default Data Loader]   ← Загрузка сырого содержания
       ↓
[Text Splitter]         ← Разбивка на чанки (chunks)
       ↓
[Embedding Model]       ← Преобразование текста в векторы
       ↓
[Vector Store Insert]   ← Запись векторов + метаданных в БД

Пример конфигурации Text Splitter (Recursive Character):

{
  "chunkSize": 1000,
  "chunkOverlap": 200,
  "separators": ["\n\n", "\n", ". ", " ", ""]
}

Здесь chunkSize — максимальная длина чанка в символах, chunkOverlap — количество перекрывающих символов между соседними чанками (сохраняет контекст на границах). Separators задают приоритет разделителей: сначала по абзацам, затем по строкам, предложениям, пробелам RAG in n8n Docs.

Запросы к RAG-системе

После индексации доступны два режима запроса:

Через AI Agent (Vector Store как Tool): подсоедините Vector Store sub-node к AI Agent. Агент автоматически обратится к нему, когда вопрос касается проиндексированных данных. Преимущество — seamless integration; агент сам решает, нужен ли retrieval.

Напрямую через Vector Store ноду (Get Many): явный вызов Vector Store retrieve operation. Вы задаёте запрос, получаете top-k релевантных чанков и далее подаёте их в LLM через prompt. Преимущество — полный контроль над retrieved context и прозрачность процесса.

Выбор embedding-модели

Выбор модели эмбеддингов определяется балансом стоимости, качества и латентности:

  • text-embedding-3-small (OpenAI) — хороший баланс цена/качество для большинства задач; 1536 измерений
  • text-embedding-3-large (OpenAI) — максимум качества для сложных доменов; 3072 измерения, выше стоимость
  • text-embedding-ada-002 (OpenAI) — legacy-модель, дешевле, но уступает новым версиям
  • embed-multilingual-v3 (Cohere) — лучшая multilingual поддержка, включая русский язык
  • Локальные модели через Ollama — zero cost после установки, подходят для privacy-sensitive scenarios

Правило thumb: начинайте с малой модели (small/ada), переходите к большой (large) только если наблюдаете poor recall при testing RAG in n8n Docs.

Стратегии разбиения текста

Стратегия Алгоритм Когда применять
Character Разрезает по первому попавшемуся разделителю из списка Простые uniform-тексты (log files, plain text)
Recursive Character Последовательно пытается резать по каждому уровню разделителей (абзац → строка → предложение → слово) Большинство реальных документов (HTML, Markdown, статьи) — рекомендуемый вариант
Token Разрезает точно по количеству токенов модели Когда критично точное соблюдение token-budget (например, tight context window)

Перекрытие (overlap) между чанками критически важно: без него смысл на границе двух чунков теряется. Рекомендуемое значение overlap — 10–20% от chunk_size RAG in n8n Docs.

10. MCP (Model Context Protocol) в n8n

Model Context Protocol (MCP) — открытый стандарт, предложенный компанией Anthropic в конце 2024 года, предназначенный для универсального подключения AI-приложений к внешним инструментам и источникам данных. MCP позиционируется как «USB-C для AI»: единый протокол, через который любой MCP-совместимый клиент может обращаться к любому MCP-совместимому серверу MCP Client Tool Docs.

Почему MCP важен?

До появления MCP каждая AI-платформа реализовала собственные SDK для работы с инструментами: OpenAI Function Calling, LangChain Tools, Anthropic Tool Use. Инструмент, написанный для одной экосистемы, не работал в другой. MCP стандартизирует интерфейс: один MCP-сервер экспонирует свои capabilities одинаково для любого клиента.

n8n как MCP Client

Нода MCP Client Tool (из пакета @n8n/nodes-langchain) позволяет AI Agent в n8n подключаться к внешнему MCP-серверу и использовать его инструменты как свои own. Таким образом, если ваша организация уже имеет MCP-сервер с инструментами (например, для работы с CRM, ERP или внутренних микросервисов), агент n8n может мгновенно получить к ним доступ без написания кастомных нод.

Конфигурация MCP Client Tool:

{
  "connectionType": "sse",
  "serverUrl": "http://my-mcp-server:3000/sse",
  "headers": {}
}

Или для stdio transport (локальный процесс):

{
  "connectionType": "stdio",
  "command": "python",
  "arguments": ["path/to/mcp_server.py"]
}

MCP Client Tool автоматически обнаруживает доступные инструменты на сервере, генерирует их descriptions и делает видимыми для LLM внутри AI Agent MCP Client Tool Docs.

n8n как MCP Server

Существует и обратный сценарий: сторонние проекты, такие как n8n-mcp-server, позволяют другим AI-приложениям (Cursor IDE, Claude Desktop и т.д.) управлять n8n workflows через MCP. То есть внешний AI-клиент может создавать, активировать, деактивировать и запускать n8n workflows через стандартный MCP-протокол.

Такая двунаправленная роль (client ↔ server) делает n8n центральным hub в растущей экосистеме MCP-инструментов.

Встроенный MCP Client Tool vs community-пакет n8n-nodes-mcp

Выше описан встроенный MCP Client Tool из пакета @n8n/nodes-langchain — это sub-node, подключаемая к AI Agent для вызова внешних MCP-tool servers изнутри workflow. Существует также community-пакет n8n-nodes-mcp, который предоставляет дополнительные MCP-интеграции, не входящие в стандартную поставку n8n. Установка community-пакета:

  1. Открыть Settings → Community Nodes
  2. Нажать Install a community node
  3. Ввести: n8n-nodes-mcp
  4. После установки дополнительные MCP-related ноды станут доступны в панели нод

Когда нужен community-пакет: если встроенный MCP Client Tool не покрывает ваши потребности (например, требуется специфический transport или расширенная конфигурация). Для большинства сценариев достаточно встроенной ноды.

11. Безопасность и управление доступом

Безопасность — критический аспект любой платформы автоматизации, а для AI-агентов, обладающих правом выполнять реальные действия (отправлять письма, изменять данные, делать API-звонки), вопросы безопасности приобретают ещё большую остроту.

Шифрование учётных данных (Credentials Encryption)

Все credentials (учётные данные: API-ключи, пароли, tokens), хранящиеся в n8n, шифруются симметричным алгоритмом AES с использованием ключа, заданного переменной окружения N8N_ENCRYPTION_KEY. Без этого ключа невозможно расшифровать сохранённые credentials — ни в базе данных, ни при экспорте конфигурации.

# Обязательно задайте encryption key в production!
N8N_ENCRYPTION_KEY=<случайная_строка_минимум_32_символа>

⚠️ Критическое предупреждение: потеря N8N_ENCRYPTION_KEY означает необратимую утрату доступа ко всем сохранённым credentials. Резервное копирование этого ключа должно быть первым приоритетом при настройке n8n.

RBAC: Role-Based Access Control

n8n Enterprise поддерживает RBAC — разграничение прав доступа на основе ролей. Администратор может определить проекты (workspaces), назначить пользователей на роли (Admin, Editor, Viewer) и ограничить доступ к конкретным workflows и credentials. Это особенно важно в командах, где разные сотрудники отвечают за разные автоматизации.

SSO: Single Sign-On

Для крупных организаций n8n Enterprise интегрируется с корпоративными identity provider через:

  • OAuth2 — стандартный протокол авторизации
  • SAML 2.0 — широко распространённый в enterprise SSO-решениях (Okta, Azure AD, OneLogin)

SSO исключает необходимость ведения отдельных учётных записей n8n и централизует управление доступом через IdP.

Audit Logs

Журналирование аудита (Audit Logging) фиксирует все значимые события: кто изменил workflow, кто активировал/деактивировал его, какие credentials были затронуты, какие executions произошли. Доступно в Enterprise edition и критически важно для regulated industries (finance, healthcare).

Песочница для выполнения кода (@n8n/task-runner)

Выполнение пользовательского кода (JavaScript, Python) в ноде Code потенциально опасно: бесконечные циклы, утечка памяти, доступ к файловой системе. Пакет @n8n/task-runner решает эту проблему, выполняя код в изолированном sandbox-процессе с лимитами:

  • Таймаут выполнения (по умолчанию 60 секунд)
  • Ограничение памяти
  • Запрещён доступ к сети (опционально configurable)
  • Запрещён прямой доступ к файловой системе хоста

Task Runner взаимодействует с основным процессом через IPC/gRPC, минимизируя поверхность атаки.

SSRF Protection

Server-Side Request Forgery (SSRF) — атака, при которой злоумышленник заставляет сервер выполнить нежелательный HTTP-запрос к внутренним ресурсам. n8n реализует защиту от SSRF: проверка IP-адресов целевых хостов, запрет обращения к private/internal сетям (127.0.0.1, 192.168.x.x, 10.x.x.x), blocklisted domains.

Self-hosted: полный контроль

Главная безопасность self-hosted deployment — ваши данные остаются на ваших серверах. Это позволяет:

  • Air-gapped deployments — полная изоляция от интернета (для military, government, highly-regulated sectors)
  • Соблюдение региональных законов о хранении данных (GDPR, ФЗ-152)
  • Интеграция с corporate VPN/firewall правилами
  • Full control над lifecycle management (patches, backups, disaster recovery)

n8n Security Overview

12. Self-hosted AI Starter Kit

Для тех, кто хочет быстро начать работу с AI-агентами полностью на собственных серверах, n8n выпустил Self-hosted AI Starter Kit — готовый Docker Compose шаблон, включающий всю необходимую инфраструктуру для локальных AI workflows Self-hosted AI Starter Kit GitHub.

Состав комплекта

Компонент Назначение Порт
n8n Платформа автоматизации и AI-агентов 5678
Ollama Локальный inference-сервер для LLM 11434
Qdrant Векторная база данных для RAG 6333
PostgreSQL Реляционная БД для persistence n8n 5432

Эта комбинация покрывает полный стек AI-автоматизации: n8n orchestrate, Ollama генерирует текст через локальные модели, Qdrant хранит векторные представления для semantic search, PostgreSQL обеспечивает надёжноепостоянное хранение.

Быстрый старт

git clone https://github.com/n8n-io/self-hosted-ai-starter-kit.git
cd self-hosted-ai-starter-kit
cp .env.example .env
# Отредактируйте .env: укажите пароль БД, encryption key и т.д.
docker compose up -d

После запуска откройте браузер: http://localhost:5678 — вас встретит мастер начальной настройки n8n.

CPU и GPU профили

Starter kit поддерживает два профиля запуска:

CPU profile (по умолчанию): работает на любой машине. Производительность ограничена, но sufficient для experimentation и небольших моделей (Llama 3.2 1B/3B, Phi-3 mini).

GPU profile: активируется через Docker GPU passthrough (NVIDIA CUDA). Кардинально ускоряет inference, позволяя использовать крупные модели (Llama 3.1 70B, Mixtral 8x7B).

# В docker-compose.yml для GPU
services:
  ollama:
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: all
              capabilities: [gpu]

Или через профиль:

docker compose --profile gpu up -d

Полностью локальные AI workflows

Ключевое преимущество starter kit — нулевой outbound traffic к облачным AI-сервисам. Все данные, все модели, вся обработка происходят внутри вашего perimeter. Это идеальный вариант для:

  • Организаций с политикой zero-data-exfiltration
  • Prototype stage, когда расходы на API ещё не одобрены бюджетом
  • Compliance-requirements (HIPAA, PCI DSS, государственные регуляции)
  • Offline environments (ships, remote sites, classified networks)

Однако стоит учитывать компромиссы: качество локальных моделей (особенно малых) заметно уступает GPT-4/Claude 3.5, а hardware-cost для сопоставимого качества весьма высок Self-hosted AI Starter Kit GitHub.

13. Расширение: создание кастомных нод

Одна из сильных сторон n8n — расширяемость. Если среди 400+ встроенных нод нет нужной интеграции, разработчик может создать собственную и опубликовать её для сообщества.

Starter Template

Отправная точка — официальный репозиторий n8n-nodes-starter, содержащий boilerplate проект с настроенным TypeScript, ESLint, Jest и примерами нод n8n GitHub.

git clone https://github.com/n8n-io/n8n-nodes-starter.git my-custom-nodes
cd my-custom-nodes
npm install

INodeType Interface

Каждая нода обязана реализовать интерфейс INodeType из пакета n8n-workflow:

import {
  INodeType,
  INodeTypeDescription,
  IExecuteFunctions,
  INodeExecutionData,
} from 'n8n-workflow';

export class MyCustomNode implements INodeType {
  description: INodeTypeDescription;

  constructor() {
    this.description = {
      displayName: 'My Custom Node',
      name: 'myCustomNode',
      icon: 'file:myCustomNode.svg',
      group: ['transform'],
      version: 1,
      subtitle: '={{$parameter["operation"]}}',
      description: 'Does something custom',
      defaults: { name: 'My Custom Node' },
      inputs: ['main'],
      outputs: ['main'],
      properties: [
        // Определение параметров ноды...
      ],
    };
  }

  async execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]> {
    const items = this.getInputData();
    const returnData: INodeExecutionData[] = [];

    for (let i = 0; i < items.length; i++) {
      const item = items[i];
      // Ваша логика обработки каждого item
      returnData.push({
        json: {
          /* transformed data */
        },
      });
    }

    return [returnData];
  }
}

Два стиля определения нод

Imperative (императивный стиль): нода определяет метод execute(), в котором программист вручную пишет всю логику — формирование HTTP-запросов, обработку ответов, трансформацию данных. Максимальная гибкость, но больше boilerplate.

Declarative (декларативный стиль): вместо execute() нода определяет requestDefaults и список операций. n8n автоматически генерирует HTTP-вызовы на основе декларации. Это аналог OpenAPI-spec-driven clients: вы описываете WHAT, а n8n заботится о HOW.

// Декларативный пример
{
  requestDefaults: {
    baseURL: '=https://api.myservice.com/v1',
    headers: {
      Authorization: '=Bearer {{$credentials.apiKey}}',
    },
  },
  operations: [
    {
      name: 'getList',
      request: { method: 'GET', url: '/items' },
    },
    {
      name: 'createItem',
      request: { method: 'POST', url: '/items', body: '={{$parameter.body}}' },
    },
  ],
}

Декларативный стиль предпочтителен для CRUD-API wrappers: меньше кода, легче поддерживать, auto-generated documentation. Императивный — для сложной логики с branching, retries, conditional transformations.

Публикация и установка

  1. Сборка: npm run build (TypeScript → JavaScript)
  2. Публикация: npm publish — пакет должен иметь имя, начинающееся с n8n-nodes- или содержащее n8n-node-
  3. Установка пользователями: Settings → Community Nodes → Install → введите имя npm-пакета

n8n автоматически скачивает пакет из npm registry, регистрирует ноду и делает её доступной в палитре редактора. Никакого restart не требуется — hot-loading n8n GitHub.

Best Practices для кастомных нод

  • Всегда предусматривайте обработку ошибок с информативными сообщениями
  • Используйте this.helpers.request() вместо голого axios/node-fetch — это учитывает proxy settings, SSL config и credentials
  • Описывайте параметры максимально подробно — description попадает в tooltip в UI
  • Пишите unit tests (Jest) — особенно для transformation logic
  • Следуйте naming convention: n8n-nodes-{vendor} для package name, PascalCase для класса

14. Лицензирование и развёртывание

Модель лицензирования: Fair-code

n8n использует модель fair-code, которую нельзя однозначно отнести ни к open-source, ни к proprietary. Она базируется на двух лицензиях:

  • Sustainable Use License (SUL) — применяется по умолчанию. Исходный код открыт для изучения, форкинга и модификации, но коммерческое использование крупными конкурентами (>150 employees) запрещено без заключения Enterprise License
  • Enterprise License — снимает ограничения SUL для компаний, приобретающих коммерческую подписку

Три столпа модели fair-code:

Принцип Значение
Source Available Код всегдаоткрыт — любой может читать, аудитить, предлагать изменения
Self-Hostable Можно разворачивать где угодно: bare metal, VM, Kubernetes, Raspberry Pi
Some restrictions apply Ограничивается преимущественно competitive use, а не individual freedom

n8n GitHub LICENSE

Варианты развёртывания

Self-Hosted (самоуправляемое)

Полный контроль над infrastructурой. Бесплатно для большинства use cases (до порога SUL). Поддерживаютсяразличные способы:

# npm глобальная установка
npm install -g n8n
n8n start

# Docker
docker run -it --rm \
  -p 5678:5678 \
  -v ~/.n8n:/home/node/.n8n \
  -e N8N_ENCRYPTION_KEY=mykey \
  n8nio/n8n

# Docker Compose (production-ready)
version: '3'
services:
  n8n:
    image: n8nio/n8n
    ports:
      - "5678:5678"
    environment:
      - DB_TYPE=postgresdb
      - DB_POSTGRESDB_HOST=db
      - DB_POSTGRESDB_DATABASE=n8n
      - N8N_ENCRYPTION_KEY=${ENCRYPTION_KEY}
      - EXECUTIONS_MODE=queue
      - QUEUE_BULL_REDIS_HOST=redis
    depends_on:
      - db
      - redis

  db:
    image: postgres:16
    volumes:
      - postgres_data:/var/lib/postgresql/data
    environment:
      POSTGRES_DB: n8n
      POSTGRES_PASSWORD: ${DB_PASSWORD}

  redis:
    image: redis:7-alpine

  worker:
    image: n8nio/n8n
    command: worker
    environment:
      - EXECUTIONS_MODE=queue
      - QUEUE_BULL_REDIS_HOST=redis
      - DB_TYPE=postgresdb
      - DB_POSTGRESDB_HOST=db

volumes:
  postgres_data:

n8n Cloud

Managed SaaS-вариант: команда n8n handles updates, scaling, uptime, backups. Есть бесплатный trial. Pricing зависит от числа executions/month и количества участников команды — актуальные тарифы на n8n.io/pricing. Удобен для startups и SMB, не желающих заниматься DevOps.

Enterprise Edition

Добавляет к self-hosted варианту enterprise-grade features:

  • SSO (OAuth2, SAML) — интеграция с корпоративными IdP
  • RBAC — гранулярное управление доступом
  • Audit Logs — полное журналирование действий
  • Git Sync — синхронизация workflows с Git repository (infrastructure-as-code подход)
  • Multi-Main HA — high availability configuration
  • Log Streaming — real-time export логов в SIEM/log aggregation systems
  • Environment Variables Management — секреты и конфигурация через vault integrations

n8n Pricing

15. Практические примеры использования

Теория без практики мертва. Рассмотрим пять конкретных сценариев, каждый из которых демонстрирует различные возможности n8n как платформы AI-агентов.

15.1. Чат-бот с памятью

Простейший, но практически полезный AI-agent: чат-бот, который помнит контекст разговора.

Архитектура workflow:

[Chat Trigger] → [AI Agent] ⇄ [OpenAI Chat Model]
                          ⇄ [Window Buffer Memory]
                          ⇄ [System Message: "Ты полезный ассистент..."]

Ключевые настройки:

  • Chat Trigger открывает чат-панель прямо в UI n8n
  • Window Buffer Memory хранит последние 20 сообщений
  • System Message задаёт личность и правила поведения

Когда применять: внутренние helpdesk-боты, FAQ-ассистенты, onboarding helpers.

15.2. Telegram бот с инструментами

Бот в Telegram, способный выполнять действия: искать информацию, обращаться к API, генерировать отчёты.

Архитектура workflow:

[Telegram Trigger] → [AI Agent] ⇄ [Anthropic Claude 3.5 Sonnet]
                                ⇄ [Simple Memory]
                                ⇄ [HTTP Request Tool]
                                ⇄ [Wikipedia Tool]
                                ⇄ [Calculator Tool]
               → [Telegram Node: Send Message]

Ключевые настройки:

  • Telegram Trigger получает сообщения через long-polling или webhook
  • HTTP Request Tool позволяет агенту обращаться к любым REST API
  • После формирования ответа Telegram Node отправляет его пользователю

Когда применять: customer-facing bots, monitoring assistants, personal productivity bots.

15.3. RAG-система для поиска по документам

Корпоративная база знаний с семантическим поиском.

Ingestion workflow (запускается по расписанию или вручную):

[Schedule Trigger] → [Google Drive: Download Files]
                   → [Default Data Loader]
                   → [Recursive Character Text Splitter]
                     (chunkSize: 1000, chunkOverlap: 200)
                   → [OpenAI Embeddings (text-embedding-3-small)]
                   → [PGVector: Insert]

Query workflow (запускается при запросе пользователя):

[Chat Trigger] → [AI Agent] ⇄ [OpenAI Chat Model]
                          ⇄ [Window Buffer Memory]
                          ⇄ [PGVector Tool: Retrieve]
                          (top-k: 5, similarity threshold: 0.7)

Ключевые настройки:

  • PGVector выбран для production (переживает рестарт, масштабируется)
  • Recursive Character Splitter обеспечивает качественное разбиение с учётом структуры
  • Agent автоматически решает, нужен ли retrieval для данного запроса

Когда применять: internal knowledge bases, legal document search, technical documentation assistants.

15.4. Multi-agent система с gatekeeper

Система поддержки клиентов с маршрутизацией запросов по отделам.

Архитектура workflow:

[Chat Trigger] → [Gatekeeper Agent] ⇄ [OpenAI Chat Model]
                                   ⇄ [System Message: "Определи категорию..."]
                → [Switch Node]
                   ├── "technical" → [Tech Support Agent] ⇄ [Tools: Jira, Confluence]
                   ├── "billing"   → [Billing Agent]      ⇄ [Tools: Stripe, SAP]
                   └── "general"   → [General Agent]      ⇄ [Tools: FAQ DB]
                → [Merge] → [Final Response]

Ключевые настройки:

  • Gatekeeper анализирует запрос и классифицирует его (technical/billing/general)
  • Switch Node маршрутизирует к соответствующему specialist agent
  • Каждый specialist имеет свой toolkit и system prompt
  • Merge собирает ответы для формирования финального output

Когда применять: enterprise support systems, multi-department automation, complex service desks.

15.5. Автоматизация бизнес-процессов с AI

Полный цикл: от входящего email до сгенерированного ответа и обновления CRM.

Архитектура workflow:

[IMAP Email Trigger] → [AI Agent] ⇄ [OpenAI Chat Model]
                                 ⇄ [System Message: "Проанализируй письмо..."]
                                 ⇄ [HubSpot Tool: Update Contact]
                                 ⇄ [Slack Tool: Send Notification]
                                 ⇄ [PostgreSQL Tool: Log Interaction]
                      → [Gmail Node: Send Reply]

Что делает агент:

  1. Получает входящее письмо
  2. Анализирует содержание: определяет тему, тональность, приоритет
  3. Обновляет контакт в HubSpot (добавляет заметку, меняет статус)
  4. Отправляет уведомление в Slack ответственному менеджеру
  5. Логирует взаимодействие в PostgreSQL
  6. Генерирует и отправляет автоответ на email

Когда применять: customer communication automation, lead processing, incident management, any repetitive email-driven process.


Все перечисленные примеры можно найти в виде готовых шаблонов на n8n Workflow Templates — библиотеке community-contributed и official templates, импортируемых в один клик.

Ссылки (References)

  1. n8n Official Site — главная страница проекта n8n
  2. n8n GitHub Repository — исходный код, issues, contributing guidelines
  3. n8n AI Agents — страница, посвящённая AI-возможностям n8n
  4. n8n Advanced AI Documentation — официальная документация по advanced AI
  5. AI Agent Node Documentation — подробное описание AI Agent ноды
  6. LangChain in n8n — интеграция LangChain JS framework
  7. Queue Mode Scaling Documentation — масштабирование и Queue Mode
  8. Data Structure Documentation — модель данных n8n
  9. RAG in n8n — Retrieval-Augmented Generation
  10. AI Agentic Workflows Blog Post — паттерны AI-агентных workflows
  11. Introductory AI Tutorial — пошаговое введение в AI в n8n
  12. MCP Client Tool Documentation — Model Context Protocol в n8n
  13. Self-hosted AI Starter Kit — Docker Compose шаблон для локального AI stack
  14. DeepWiki: n8n Architecture — анализ архитектуры n8n
  15. DeepWiki: n8n Platform Architecture — детальный разбор платформенной архитектуры
  16. Build AI Agents with n8n (Strapi) — практическое руководство по созданию AI-агентов
  17. AI Agent Architectures (Product Compass) — сравнение архитектур AI-агентов
  18. n8n Pricing — тарифные планы n8n Cloud
  19. n8n-mcp-server (GitHub) — community-проект MCP Server для n8n
  20. n8n-nodes-mcp (npm) — community-пакет MCP-нод для n8n
  21. $fromAI() Function Documentation — динамическое заполнение параметров инструментов
  22. Human-in-the-loop Documentation — подтверждение человека перед выполнением инструментов

Экосистема вокруг n8n

Помимо core-платформы, вокруг n8n сформировалась развитая экосистема дополнительных инструментов и ресурсов:

  • Workflow Templates Library (n8n.io/workflows) — сотни готовых шаблонов, импортируемых одним кликом. Каждый шаблон содержит полностью configured workflow, который можно сразу протестировать и адаптировать под свои нужды.
  • n8n Community Forum (community.n8n.io) — активное сообщество разработчиков и пользователей, обсуждающих проблемы, делящихся решениями и публикующих custom nodes.
  • n8n CLI — помимо start и worker, CLI предоставляет команды import:workflow, export:workflow, update:settings, license:add и другие для scripting routine ops.
  • n8n API — полноценный REST API, позволяющий программно управлять workflows, executions, credentials и users. Документация доступна по адресу /api/v1/docs на вашем instance.

Экосистема непрерывно растёт: каждую неделю появляются новые community nodes, templates и интеграции. Это делает n8n не просто продуктом, а платформой с network effect — ценность возрастает по мере роста числа участников и contributors.

Сравнение с альтернативами

Чтобы лучше понять место n8n на рынке, кратко сопоставим его с основными конкурентами в сфере AI-агентных платформ. Данные актуальны на апрель 2026 года; конкуренты активно развивают AI-функциональность, и оценки могут устареть.

Критерий n8n Zapier Make (Integromat) LangGraph (code)
AI Agent native support ✅ LangChain clusters ❌ Limited AI actions ⚠️ Basic HTTP AI modules ✅ Full programmatic control
Visual builder ✅ Canvas (Vue 3) ✅ Linear wizard ✅ Visual scenario ❌ Code only
Self-hosted ✅ Free ❌ No ❌ No ✅ Anywhere
Custom code in flows ✅ JS/Python sandboxes ⚠️ Code Steps (limited) ⚠️ Custom functions ✅ Unlimited
Number of integrations 400+ 7000+ 1800+ Via code/API
Fair-code license ✅ Yes ❌ Proprietary ❌ Proprietary ✅ MIT/Apache
RAG built-in ✅ Vector Stores + Embeddings ❌ No ❌ No ⚠️ DIY with libraries
MCP support ✅ Native client/server ❌ No ❌ No ⚠️ Via langchain-mcp

Ключевое отличие n8n от Zapier и Make — нативная поддержка AI-агентов на уровне первого класса (first-class citizen), а не bolt-on модулей. От чисто code-first решений (LangGraph, CrewAI) n8n отличается dramatically lower barrier to entry: визуальный редактор позволяет non-developers создавать и модифицировать workflows, тогда как developer retains full control через expressions, Code ноды и custom nodes.

Советы по оптимизации AI-Workflows

При создании production-grade AI-агентов в n8n следует учитывать ряд практических аспектов, влияющих на стабильность, стоимость и скорость:

Управление контекстом LLM. Размер context window модели непосредственно влияет на стоимость и качество. Чем больше истории разговора и извлечённых документов (retrieved documents) вы передаёте, тем дороже обходится каждый вызов. Window Buffer Memory помогает ограничить историю, но важно подобрать размер окна: слишком короткое окно приводит к потере контекста, слишком длинное — к ненужным затратам. Эмпирическое правило: 10–20 последних обменов (exchanges) для разговорных ботов.

Rate Limiting провайдеров. При массовом использовании AI Agent (например, в Queue Mode с десятками workers) легко столкнуться с rate limit API-провайдеров. Решения: (1) распределить время выполнения (stagger execution timing) через Wait ноду, (2) распределить запросы между несколькими API keys, (3) использовать модели с высокой пропускной способностью (GPT-4o-mini вместо GPT-4o для простых задач классификации).

Idempotency и Retry Logic. AI Agent, вызывающие инструменты с побочными эффектами (side-effect tools: создание записей в CRM, отправка писем), должны быть спроектированы с учётом возможности дублирования выполнения (duplicate execution). n8n поддерживает политики повторных попыток (retry policies) на уровне настроек workflow, но ключи идемпотентности на уровне приложения (application-level idempotency keys) — ответственность разработчика workflow.

Cost Monitoring. Каждый вызов LLM стоит денег. В n8n нет встроенного учёта использования токенов (metering token usage), поэтому рекомендуется: (1) логировать количество input/output токенов через Code ноду после каждого вызова AI Agent, (2) агрегировать статистику во внешнем дашборде (Grafana, Datadog), (3) устанавливать алерты при превышении дневного бюджета.

Testing и Versioning. Перед внесением изменений в production workflow создавайте копию (duplicate) и тестируйте изменения на изолированных тестовых данных. n8n не имеет встроенного версионирования workflows (enterprise-фича Git Sync частично решает это), поэтому дисциплина ручного тегирования (manual tagging) и соглашения об именовании (naming conventions) играют ключевую роль.