Собрать автоматизацию по одному описанию получилось в обоих вариантах. А вот защита от дублей не появилась ни в одном. Мы прогнали одинаковые заявки через Python-код, написанный Claude Code, и сценарий, собранный n8n Assistant. Посмотрели, что происходит после первого успешного запуска: при повторной заявке, сбое сервиса и изменении правил.
Вопрос «зачем учить n8n, если агент напишет код?» звучит всё чаще. Но для команды важен и следующий шаг: кто разберётся в автоматизации, когда она начнёт ошибаться? Ниже — небольшой практический эксперимент со скриншотами, результатами и ограничениями.
Что именно сравниваем
9 сентября 2026 года n8n представил Assistant: помощник собирает workflow по описанию, запускает его и помогает исправлять ошибки. Результат остаётся обычной схемой на холсте, с ручным редактированием и журналом запусков. При этом сам n8n предупреждает: первый работающий вариант ещё нужно проверить перед эксплуатацией.
В нашем тесте Claude Code подготовил отдельную программу на Python, а n8n Assistant — сценарий в n8n Cloud. Python-программа дальше работает без Claude Code. Модель нужна только на шаге классификации сообщения; в n8n она вызывается на таком же шаге.
Это не сравнение всех возможностей Claude Code и n8n. У Claude Code есть Routines, которые могут выполняться в облаке Anthropic по расписанию или событию. В этом эксперименте Routines не использовались: сравниваем отдельно запускаемый Python-код и workflow в n8n Cloud.
Одна задача: разобрать входящие заявки
Заявка приходит с формы по webhook. Автоматизация проверяет имя, email и сообщение, просит модель выбрать категорию, направляет заявку в нужную ветку и отправляет уведомление. Спам не попадает в уведомления, неполные данные уходят в отдельную ветку.
Например: «Хочу подключить тариф для команды из 20 человек, подскажите условия». Ожидаемый маршрут: sales → лог → уведомление.
Путь в обоих вариантах одинаков: webhook → проверка полей → классификация → ветка по категории → лог и уведомление. Изначально использовали sales, support и spam; позже добавили billing для вопросов об оплате.
Схема после добавления billing. Нажмите на скриншот, чтобы рассмотреть детали.
Это тестовая сборка: вместо рабочей CRM использованы тестовые логи, а в n8n — узлы-заглушки с пометкой Stand-in. Уведомления принимал webhook.site. Такой стенд позволяет проверить маршрутизацию, но не доказывает надёжность хранения данных.
Условия эксперимента
- 8 синтетических заявок: среди них дубль, заявка без email, два спама и вопрос об оплате. Настоящие клиентские данные не использовали.
- Классификатор: Qwen 2.5 72B через OpenRouter, температура 0 в обоих вариантах.
- Код: Python 3.10, стандартная библиотека. По протоколу эксперимента, код подготовлен в Claude Code 2.1.280 с моделью Sonnet 5.
- n8n: Cloud 2.41.1 на пробном периоде, сборка через n8n Assistant.
- Сборка: по одному исходному описанию для каждого помощника; по одной попытке на каждую проверку.
До первого запущенного варианта прошло около 3 минут в коде и около 4 минут в n8n. Это наблюдение одного прогона, а не замер полной стоимости разработки или скорости инструментов.
Журнал n8n: для выбранного запуска виден пройденный путь.
1. Одна заявка пришла дважды
Оба варианта отправили два уведомления. Проверку дублей помощники не добавили. Рабочий маршрут появился быстро, но правило «эту заявку мы уже обрабатывали» осталось за человеком.
Перед запуском нужно определить, что считать дублем: одинаковый идентификатор события, повторную отправку формы или совпадение данных за определённый период. Сам по себе выбор между кодом и n8n этот вопрос не решает.
2. Внешний API отвечает ошибкой
Здесь способы проверки различались. В Python мы воспроизвели ответ 429 от заглушки API. Программа вернула отправителю 502 с причиной ошибки. Повторного вызова не было: счётчик показал один запрос. До обычного шага записи заявки выполнение не дошло.
Реально воспроизведённый сбой в Python: один вызов API и ответ 502.
В n8n такой сбой воспроизвести не удалось. Попытка использовать нерабочий ключ остановилась на проверке подключения. Поэтому здесь мы изучили настройки узла: Retry On Fail выключен, On Error установлен в Stop Workflow.
Проверка настроек n8n, а не скриншот воспроизведённого сбоя API.
Webhook в этой сборке сразу отвечал 200 с текстом «Workflow was started», ещё до классификации. Такой ответ подтверждает начало выполнения, но не доставку уведомления. При остановке узла следующие шаги могут не выполниться, а отправитель уже получил 200.
Из этого нельзя заключить, что заявка в n8n безвозвратно потеряна: входные данные могут оставаться в журнале выполнений. Но отдельное сохранение заявки, повтор при временной ошибке и уведомление о сбое в проверенной конфигурации не были настроены. Их нужно продумать независимо от инструмента.
3. В заявке нет обязательного поля
Заявка без email в обоих вариантах ушла в отдельный тестовый лог, без уведомления менеджеру. Python сообщил в ответе, какого поля не хватает. n8n вернул тот же ранний ответ 200, что и для остальных заявок.
Если отправителю нужно сразу исправить форму, настройте соответствующий ответ webhook. Иначе успешный HTTP-статус легко принять за подтверждение, что заявка полностью обработана.
4. Добавили новое правило
Мы ввели категорию billing. В Python потребовались две правки, перезапуск и повторный прогон восьми заявок; это заняло около двух минут. В n8n хватило одного запроса ассистенту, после которого публикацию изменения подтвердил человек. Сопоставимого замера времени для этой правки в n8n нет.
После изменения классификатора в коде поменялся и результат для заявки, которую мы не редактировали: «SEO Backlinks Pro» раньше попадала в продажи, а теперь — в спам.
После изменения категорий прогоняйте весь набор примеров. Правка одного правила может повлиять на другие ответы модели. Температура 0 не заменяет проверку.
5. Автоматизацию нужно передать коллеге
Здесь мы оценивали читаемость результата, а не проводили отдельный тест с другим сотрудником.
В Python логика находится в одном файле, причина сбоя видна в серверном логе. Чтобы поддерживать такую сборку, нужно уметь читать и запускать Python.
В n8n путь заявки виден на холсте и в журнале выполнений. Но важные настройки распределены по интерфейсу: режим ответа находится у webhook, а повтор при ошибке — у узла классификации. Понятная схема ещё не означает, что новый человек заметит все условия её работы.
При передаче попросите коллегу без подсказок объяснить маршрут заявки, найти ошибку и изменить одно правило. Это даст больше информации, чем впечатление от интерфейса.
Результаты на одном экране
| Ситуация | Python от Claude Code | n8n Assistant |
|---|---|---|
| Повторная заявка | Два уведомления | Два уведомления |
| Ошибка API | Проверено: 429 от API, 502 отправителю, без повтора | Сбой не воспроизведён. В настройках: без повтора, остановка при ошибке |
| Нет email | Отдельная ветка, без уведомления; понятная причина в ответе | Отдельная ветка, без уведомления; ранний ответ 200 |
| Категория billing | Две правки, перезапуск, повторный прогон | Запрос ассистенту и подтверждение публикации |
| Передача коллеге | Один файл; нужны навыки Python | Видимая схема; настройки нужно изучить отдельно |
Чего этот тест не доказывает
Мы разобрали одну простую задачу, восемь примеров и одну модель. Это не нагрузочный тест, не проверка промышленного хранения и не рейтинг точности классификации. Сбой API проверяли разными способами, передачу коллеге оценивали только по устройству результата, а Routines не тестировали.
Поэтому выбирать победителя по минуте разницы или одному неудачному ответу модели было бы неверно. Практический результат скромнее: обе сборки потребовали доработок после первого успешного запуска.
Когда выбрать код, n8n или сочетание
Код стоит рассмотреть, когда нужна собственная логика, удобны программные тесты и есть человек, который будет поддерживать программу. Заранее определите, где она запускается и как вы узнаете об ошибке.
n8n удобен, когда важны готовые интеграции и возможность проследить выполнение по схеме. Проверьте, сможет ли ваша команда менять сценарий и разбирать сбои. В Cloud платформу обслуживает n8n, а корректность вашего workflow всё равно требует внимания.
Сочетание тоже возможно: n8n управляет последовательностью шагов, а отдельный код выполняет сложную обработку. Выбирайте с учётом того, кто останется с автоматизацией после её автора и как часто будут меняться правила.
Пять проверок перед передачей команде
- Отправьте заявку дважды. Появились ли лишние записи и уведомления?
- Воспроизведите ошибку внешнего сервиса. Что увидел отправитель, был ли повтор и где остались исходные данные?
- Уберите обязательное поле. Понятно ли человеку, что нужно исправить?
- Измените одно правило. Прогоните заново все тестовые примеры, включая те, которых правка не касалась.
- Передайте сценарий коллеге. Сможет ли он объяснить логику, найти сбой и внести исправление без вас?
Этот список подходит и для n8n, и для кода, подготовленного ИИ-помощником.
Кто обслуживает n8n для команды
Если вы выбрали n8n, размещение, обновления и управление доступами можно передать VseLLM. Командный пакет — от 10 500 ₽ в месяц за 15 мест, с договором, счётом и закрывающими документами в рублях, поддержкой на русском языке.
Базовый сервер общий, выделенный рассчитывается отдельно. Разработка сценариев, обучение и использование AI-моделей в базовую стоимость не входят. Обслуживание платформы не исправляет ошибки в логике workflow.
Посмотреть условия n8n для команды →
Если ещё выбираете способ подключения, прочитайте наш разбор «Как оплатить n8n из России в 2026 году».



