Канал поддержки в MAX: AI-первая линия на RAG с бесшовной эскалацией оператору

Веб Штурм (собственный продукт) Клиентская поддержка / AI-интеграции 2026-06 — наст. время
AI-1st
первая линия закрывает типовые вопросы
RAG
ответы только из изолированной базы знаний
152-ФЗ
серверы в РФ + self-host операторского инбокса

Услуги

  • ai-development
  • complex-systems

Стек

  • MAX Bot API
  • LightRAG
  • Chatwoot CE
  • Astro SSR
  • HMAC opaque-token
  • self-host

Веб Штурм — клиентская поддержка и AI-интеграции. Канал поддержки в отечественном мессенджере MAX: AI-первая линия на RAG отвечает первой из изолированной базы знаний с guardrails, а сложное бесшовно уходит живому оператору в Chatwoot CE. Серверы MAX в РФ + self-host инбокса — 152-ФЗ соблюдён архитектурно. Это наш собственный продукт: мы используем его сами и разворачиваем у клиентов.

Данные кейса — о собственном продукте Веб Штурм. Метрики качественные (характер решения), без клиентских цифр.

Контекст

Клиентская поддержка через мессенджер обычно упирается в две крайности. Либо живой оператор на каждый вопрос — дорого, и большинство обращений типовые («как получить документ», «какие форматы поддерживаются»). Либо примитивный бот по кнопкам, который раздражает клиента и не отвечает на свободный вопрос.

Отдельная боль — потеря контекста: клиент приходит со страницы услуги, из кейса, из статьи, а обычный бот этот контекст теряет, и клиент вынужден заново объяснять, о чём речь.

Нужна была схема, где AI снимает типовые вопросы, контекст входа не теряется, а сложные случаи попадают человеку без разрыва диалога — аналог «открытых линий», но на отечественном мессенджере и со своей AI-первой линией.

Какие вызовы решены

Как AI-первая линия отвечает без галлюцинаций? RAG-запрос к выделенной базе знаний поддержки (отдельный, изолированный инстанс LightRAG). Ответ строится только из контекста базы, а не из общих знаний модели; guardrails запрещают обещать цены и сроки. К ответу прикладываются ссылки «Подробнее» на страницы-источники — клиент видит, откуда взят ответ. Нет ответа в базе — бот эскалирует, а не импровизирует.

Как изолировать клиентскую базу знаний от внутренних данных? Это архитектурная граница, а не настройка фильтра: отдельный инстанс с отдельным набором документов. Клиентский ассистент физически не может процитировать то, что не предназначено клиентам.

Как сделать передачу оператору бесшовной и замкнуть петлю? Эскалация в Chatwoot CE через API channel по трём триггерам: нет ответа в базе, просьба о человеке, кнопка «Соединить с оператором». Оператор видит историю и контекст входа, отвечает из единого интерфейса, ответ автоматически возвращается клиенту в MAX. Петля двусторонняя: клиент пишет дальше — сообщение снова доходит до оператора, оператор отвечает снова, контекст и история сохраняются. Никакой собственной админки операторов — Chatwoot даёт назначения, шаблоны, часы работы и CSAT из коробки.

Как сохранить контекст входа? Кнопка «в MAX» на сайте ведёт через серверный редирект, который запоминает страницу-источник (тот же подход, что у кнопки «Обсудить»: подписанный opaque-токен страницы + идентификатор перехода) и фиксирует переход как событие конверсии. Бот с первого сообщения «знает», откуда пришёл клиент.

Как делать рассылки, не нарушая 152-ФЗ? Два формата: публичный канал MAX (один-ко-многим) и адресная рассылка через бота строго по opt-in. Адресные сообщения уходят только подписчикам с согласием; команда /stop мгновенно отписывает.

