n8n + OpenAI: собираем ИИ-агента шаг за шагом
Как собрать ИИ-агента в n8n: нода AI Agent, саб-ноды модели и памяти, инструменты, которые модель действительно выбирает верно, и случаи, когда обычный процесс лучше агента.

Обычный процесс в n8n идёт по пути, который вы нарисовали. Агент выбирает путь сам: получает запрос, смотрит на выданные ему инструменты, вызывает один, читает результат и решает, что делать дальше. В этом вся суть — и в этом же причина, по которой агенты дороже и ведут себя менее предсказуемо, чем процесс, который вы уже умеете собирать.
Гайд предполагает, что базовый процесс вы уже собирали. Если нет — начните с первого процесса в n8n: об агентах думать намного проще, когда триггеры и ноды уже знакомы.
Берите агента только когда он действительно нужен
Это решение большинство туториалов пропускает, а ошибка в нём дорого обходится. Если шаги известны заранее, фиксированная цепочка нод дешевле, быстрее и намного проще в отладке. Агент оправдывает себя, только когда следующий шаг по-настоящему зависит от того, что вернул предыдущий.
| Ситуация | Что собирать |
|---|---|
| Шаги каждый раз одни и те же | Обычный процесс, без агента |
| Одна развилка с понятными ветками | Процесс с нодой IF |
| Нужное действие зависит от непредсказуемого ввода | Агент |
| Задача требует нескольких инструментов в неизвестном порядке | Агент |
Четыре составные части
Агент в n8n — это одна основная нода с саб-нодами, прицепленными снизу. Саб-ноды крепятся к ноде AI Agent, а не встают в основной поток слева направо, и в первый раз это удивляет.
| Часть | Нода | Что делает |
|---|---|---|
| Агент | AI Agent | Крутит цикл: подумать, сделать, посмотреть, повторить |
| Мозг | Саб-нода Chat Model | Отвечает за рассуждение — OpenAI, Anthropic, Google, локальные модели |
| Короткая память | Simple Memory | Держит недавнюю переписку, чтобы ответы оставались связными |
| Руки | Саб-ноды инструментов | Всё, что агент может вызвать: HTTP-запросы, базы данных, другие ноды |
Simple Memory раньше называлась Window Buffer Memory, поэтому в старых туториалах и на скриншотах то же самое встречается под этим именем.
Собираем по шагам
- Добавьте триггер. Для разговорного агента возьмите When chat message received: он даёт окно чата для проверки и сам передаёт идентификатор сессии.
- После триггера добавьте ноду AI Agent. Под ней появятся пустые слоты для саб-нод.
- Прицепите саб-ноду Chat Model и подключите доступ к OpenAI. Начните со средней по уровню модели: агент вызывает её многократно, поэтому разница в цене умножается, а не остаётся фиксированной.
- Напишите системный промпт на ноде агента. Именно от него зависит, будет ли агент работать, — об этом ниже.
- Прицепите Simple Memory, если агент должен помнить предыдущие сообщения того же разговора. Параметром Context Window Length ограничьте, сколько истории он тащит с собой.
- Прицепите один инструмент и проверьте его, прежде чем добавлять остальные. Агента с пятью непроверенными инструментами диагностировать почти невозможно.
- Проверьте через окно чата, прочитайте промежуточные шаги и нажмите Publish — правило то же, что и для любого процесса: сам он не запустится, пока вы этого не сделаете.
Системный промпт — это должностная инструкция
Большинство неработающих агентов ломаются здесь, а не в проводах. Системный промпт должен говорить, для чего агент нужен, когда применять каждый инструмент и что делать, если ответа нет, — потому что модель выбирает инструменты, читая их описания и ваши указания, а не по волшебству.
Три вещи, которые в него регулярно забывают положить: явная граница («если вопрос не про X — так и скажи, а не угадывай»), правило на случай нехватки данных («спроси номер заказа, а не выдумывай его») и ожидаемый формат ответа. Размытые промпты дают агентов, которые уверенно вызывают не тот инструмент.
Инструменты: всё решает качество описания
Описание инструмента — это не документация для вас, а текст, который читает модель, решая, вызывать его или нет. «Получает данные» не даёт агенту никакой опоры для выбора. «Находит заказ по идентификатору и возвращает статус и дату доставки» точно говорит, когда этот инструмент подходит.
Давайте каждому инструменту одну задачу. Два агента с тремя узкими инструментами каждый отлаживаются легче, чем один с шестью пересекающимися, и модель попадает в нужный намного чаще.
Что такое Simple Memory на самом деле
Simple Memory держит скользящее окно недавней переписки и подставляет его перед каждым новым сообщением. Ключом служит идентификатор сессии — с чат-триггером n8n заполняет его сам, поэтому разговоры разных пользователей не смешиваются без дополнительных усилий.
Два честных ограничения. Первое: это окно, а не база данных, — как только переписка превысит Context Window Length, самые ранние сообщения выпадают, и агент их действительно больше не знает. Второе: n8n не советует полагаться на эту ноду в продакшене при работе в режиме очереди, потому что следующее сообщение может обработать другой воркер, у которого этой истории нет. Для настоящей многопользовательской системы закладывайте внешнее хранилище.
Почему агенты не работают
- Брать агента там, где хватило бы фиксированного процесса: медленнее, дороже, сложнее в отладке и без выгоды.
- Размытый системный промпт, из-за которого агент выбирает инструменты наугад.
- Описания инструментов, написанные для людей, а не для модели.
- Слишком много инструментов сразу — невозможно понять, какой выбор оказался неверным.
- Считать, что память вечна: это скользящее окно, и самые старые сообщения из него выпадают.
- Не смотреть на промежуточные шаги и отлаживать финальный ответ вместо решения, которое его породило.
- Забывать, что каждая итерация цикла — это ещё один платный вызов модели.
Стоимость и контроль
Фиксированный процесс вызывает модель один раз, если вообще вызывает. Агент за один прогон может обратиться к ней несколько раз: выбрать инструмент, истолковать результат, решить, закончил ли он. Расходы растут вместе со свободой, которую вы ему даёте, — ещё один аргумент за узкие инструменты и точный промпт.
Если бюджет важен, ограничьте число итераций агента и оставьте дорогую модель только для шага рассуждения. Не всё в процессе обязано быть решением агента.
Куда двигаться дальше
Если что-то из терминологии всё ещё мешает, глоссарий n8n разбирает основные понятия, а база знаний по n8n объясняет, как части складываются вместе. Цены и честные ограничения — на странице n8n.
Итог
Собрать агента — простая часть: одна нода, три саб-ноды, полчаса. Работа начинается там, где его делают надёжным, и почти вся она сосредоточена в системном промпте и описаниях инструментов.
Начните с одного инструмента и скучного, конкретного промпта. Добавляйте возможности только после того, как простая версия ведёт себя предсказуемо. И до того, как что-то строить, честно спросите себя, действительно ли шаги непредсказуемы: если нет, привычный фиксированный процесс обойдёт агента по всем значимым параметрам.
Часто Задаваемые Вопросы
- Чем процесс в n8n отличается от ИИ-агента?
- Процесс идёт по пути, который вы нарисовали. Агент выбирает путь на ходу, решая, какой инструмент вызвать, исходя из увиденного. Берите агента только тогда, когда шаги действительно нельзя знать заранее.
- Какие ноды нужны, чтобы собрать ИИ-агента в n8n?
- Нода AI Agent, саб-нода Chat Model для рассуждения, при желании Simple Memory для истории переписки и одна или несколько саб-нод инструментов. Саб-ноды крепятся снизу к ноде AI Agent, а не встают в основной поток.
- Почему агент вызывает не тот инструмент?
- Почти всегда из-за описаний инструментов или системного промпта. Модель выбирает инструменты, читая их описания, поэтому каждое должно точно говорить, что инструмент делает и когда применяется.
- Годится ли Simple Memory для продакшена?
- Для тестов и одного экземпляра — вполне, но n8n не советует полагаться на неё в режиме очереди: следующее сообщение может обработать другой воркер, у которого этой истории нет. Для настоящих многопользовательских систем используйте внешнее хранилище.