# n8n и Ollama: локальный агент с проверяемым вызовом инструмента

Источник: https://modelium.tech/zhurnal/n8n-ollama-agent/

Связка n8n и Ollama позволяет спроектировать локальный агентный workflow: AI Agent получает модель Ollama Chat Model и узкий тестовый инструмент. Успех подтверждает не ответ «я вызвал инструмент», а исполнение дочернего workflow с ожидаемым входом и выходом. Поддержку tool calling конкретной модели и версии n8n нужно проверить на своём стенде; отсутствие облачного LLM само по себе не доказывает отсутствие сетевого выхода.

**Документация проверена 3 октября 2026 года.** Это инструкция для самостоятельного стенда, не отчёт о запуске Modelium. У n8n и Ollama меняются совместимость и доступные модели: зафиксируйте свои версии и выбранный тег перед тестом [s1](#src-s1) [s2](#src-s2) [s5](#src-s5).

## Какой результат должен получиться?

Возьмите безопасный сценарий: по фиктивному идентификатору `TEST-42` агент должен вызвать единственный разрешённый инструмент «найти тестовую карточку», получить из дочернего workflow фиксированное поле `state: demo` и ответить пользователю. **Проверяемый результат** — запись об исполнении дочернего workflow с входом `TEST-42` и выходом `state: demo`; один лишь ответ агента доказательством не служит. Узел AI Agent в n8n принимает chat model и как минимум один tool; Call n8n Workflow Tool возвращает агенту выход дочернего workflow [s1](#src-s1) [s3](#src-s3).

Это демонстрация *локального inference* при локальном Ollama, а не обещание полностью офлайн-архитектуры: внешние триггеры, интеграции, прокси, обновления и телеметрия требуют отдельной сетевой проверки. План такого теста — в [проверке офлайн-контура](/zhurnal/proverka-offline-kontura-ii/). Запросы к корпоративной CRM и реальные персональные данные здесь не нужны.

## Что подготовить перед сборкой?

Нужны собственный экземпляр n8n, доступный ему Ollama, локально полученная модель с поддержкой вызова инструментов и тестовые данные без секретов. Официальный self-hosted AI Starter Kit n8n включает n8n, Ollama, Qdrant и PostgreSQL, но n8n называет его **proof of concept**, а не защищённой production-конфигурацией [s4](#src-s4). Qdrant для теста одного инструмента не нужен.

В Ollama credentials укажите Base URL адреса, достижимого **из процесса n8n**. Если оба сервиса в отдельных контейнерах одной Docker-сети, `localhost` каждого контейнера указывает на него самого; используйте сетевое имя Ollama и закрывайте доступ извне. Документация n8n отдельно описывает сценарии для host, Docker и удалённого аутентифицированного прокси [s7](#src-s7). Не публикуйте Ollama API открыто в интернет ради исправления ошибки соединения.

На странице Ollama показан вызов `/api/chat` с параметром `tools` и примером модели `qwen3`; это демонстрация механизма, **не гарантия** поддержки tool calling вашим вариантом весов, нодой n8n и версией пакета [s5](#src-s5). Документация узла Ollama Chat Model говорит о conversational agents, но перечень поддерживаемых chat models на странице Tools Agent не перечисляет Ollama явно; совместимость конкретного установленного сочетания надо подтвердить тестовым исполнением, не угадывать по названию узла [s2](#src-s2) [s6](#src-s6). Если узел модели не подключается к агенту или шаг инструмента не возникает, остановитесь и проверьте совместимость выпуска/модели, а не маскируйте это правдоподобным ответом.

## Как собрать изолированный тест в n8n?

- Создайте **дочерний workflow** с входной схемой для одного строкового поля `id` и безопасным тестовым выходом `id: TEST-42`, `state: demo`. Он не должен иметь credentials к CRM, файловой системе или внешнему API. Опубликуйте его, если будете вызывать через `Call n8n Workflow Tool → Source: Database` в production-запуске: неопубликованный sub-workflow в этом режиме даёт ошибку `Workflow is not active and cannot be executed` [s3](#src-s3).

- В основном workflow поставьте ручной или chat-триггер и **AI Agent**. Подключите Ollama Chat Model через проверенные credentials, выберите *конкретный доступный тег модели* и убедитесь, что n8n видит его. Актуальный AI Agent работает как Tools Agent и требует хотя бы один tool [s1](#src-s1) [s2](#src-s2) [s7](#src-s7).

- Подключите к агенту только **Call n8n Workflow Tool** с кратким описанием «Получить фиктивное состояние тестовой карточки по id»; укажите опубликованный дочерний workflow и его `Workflow Inputs`. Разрешите модели задавать лишь `id`, а не URL, команду, произвольный workflow ID или доступ к внешним ресурсам. Узел документирует поле описания, выбор источника и передачу входных полей после определения схемы дочернего workflow [s3](#src-s3).

- Запустите тестовый запрос «Покажи тестовую карточку TEST-42, используй доступный инструмент». В настройках Tools Agent для диагностики можно включить `Return Intermediate Steps`; затем сравните вход инструмента, фактическую запись исполнения дочернего workflow, его выход и итоговый ответ агента. Эта настройка помогает анализировать шаги, но не заменяет запись о реальном исполнении [s6](#src-s6) [s3](#src-s3).

Если ответ утверждает, что карточка найдена, а исполнения дочернего workflow нет, проверка **не пройдена**. Также не засчитывайте результат, если в ответе `demo` без соответствующего выхода инструмента: модель могла угадать значение из инструкции. Повторите с другим произвольным тестовым ID и ожидаемым результатом «не найдено»; заранее задайте это поведение внутри тестового workflow. Не объявляйте этот пример работающим у себя, пока сами не сохраните trace и версии.

## Что не переносить из стенда в бизнес без проверки?

Для реальной задачи отделите чтение от записи: у дочернего workflow минимальные credentials и разрешённые поля, на входе валидация, на выходе только необходимый результат. Для отправки сообщений, изменения данных или удаления n8n предлагает human review **перед выполнением выбранного инструмента**; отказ отменяет действие, а не только итоговый ответ [s8](#src-s8). Не подключайте к агенту универсальные HTTP/Code-инструменты с корпоративными секретами на основании одного удачного теста.

Проверьте сеть по отдельному протоколу, права пользователя и фактические версии n8n/Ollama. Если у модели нет поддержки tool calls или интеграция не передаёт их в дочерний workflow, этот путь не работает для выбранной пары; нужна другая совместимая пара, а не симуляция вызова. Размер скачанных весов не равен требуемой RAM/VRAM, а документация стартового набора не устанавливает минимальное железо для вашей задачи [s4](#src-s4) [s5](#src-s5).

**Следующий шаг:** выполните пробный вызов и сверку trace по [гайду проверки tool calling локальной модели](/zhurnal/tool-calling-lokalnyh-modeley/). Положительный результат на фиктивной карточке подтверждает только этот стенд и этот инструмент, не безопасность будущих интеграций [s5](#src-s5) [s6](#src-s6).

## Источники

1. [n8n — AI Agent: подключение инструментов и версия узла](https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.agent.md) — получено 2026-10-03
2. [n8n — Ollama Chat Model](https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatollama.md) — получено 2026-10-03
3. [n8n — Call n8n Workflow Tool](https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.toolworkflow.md) — получено 2026-10-03
4. [n8n — Self-hosted AI Starter Kit и ограничения PoC](https://docs.n8n.io/deploy/host-n8n/deploy-with-the-ai-starter-kit.md) — получено 2026-10-03
5. [Ollama — Tool calling и структура tool_calls](https://docs.ollama.com/capabilities/tool-calling.md) — получено 2026-10-03
6. [n8n — Tools Agent: модели, промежуточные шаги и подтверждение действий](https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.agent/tools-agent.md) — получено 2026-10-03
7. [n8n — Ollama credentials: Base URL и Docker](https://docs.n8n.io/integrations/builtin/credentials/ollama.md) — получено 2026-10-03
8. [n8n — Human-in-the-loop for tools](https://docs.n8n.io/build/integrate-ai/ai-examples/human-in-the-loop-for-tools.md) — получено 2026-10-03