Подход

  1. AI-первая линия с guardrailsRAG из изолированной базы знаний, жёсткий запрет на цены/сроки, эскалация при незнании как штатный сценарий, а не сбой.
  2. Готовый инбокс вместо велосипеда — Chatwoot CE на self-host; интеграция = один адаптер «MAX ↔ Chatwoot». Дополнительно — резервный канал через Telegram: оператор ведёт те же диалоги MAX из Telegram, а клиент остаётся в MAX. Это альтернативный операторский фронт того же диалога (как устроен мост).
  3. Единый контекст-токен на все каналы — точка входа в MAX и веб-форма используют один механизм фиксации перехода, поэтому каналы сравнимы в одной воронке.
  4. 152-ФЗ в архитектуре — серверы MAX в РФ, self-host инбокса и базы знаний в своём периметре, рассылки только по opt-in.

Результат

  • AI-первая линия снимает типовые вопросы без участия оператора, прикладывает ссылки-источники; человек подключается только к сложному.
  • Замкнутая петля «клиент ↔ AI ↔ оператор»: ответ оператора возвращается в MAX, клиент пишет дальше — двусторонний диалог в одном окне, оператор работает в едином интерфейсе Chatwoot.
  • Клиентская база знаний изолирована — ассистент не имеет доступа к внутренним данным в принципе.
  • Контекст входа со страницы сайта доезжает до бота — клиент не объясняет всё заново.
  • Канал и веб-форма сравнимы в одной воронке: видно, какой контент приводит обращение и через какой канал.
  • 152-ФЗ соблюдён конструктивно: РФ-серверы, self-host, opt-in рассылки.

Что использовали

MAX Bot API как клиентский канал (серверы в РФ). LightRAG (изолированный инстанс) для AI-первой линии. Chatwoot CE на self-host как операторский инбокс (API channel, CSAT, шаблоны, часы работы). Astro SSR-роут + opaque HMAC-токен страницы для сохранения контекста входа. Telegram — опциональный резервный мост.

Что мы можем сделать у вас

Если вам нужен клиентский канал поддержки с AI-первой линией и живым оператором в РФ-периметре — мы развернём его под ваш стек: изолированная база знаний с guardrails, бесшовная эскалация в Chatwoot, рассылки по opt-in, соответствие 152-ФЗ с первого дня. Написать нам

Часто задаваемые вопросы

Как AI-ассистент не выдумывает цены и сроки?
Ответ строится только из контекста выделенной базы знаний (RAG на изолированном инстансе LightRAG), а не из общих знаний модели. Guardrails в промпте запрещают называть цены и сроки: если данных в базе нет или клиент просит человека — бот эскалирует диалог оператору, а не импровизирует. База знаний поддержки архитектурно изолирована от внутренних данных.
Что происходит при передаче диалога оператору?
Эскалация срабатывает, когда AI не нашёл ответ в базе, клиент просит человека или нажимает кнопку «Соединить с оператором». Диалог уходит в операторский инбокс Chatwoot CE через API channel. Оператор видит всю историю и контекст входа, отвечает из единого интерфейса — ответ автоматически возвращается клиенту в MAX. Дальше петля замыкается: клиент пишет снова, оператор отвечает снова — полноценный двусторонний диалог с сохранением контекста и истории, для клиента — без «переключения систем».
Почему Chatwoot, а не своя админка операторов?
Chatwoot CE из коробки даёт назначения, шаблоны ответов, часы работы и CSAT. Своя админка — это недели разработки и постоянная поддержка. Готовый open-source инбокс на self-host (РФ-периметр, 152-ФЗ) закрывает задачу лучше, а интеграция сводится к одному адаптеру «MAX ↔ Chatwoot» через API channel.
Почему MAX, а не Telegram или WhatsApp?
MAX — отечественный мессенджер с серверами в РФ: персональные данные клиентов не покидают периметр, что критично для 152-ФЗ. Telegram остаётся опциональным резервным мостом для оператора, но основной клиентский канал — MAX, чтобы не зависеть от зарубежной инфраструктуры в сценариях с ПДн.
Когда такой канал не нужен?
Если поток обращений мал и почти все вопросы нетиповые — AI-первая линия не окупит настройку базы знаний, проще живой оператор. Канал оправдан при заметном потоке повторяющихся вопросов и требовании работать в РФ-периметре по 152-ФЗ.

Похожая задача?

Расскажите контекст — подскажем, что и как делать.