Как собрать ИИ-агента в n8n: пошаговый сценарий
Продвинутое3 минРедакция Innovialabs
Коротко
В n8n агент — это узел AI Agent, к которому подключают модель, память и инструменты; задайте ему чёткий системный промпт, структурированный вывод и лимиты, а действия с последствиями выносите в обычные узлы.
Из чего состоит агент в n8n
ИИ-агент в n8n — это узел AI Agent, к которому снизу подключаются вспомогательные узлы:
- Chat Model (обязательно) — LLM: OpenAI, Anthropic, Google Gemini, локальная модель через Ollama и другие.
- Memory — история диалога, чтобы агент помнил предыдущие сообщения.
- Tools — инструменты, которые агент вызывает сам: HTTP-запросы, Google Sheets, CRM, другой workflow n8n.
- Output Parser — заставляет вернуть ответ в заданной структуре (JSON).
Агент получает сообщение, решает, нужен ли инструмент, вызывает его, читает результат и формирует ответ. Количество таких шагов ограничивается настройкой Max Iterations.
Пошагово: агент для квалификации лидов
Задача: заявка с сайта приходит в n8n, агент оценивает её, уточняет данные и решает, куда её направить.
1. Триггер. Для отладки — Chat Trigger, чтобы общаться с агентом прямо в редакторе. В рабочей версии — Webhook от формы сайта или Telegram Trigger.
2. Узел AI Agent. В поле промпта передайте данные заявки выражением, например {{ $json.message }}. В System Message опишите роль и правила:
Ты квалифицируешь входящие заявки.
Критерии: есть бюджет или сроки, понятна задача, указан контакт.
Если данных не хватает — не выдумывай, ставь статус "need_info".
Отвечай только в формате, заданном парсером.
3. Модель. Подключите Chat Model и создайте credentials с API-ключом. Для классификации обычно хватает быстрой недорогой модели; температуру держите низкой, чтобы ответы были стабильными.
4. Память. Для одиночной заявки память не нужна. Для диалога в Telegram подключите Simple Memory с ключом сессии по ID чата, а для продакшна — Postgres или Redis Chat Memory, чтобы история не терялась при перезапуске.
5. Инструменты. Например:
- HTTP Request Tool — поиск компании или контакта в CRM по email;
- Google Sheets Tool — чтение прайса или списка услуг;
- Call n8n Workflow Tool — вызов отдельного workflow с вашей логикой.
Параметры инструмента, которые должна заполнить модель, задаются через $fromAI():
{{ $fromAI('email', 'email клиента из заявки', 'string') }}
У каждого инструмента — понятное название и описание: по ним модель решает, когда его вызывать.
6. Структурированный вывод. Включите Require Specific Output Format и подключите Structured Output Parser со схемой: status, score, reason, next_step.
7. Действия — обычными узлами. После агента поставьте Switch по полю status: горячий лид создаётся в CRM и уходит менеджеру в Telegram, неполный получает письмо с уточнением. Запись в CRM лучше делать обычным узлом, а не инструментом агента — так действие детерминировано и проверяемо.
Контроль расходов
Стоимость агента зависит от модели, длины промптов, объёма памяти и числа вызовов инструментов. Что помогает:
- Max Iterations — не даёт агенту ходить по кругу.
- Короткое окно памяти — в каждый запрос уходит только нужная часть истории.
- Лимит токенов ответа в настройках модели.
- Компактные ответы инструментов — возвращайте нужные поля, а не весь JSON из API.
- Предфильтр без ИИ — спам и пустые заявки отсекайте узлом IF до агента.
- Учёт токенов — данные о расходе видны в выполнении узла модели; сохраняйте их в таблицу и смотрите динамику.
Ошибки и надёжность
- В настройках узла включите Retry On Fail для временных сбоев API модели.
- On Error → Continue (using error output) — отдельная ветка для ошибок: заявка уходит человеку, а не теряется.
- Назначьте workflow Error Workflow с узлом Error Trigger для оповещений.
- Проверяйте вывод агента: даже с парсером добавьте IF на обязательные поля.
- Минимум прав у инструментов. Текст заявки может содержать инструкции для модели; инструменты агента должны по возможности только читать данные.