# Первый агент в n8n: инструкция и тесты



Первого ИИ-агента проще понять на задаче, где видно каждое действие. Соберём в n8n чат-помощника, который получает числа, вызывает калькулятор и объясняет результат. Например, считает конверсию из посещений в заявки.

**На выходе — небольшой workflow из триггера, агента, модели и одного инструмента.** Он не требует CRM, Telegram-бота или базы данных. Инструкция описывает сборку по текущей документации n8n; конкретная модель и интерфейс вашего экземпляра могут отличаться. Учебный сценарий с вашим API-ключом здесь не запускался.

## 1. Подготовь n8n и доступ к модели

Нужен доступ к редактору n8n: облачному или уже настроенному экземпляру. Также понадобится поддерживаемая чат-модель с вызовом инструментов и её credentials. Для облачного провайдера обычно нужен отдельный API-доступ: подписка на пользовательский чат не означает, что вызовы из n8n оплачены.

Не вставляй API-ключ в системный промпт. Создай credential в соответствующем узле модели. Если используешь корпоративный n8n, проверь, какие провайдеры разрешены. Начни с вымышленных чисел из этой статьи.

## 2. Собери четыре узла

В новом workflow добавь **Chat Trigger** и соедини его обычный выход с **AI Agent**. В нижних подключениях агента добавь чат-модель к порту **Chat Model**, затем **Calculator** к порту **Tool**.

```text
Chat Trigger ──→ AI Agent
                  ├─ Chat Model: выбранная модель
                  └─ Tool: Calculator
```

Это схема связей, а не файл для импорта. Модель и калькулятор подключаются как подузлы агента, а не следующими шагами основной цепочки. По [документации AI Agent](https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.agent/) агенту нужен хотя бы один инструмент. [Calculator](https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.toolcalculator/) выполняет математические расчёты.

В Chat Trigger оставь **Make Chat Publicly Available** выключенным на время сборки. Для простого ответа выбери **When Last Node Finishes**, если настройка Response Mode доступна. Последним обычным узлом у нас остаётся агент. Эти параметры описаны в [справке Chat Trigger](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-langchain.chattrigger/).

## 3. Настрой вход и инструкцию агента

В AI Agent выбери получение пользовательского сообщения из подключённого Chat Trigger. Если твоя версия предлагает ручной Prompt, укажи выражение `{{ $json.chatInput }}` и проверь, что оно получает текст тестового сообщения.

В System Message добавь:

```text
Ты учебный помощник по продуктовым метрикам.
Используй Calculator для всех арифметических вычислений.
Для конверсии нужны число целевых действий и число посещений:
конверсия = действия / посещения * 100%.
Если не хватает чисел или определение метрики неоднозначно,
задай уточняющий вопрос. Не придумывай входные данные.
При нулевом знаменателе объясни, что метрика не определена.
Покажи формулу, исходные числа, результат и единицы измерения.
Не утверждай, что использовал инструмент, если вызова не было.
Не делай выводы о причинах изменения метрик по одним числам.
```

Память на этом этапе не нужна: каждый тестовый запрос содержит все исходные данные. Поэтому не проверяй работу фразой «а теперь для прошлого месяца» без конкретных чисел — такой вопрос требует контекста предыдущего сообщения.

## 4. Проверь ответ и вызов инструмента

Открой тестовый чат workflow и отправь первый запрос из таблицы. Затем посмотри выполнение AI Agent и Calculator в редакторе: важно увидеть не только финальную фразу, но и факт расчёта инструментом.

| Запрос | Что проверяем |
|---|---|
| Из 1 200 посещений получили 84 заявки. Посчитай конверсию. | 84 / 1 200 × 100 = 7%; вызван Calculator |
| Из 800 посещений получили 36 заявок. Посчитай конверсию. | 4,5%; вызван Calculator |
| Получили 84 заявки. Какая конверсия? | Уточняет число посещений |
| Посещений 0, заявок 0. Какая конверсия? | Не делит на ноль; сообщает неопределённость |
| Конверсия выросла с 4% до 5%. Насколько? | +1 процентный пункт и +25% относительно исходного значения |

Последний пример выявляет частую путаницу процентов и процентных пунктов. Если агент просто ответил «на 1%», попроси уточнить, о каком изменении идёт речь.

[Скачай тесты и системную инструкцию](/downloads/n8n-first-agent-checklist.md). Сохрани фактический результат напротив каждого запроса. Не называй workflow надёжным по одному успешному ответу: повтори проверки после смены модели или промпта.

## 5. Разбери типовые ошибки

Если агент сообщает об отсутствии инструмента, проверь подключение к Tool. Если модель не принимает tool calling, выбери совместимую модель в документации провайдера. Ошибка авторизации или квоты относится к credentials и API-аккаунту, а не к формулировке задания.

Если вход пустой, открой выход Chat Trigger и проверь поле `chatInput`. Если ответ есть в выполнении, но не отображается в чате, проверь режим ответа и последний узел. Если калькулятор не вызывается, проверь инструкцию и журнал: правильное число без вызова инструмента не проходит наш учебный тест.

## 6. Выбери следующий полезный сценарий

После успешного теста замени абстрактные числа своей повторяющейся задачей: расчётом показателей отчёта или чтением справочных данных. Добавляй инструменты по одному. Для обычной фиксированной формулы отдельный вычислительный узел проще агента; агент полезен, когда нужно понять вопрос и выбрать действие.

Каждое сообщение в Chat Trigger запускает workflow, а обращения к модели расходуют API-квоту. Перед общим доступом проверь ограничения расходов и настрой доступ к чату. Для первого упражнения публичная публикация не нужна.

Дальше разберись с [проверками и условиями остановки агента](/posts/loop-engineering-ai-agents/) и преврати таблицу тестов в [первый eval](/posts/first-eval/). Так у тебя будет понятный критерий готовности перед подключением реальных рабочих систем.
