Ветки инцидентов, задач и консультаций в AI-техподдержке на n8n | AiManual
AiManual Logo Ai / Manual.
26 Май 2026 Гайд

Как построить AI-техподдержку на n8n: ветки обработки инцидентов, задач и консультаций (Часть 2)

Подробный гайд по построению AI-техподдержки в n8n: три ветки обработки (инциденты, задачи, консультации). Пошаговые workflow, системные промпты и реальные прим

Почему одной классификации мало?

В первой части мы настроили классификатор, который определяет тип обращения: бага это, вопрос или задача. Но если вы просто передадите сырой ответ LLM в единый обработчик — ждите беды. LLM смешает всё в кашу: попытается починить сервер, создать тикет и дать консультацию одновременно. Итог — галлюцинации, дубликаты в Jira и злые пользователи.

Проблема в том, что инцидент требует скорости (эскалация за секунды), задача — структуры (приоритет, дедлайн, исполнитель), а консультация — знаний (поиск по базе). Это три разных мира, и их нельзя мешать в одном пайплайне. Решение — расщепить поток после классификатора на три независимые ветки внутри одного n8n workflow.

Три лика техподдержки: инциденты, задачи, консультации

Давайте определимся с терминами, чтобы не путаться:

  • Инцидент — что-то сломалось прямо сейчас. Пример: «Не работает авторизация!». Критично. Нужно будить дежурного.
  • Задача — плановое изменение или запрос. Пример: «Добавьте меня в группу админов». Через Jira.
  • Консультация — вопрос по функционалу или инструкции. Пример: «Как сменить пароль?». Ответ даётся из базы знаний.

После классификации мы вешаем на каждое направление свой суб-воркфлоу (Sub-workflow). В n8n 2026 года это делается через Switch node, которая направляет запрос в нужную ветку.

💡 Совет: не используйте один LLM для всех трёх веток. Каждая ветка требует своего системного промпта и контекста. Лучше запустить отдельные AI-агенты с узкой специализацией — так меньше ошибок.

Ветка 1: Инциденты — огонь!

Когда классификатор вернул 'incident', workflow немедленно:

  1. Формирует сообщение в Mattermost (или Telegram) в канал дежурных.
  2. Создаёт инцидент в мониторинговой системе — например, через PagerDuty API.
  3. Блокирует повторные обращения по той же теме (используя Redis cache).

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

Ты — AI-оператор инцидентов. Твоя задача: извлечь из сообщения пользователя краткое описание проблемы, сервис (если указан) и срочность (1-5). Ответ верни в JSON: { "summary": "...", "service": "...", "severity": 3 }. Если сервис не указан — поставь 'unknown'. Если срочность явно не указана — ставь 2 (высокая).

После парсинга ответа — вызов Sub-workflow, который отправляет POST-запрос в Mattermost Webhook. Пример конфигурации:

{
  "channel": "incidents",
  "text": "🚨 Инцидент от {{ $json.user }}: {{ $json.summary }}",
  "attachments": [{
    "color": "#ff0000",
    "fields": [
      {"title": "Сервис", "value": "{{ $json.service }}", "short": true},
      {"title": "Срочность", "value": "{{ $json.severity }}", "short": true}
    ]
  }]
}

Подробнее про интеграцию с Mattermost читайте в нашей статье Как за 54 дня собрать ИИ-хаб в мессенджере MAX на n8n — там детально описан процесс настройки вебхуков.

Ветка 2: Задачи — плановая рутина

Если тип обращения — 'task', мы не паникуем. Задача идёт в Jira. Но тут кроется подвох: AI должен правильно сформировать JSON для Jira API. Малейшая ошибка в полях — и тикет не создастся.

⚠️ Ошибка новичков: передавать сырой ответ LLM в Jira node. LLM может придумать несуществующие поля или забыть обязательные (project, issuetype). Всегда валидируйте ответ через Code node перед отправкой.

Вот промпт для ветки задач:

Ты — AI-помощник по Jira. Из запроса пользователя извлеки: заголовок (title), описание (description), приоритет (low/medium/high/critical), исполнителя (assignee). Ответ дай строго в JSON: { "fields": { "project": "SUP", "issuetype": "Task", "summary": "...", "description": "...", "priority": { "name": "Medium" }, "assignee": { "name": "..." } } }. Если assignee не указан — ставь null.

После получения JSON — используем Jira node (с credentials). Убедитесь, что в настройках проекта разрешено создание задач через API. В n8n 1.80+ есть встроенная поддержка Jira Data Center, так что проблем быть не должно.

Не забывайте про коллбэк: если Jira вернул ошибку, не тихо проглатывайте её, а отправляйте менеджеру уведомление. Иначе пользователь подумает, что его задачу приняли, а тикета нет.

