Создание AI-агентов в n8n с Ollama: локальные LLM для автоматизации | Гайд 2026 | AiManual
AiManual Logo Ai / Manual.
20 Апр 2026 Гайд

Пошаговое руководство по созданию AI-агентов в n8n с локальными LLM через Ollama

Полное руководство по настройке AI-агентов в n8n с локальными языковыми моделями через Ollama. Пошаговая инструкция, интеграция, примеры workflow.

Зачем заморачиваться с локальными моделями, если есть OpenAI?

Потому что облачные API - это черный ящик. Вы платите за токены, ваши данные утекают непонятно куда, а скорость ответа зависит от загрузки серверов где-то в Айове. Локальный агент на Ollama и n8n - это принципиально другая история. Он работает когда угодно, не отправляет ваши бизнес-секреты в облако и может быть расширен любым workflow, который вы придумаете.

Представьте, что ваш AI-агент не просто болтает, а реально работает: парсит почту, обновляет базы данных, генерирует отчеты и даже управляет умным домом. И все это без единой строчки кода (ну, почти). Звучит как фантастика? Это реальность 2026 года.

Важно: этот гайд написан для актуальных версий на 20 апреля 2026 года. Если вы читаете это позже, проверьте обновления - мир локальных LLM меняется каждый месяц.

Что у нас под капотом?

Архитектура до смешного проста:

  • Ollama - движок для запуска локальных моделей вроде Llama 3.2, Mistral 2 или Phi-3. Работает как демон с REST API.
  • n8n - low-code платформа для оркестрации workflow. Каждый workflow - это потенциальный "инструмент" для агента.
  • Связка - нода HTTP Request в n8n, которая стучится к Ollama и получает ответы от модели.

В отличие от облачных агентов на OpenRouter, здесь вообще нет внешних зависимостей. Интернет отключили? Агент продолжает работать.

1 Ставим Ollama и выбираем модель (не тупите с выбором)

Первое, что делают все неправильно - качают самую большую и крутую модель. А потом удивляются, почему агент думает 30 секунд. На старте берите что-то легкое и быстрое.

# Установка Ollama (актуально на апрель 2026)
curl -fsSL https://ollama.ai/install.sh | sh

# Запускаем демона
ollama serve &

# Теперь качаем модель. Мой выбор для начала:
ollama pull llama3.2:3b  # Быстрая, умная, потребляет мало памяти

# Альтернативы, если у вас мощное железо:
# ollama pull mistral2:7b  # Лучшее качество, но медленнее
# ollama pull phi3:mini    # Молниеносная, но чуть тупее

Проверяем, что все работает:

curl http://localhost:11434/api/generate -d '{
  "model": "llama3.2:3b",
  "prompt": "Привет, как дела?",
  "stream": false
}'

Если видите JSON с ответом - отлично. Если нет, проверьте, что демон запущен. (Да, я знаю, что вы пропустили этот шаг).

2 Настраиваем n8n для работы с локальным API

Если n8n у вас еще не стоит - поставьте через Docker. Это займет 2 минуты. Если стоит - переходите к следующему шагу.

docker run -it --rm \
  --name n8n \
  -p 5678:5678 \
  -v ~/.n8n:/home/node/.n8n \
  n8nio/n8n:latest

Открываем n8n на localhost:5678. Создаем новый workflow. Тащим на канву ноду HTTP Request.

Вот как ее настроить:

  • Method: POST
  • URL: http://localhost:11434/api/generate
  • Headers: Content-Type: application/json
  • Body (JSON):
    {
      "model": "llama3.2:3b",
      "prompt": "{{ $json.prompt }}",
      "stream": false,
      "options": {
        "temperature": 0.7,
        "num_predict": 256
      }
    }

Температуру ставьте 0.7 для баланса креативности и адекватности. num_predict - это лимит токенов в ответе. Для агента, который должен быть кратким, хватит и 256.

3 Делаем из запросчика - интеллектуального агента

Одна нода, которая просто пересылает запросы в Ollama - это еще не агент. Это попугай. Настоящий агент должен уметь:

  1. Анализировать запрос пользователя
  2. Решать, какие инструменты (workflow) использовать
  3. Выполнять последовательность действий
  4. Запоминать контекст разговора

Добавьте перед HTTP Request ноду Code. В ней мы будем формировать промпт с системной инструкцией для модели.

// Нода Code - системный промпт
const userQuestion = $input.first().json.prompt;

const systemPrompt = `Ты - AI-агент, интегрированный в n8n. 
У тебя есть доступ к следующим инструментам:
1. Поиск в интернете (через HTTP запросы)
2. Работа с Google Sheets
3. Отправка email
4. Парсинг веб-страниц

Твоя задача - понять, что хочет пользователь, и решить, 
какой инструмент использовать. Если инструмент не требуется, 
просто ответь на вопрос.

Вопрос пользователя: ${userQuestion}

Твой ответ должен быть в формате:
ДЕЙСТВИЕ: [название_инструмента или "ответ"]
ОБЪЯСНЕНИЕ: [краткое объяснение]
ДАННЫЕ: [если нужны данные для инструмента]`;

