Перейти к содержанию

GigaChat + n8n для поддержки: черновик ответа без утечки данных

Обновлено: 2026-05-30

AI summary: Практический workflow GigaChat + n8n для поддержки: принять обращение, удалить лишние персональные данные, получить черновик ответа, проверить риск-флаги и передать оператору на review.
Шаблон для внедрения

Импортируйте workflow, замените credentials и прогоните тестовый payload до включения production.

Проблема: LLM может быстро подготовить ответ, но в поддержке ошибка по оплате, возврату или персональным данным превращается в риск для компании.

Решение: n8n должен использовать GigaChat как генератор черновика: сначала маскировать данные, затем получить draft, проверить риск-флаги и передать оператору на review.

Схема GigaChat support draft через n8n
Workflow ускоряет оператора, но не отправляет LLM-ответ клиенту напрямую.

Проблема: почему LLM-ответ поддержки нельзя отправлять напрямую

GigaChat API удобно использовать для черновиков ответов на русском языке, но поддержка — это зона с повышенным риском. В обращении могут быть телефон, email, номер заказа, спор по оплате, требование возврата или юридическая формулировка. Если автоматизация поддержки сразу отправит LLM-ответ клиенту, компания рискует дать неверное обещание или раскрыть лишние данные.

Правильный сценарий — support draft: n8n принимает обращение, маскирует персональные данные, собирает prompt с ограничениями, получает черновик от GigaChat и отправляет его оператору на review. Это ускоряет поддержку, но оставляет ответственность и финальную проверку за человеком.

Архитектура workflow GigaChat + n8n для support draft

НодаРольЧто проверить
Webhook ticket inputПолучает обращение из CRM/email/helpdeskticket_id, channel, текст клиента
Sanitize and build promptМаскирует PII и собирает promptтелефон, email, карта, лишние данные
Call GigaChat APIЗапрашивает черновикBearer token, model, timeout, retries
Fact and risk guardПроверяет риск-флагиоплата, возврат, договор, доступ
Send draft to operatorОтправляет черновик человекукнопки approve/edit, ссылка на тикет

Контракт входного обращения

{
  "ticket_id": "SUP-10492",
  "channel": "email",
  "customer_text": "Здравствуйте. Я оплатил заказ 10492, но доступ не открылся. Телефон +7 916 123-45-67. Что делать?",
  "customer_name": "Иван",
  "priority": "high",
  "kb_articles": [
    "https://example.ru/help/payment-access",
    "https://example.ru/help/refund-policy"
  ],
  "operator_chat_id": "-1001234567890"
}

В payload желательно передавать ссылки на статьи базы знаний. Тогда GigaChat получает не только вопрос клиента, но и ограниченный контекст, по которому оператор сможет проверить факты.

Code Node для очистки данных и prompt-контракта

const src = $json.body ?? $json;
const raw = String(src.customer_text ?? '').trim();
if (!raw) throw new Error('Empty support request');

const masked = raw
  .replace(/[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}/ig, '[email]')
  .replace(/\+?\d[\d\s().-]{8,}\d/g, '[phone]')
  .replace(/\d{12,19}/g, '[possible_card]');

const risky = /(возврат|договор|суд|претенз|персональн|карта|паспорт|доступ|оплат)/i.test(raw);
const prompt = `Ты помощник службы поддержки. Подготовь черновик ответа, не обещай возврат или компенсацию без проверки. Если фактов не хватает, задай уточняющий вопрос.

Обращение клиента:
${masked}`;

return [{
  json: {
    ticket_id: src.ticket_id,
    channel: src.channel ?? 'unknown',
    sanitized_text: masked,
    risky,
    gigachat_request: {
      model: 'GigaChat',
      messages: [
        { role: 'system', content: 'Готовь только черновик для оператора, не финальный ответ клиенту.' },
        { role: 'user', content: prompt }
      ],
      temperature: 0.2
    },
    review_required: true
  }
}];
Зачем маскировать данные до LLM-запроса

Для черновика ответа модели обычно не нужен полный телефон, email или номер карты. Чем меньше персональных данных уходит во внешний API, тем проще контролировать безопасность и соответствие внутренним правилам.

Готовый workflow JSON

Скачать готовый workflow JSON Скачать тестовый payload

{
  "name": "Nodbot - GigaChat support draft with PII masking",
  "nodes": [
    {
      "name": "Webhook ticket input",
      "type": "n8n-nodes-base.webhook",
      "purpose": "Принять обращение из email, CRM или helpdesk"
    },
    {
      "name": "Sanitize and build prompt",
      "type": "n8n-nodes-base.code",
      "purpose": "Замаскировать телефон/email/карты и собрать prompt"
    },
    {
      "name": "Call GigaChat API",
      "type": "n8n-nodes-base.httpRequest",
      "purpose": "Получить черновик ответа от GigaChat"
    },
    {
      "name": "Fact and risk guard",
      "type": "n8n-nodes-base.code",
      "purpose": "Проверить risky flags, ссылки на KB и полноту ответа"
    },
    {
      "name": "Send draft to operator",
      "type": "n8n-nodes-base.telegram",
      "purpose": "Отправить черновик на review оператору"
    }
  ],
  "connections": "Webhook → Sanitize → GigaChat API → Guard → Operator review"
}

Пошаговая настройка GigaChat API и review-процесса

  1. Получите доступ к GigaChat API и настройте credential/ENV для токена.
  2. Подключите источник обращений: email, CRM, Bitrix24, amoCRM или helpdesk.
  3. Добавьте Code Node для PII masking до запроса к модели.
  4. Соберите prompt-контракт: черновик, без обещаний, с уточняющими вопросами при нехватке фактов.
  5. Отправляйте результат оператору, а не клиенту напрямую.

Тесты перед production

curl -X POST "https://YOUR-N8N-DOMAIN/webhook/gigachat-support-draft" \
  -H "Content-Type: application/json" \
  --data @gigachat-support-draft-payload.json

Проверьте тикет с оплатой, тикет с персональными данными, пустое обращение, запрос на возврат, длинное письмо и отсутствие KB-ссылок. Workflow должен маскировать данные, ставить risk flag и не выпускать ответ без review.

Production-риски LLM в поддержке

  • LLM отправляет финальный ответ. Для чувствительной поддержки используйте только draft + review.
  • PII уходит в API без фильтра. Маскируйте телефон, email, карты и лишние идентификаторы.
  • Нет проверки фактов. Черновик должен ссылаться на KB или требовать уточнения.
  • Токен GigaChat попал в execution. Храните credentials в ENV/credential store и не логируйте headers.
  • Нет лимитов и fallback. При 401/429/timeout оператор должен получить понятную ошибку, а не молчание.

См. также Telegram AI-бот с approval, RAG FAQ bot на Qdrant, уведомления об ошибках и права AI-агентов. Официальные документы: GigaChat REST API и n8n HTTP Request.

Карточка черновика ответа поддержки от GigaChat в n8n
Оператор получает маскированный текст, риск-флаги и черновик, а не автоматический ответ клиенту.

Критерии готовности

  1. Телефон, email и похожие на карту значения маскируются до LLM-запроса.
  2. GigaChat возвращает черновик, а не финальный ответ клиенту.
  3. В рискованных темах включается обязательный human review.
  4. Ошибки API и лимиты уходят в alert.
  5. Оператор видит ссылку на тикет, исходный текст и KB-контекст.
Хотите ускорить поддержку без утечек данных?

Nodbot настроит GigaChat support draft: PII masking, prompt-контракт, review, SLA, мониторинг ошибок и интеграцию с вашей CRM/helpdesk.

Настроить support draft