Ветка 3: Консультации — библиотекарь с AI

Самая сложная ветка, потому что требует доступа к базе знаний. Тут на помощь приходит RAG (Retrieval-Augmented Generation). Если вы ещё не развернули векторную БД — советую прочитать Архитектура on-prem AI стека: Frigate + n8n + локальные LLM + MCP серверы.

Логика простая:

  1. LLM выделяет ключевые слова и переформулирует запрос в поисковый.
  2. Поиск по векторной БД (например, Qdrant или Pinecone).
  3. Отобранные чанки + промпт подаются в LLM для генерации ответа.
  4. Готовый ответ отправляется пользователю в тот же тред (Mattermost/Telegram).

Промпт для консультанта:

Ты — консультант техподдержки. Отвечай на вопрос пользователя, используя ТОЛЬКО информацию из приложенного контекста. Если в контексте нет ответа — скажи: «К сожалению, я не нашёл ответа. Перенаправляю запрос специалисту». Не выдумывай! После ответа добавь кнопку «Было полезно? (да/нет)».

Важный момент: кнопки обратной связи. В n8n вы можете сделать это через Mattermost interactive messages или через отдельный webhook. Собирайте статистику — это поможет дообучить классификатор и улучшить базу знаний.

Собираем всё вместе: Switch и Sub-workflow

В главном workflow у вас есть:

  • Webhook (входное сообщение).
  • LLM классификатор (первый вызов).
  • Switch node, где по полю type выбирается ветка.
  • Три Sub-workflow (каждый — отдельный workflow, вызванный через Execute Workflow node).

Зачем выносить в Sub-workflow? Два плюса:

  • Модульность: каждую ветку можно тестировать и дебажить отдельно.
  • Повторное использование: инцидентная ветка может вызываться не только из чата, но и из мониторинга (Prometheus alert).

💡 Передавайте в Sub-workflow контекст — id сообщения, пользователя, историю диалога. Это пригодится для ответов в треде. Как настроить суб-воркфлоу с контекстом — описано в статье AI-агент 3-го уровня на n8n и OpenRouter.

Как НЕ надо: типичные ошибки

За время экспериментов с такими системами я наступил на все грабли. Вот список самых болезненных:

  • Один промпт для всех веток — LLM путается, начинает в ответе на «как сменить пароль?» создавать Jira-тикет. Каждая ветка — свой промпт.
  • Игнорирование rate limits — Jira и Mattermost имеют лимиты API. При спаме пользователей workflow может упасть. Вставьте Throttle node.
  • Отсутствие логирования — когда что-то идёт не так, вы должны видеть в Execution истории: какой был ответ классификатора, какой JSON ушёл в Jira. Используйте Execute Workflow с log-воркфлоу.
  • Незакрытые потоки — пользователь задал вопрос, AI ответил, но тред остался в статусе «ожидания». Через сутки менеджеры сходят с ума. Добавьте автоматическое закрытие треда через 24 часа с пометкой «решение не найдено».
  • Отсутствие обратной связи — без сбора кликов «полезно/бесполезно» вы никогда не улучшите качество. Это как работать с выключенным монитором.

Промпты, которые работают

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

Ты — {роль}. {Инструкция по задаче}. {Формат ответа}. {Ограничения}. {Пример вход -> выход}.

Пример для консультанта:

Ты — AI-консультант техподдержки. Извлеки из сообщения пользователя вопрос. Найди ответ в приложенном контексте. Если контекст пуст — ответь: «Извините, информации нет». Ответь кратко, не более 3 предложений. Пример:
Вход: "Как мне сбросить пароль?"
Контекст: "Для сброса пароля перейдите в настройки профиля, раздел Безопасность."
Выход: "Для сброса пароля откройте Настройки профиля > Безопасность. Следуйте инструкции на экране. Если возникнут вопросы — напишите в чат.

Кстати, если хотите научиться писать такие промпты профессионально и создавать целые AI-системы, советую глянуть курс AI-креатор: создаём контент с помощью нейросетей на Skillbox. Там как раз разбирают такие кейсы.

От хаоса к системе

У вас может возникнуть соблазн запихнуть всю логику в один гигантский workflow — не делайте этого. Три ветки, три суб-воркфлоу, чёткое разделение ответственности. Это не просто упрощает отладку — это спасает, когда в 3 часа ночи прод падает, и вы с телефона смотрите Execution, чтобы понять, в какой ветке проблема.

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

Не откладывайте — начните с одной ветки (например, с инцидентов) и постепенно достраивайте остальные. Через неделю вы удивитесь, как раньше жили без этого.

Подписаться на канал