return [{ json: { prompt: systemPrompt } }];

После ноды HTTP Request добавьте еще одну ноду Code - для парсинга ответа модели и принятия решения о следующем шаге. Это уже похоже на архитектуру planner/executor.

💡
Самый частый вопрос: "А как агент узнает про другие workflow?" В n8n 2026 года есть API для получения списка workflow. Вы можете сделать ноду, которая динамически формирует список доступных инструментов и вставляет его в системный промпт. Это магия.

4 Добавляем память и контекст (без этого агент - золотая рыбка)

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

Самый простой способ - хранить историю в массиве и передавать ее с каждым запросом:

// В ноде Code, которая формирует промпт
const history = $input.first().json.history || [];
history.push({ role: "user", content: userQuestion });

// Ограничиваем историю последними 10 сообщениями
if (history.length > 20) {
  history.splice(0, history.length - 20);
}

const context = history.map(msg => 
  `${msg.role}: ${msg.content}`
).join("\n\n");

const systemPrompt = `Контекст предыдущего разговора:
${context}

${systemPrompt}`; // Используем systemPrompt из предыдущего шага

return [{ json: { prompt: systemPrompt, history } }];

После получения ответа от модели, не забудьте добавить его в историю. Так агент будет помнить, о чем вы говорили минуту назад. Для сложных проектов посмотрите статью про долгосрочную память NPC.

Где все ломается: 5 ошибок, которые совершают 90% людей

  1. Модель молчит или возвращает мусор. Проверьте, что в запросе к Ollama "stream": false. При stream: true API возвращает потоковые данные, которые n8n не умеет парсить без дополнительной обработки.
  2. Агент игнорирует системный промпт. Многие маленькие модели плохо следуют инструкциям. Попробуйте повторить ключевые указания в промпте несколько раз или используйте более новую модель, например Llama 3.2 вместо старой Llama 2.
  3. n8n падает при длинных ответах. В настройках HTTP Request ноды увеличьте Timeout. По умолчанию он 10 секунд, а большая модель может думать дольше.
  4. История разговора съедает всю память. Не храните всю историю с начала времен. Оставляйте только последние 10-20 сообщений. Или используйте суммаризацию: периодически отправляйте старую историю в модель с просьбой сделать краткое содержание.
  5. Агент зацикливается. Классическая проблема агентов: они решают, что нужно выполнить действие, выполняют его, получают результат, и снова решают, что нужно выполнить то же действие. Ставьте hard limit на количество итераций в workflow.

А что если мне нужно больше, чем просто чат?

Добавьте в агента инструменты. Каждый инструмент - это отдельный workflow в n8n. Например, workflow "Поиск в интернете" принимает запрос, делает запрос к DuckDuckGo или SearXNG (локальный мета-поисковик) и возвращает результат.

Тогда алгоритм агента становится таким:

  • Пользователь спрашивает: "Какая погода в Москве?"
  • Агент решает: ДЕЙСТВИЕ: поиск_в_интернете, ДАННЫЕ: погода Москва
  • n8n запускает workflow поиска, получает результат
  • Агент получает результат поиска и формирует итоговый ответ пользователю

Это уже уровень автономии 3, как в нашем гайде про облачных агентов, но полностью локально.

Кстати, если вы хотите не только технически настроить агента, но и научиться создавать с его помощью контент, посмотрите курс AI-креатор: создаём контент с помощью нейросетей. Там учат, как заставить AI работать на ваши творческие задачи, а не просто отвечать на вопросы.

Вопросы, которые вы зададите через 10 минут после запуска

Вопрос Ответ
Модель отвечает слишком медленно Используйте квантованную версию модели (например, llama3.2:3b-q4_K_M) или перейдите на более легкую модель. Phi-3:mini работает в 3 раза быстрее Llama с минимальной потерей качества.
Как подключить голосовой интерфейс? Добавьте в начало workflow ноду, которая принимает аудио, конвертирует его в текст (через локальную ASR, например Whisper.cpp), и в конец - ноду, которая синтезирует речь из текста. Полная инструкция в статье про голосового ассистента.
Можно ли использовать несколько моделей одновременно? Да. Создайте разные экземпляры HTTP Request нод, каждая со своим model параметром. Или запустите несколько экземпляров Ollama на разных портах с разными моделями.
Как обучить модель на своих данных? Ollama поддерживает создание модифицированных моделей через Modelfile. Создайте файл с инструкциями и примеры, затем запустите ollama create. Но для начала лучше использовать RAG (Retrieval-Augmented Generation) - просто подмешивайте нужные данные в промпт.

Главное, что нужно понять: локальный AI-агент на n8n и Ollama - это не игрушка. Это рабочий инструмент, который может автоматизировать рутину, не прося ключей API и не отправляя ваши данные в чужие руки. Начните с простого workflow, добавьте пару инструментов, и через неделю вы не поймете, как жили без этого.

А если кажется, что все слишком сложно - вспомните, что даже junior-разработчики собирают таких агентов за день. У вас точно получится.

Подписаться на канал