12 поломок сайта, которые ИИ-ассистент видит раньше владельца

📅 Опубликовано:
ИИ-ассистентRAGчат-ботмониторинг сайтатехническая поддержка
12 поломок сайта, которые ИИ-ассистент видит раньше владельца

Коротко: ИИ-ассистент на сайте первым фиксирует поломки, потому что люди жалуются ему раньше, чем звонят в поддержку. По диалогам и логам видно 12 типовых сбоев: от 5xx и просроченного TLS-сертификата до неотправленных форм, рассинхрона цен в RAG-базе и дублей с GET-параметрами. Чтобы это работало, нужны три вещи: логирование каждого диалога, теги «не получилось» и оповещение при всплеске таких тегов за 10–15 минут.

Содержание

Почему ИИ-ассистент узнаёт о поломке раньше владельца?

Потому что он стоит ровно в том месте, где человек застревает. Когда кнопка не нажимается или страница не открывается, пользователь редко идёт писать письмо – он открывает чат и пишет одну строчку вроде «у вас не работает». Ассистент получает этот сигнал в ту же минуту.

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

Есть и вторая причина. Чат-бот – такой же клиент сайта, как браузер посетителя. Он дёргает поиск по каталогу, подтягивает цены, отдаёт ссылки на страницы, зовёт API формы. Каждая из этих операций оставляет в логе код ответа, и по логу видно поломку даже без единой жалобы.

Диалоги ассистента – это journal of pain, дневник болей. Мониторинг скажет «сервер отвечает 200», а дневник покажет, что при этом никто не может оформить заказ.

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

План статьи: 12 поломок сайта, которые ИИ-ассистент видит раньше владельца

Какие 12 поломок видно по диалогам ассистента?

Коротко: чаще всего это сбои доступности (5xx, DNS, TLS, медленный ответ), разрывы в контенте и индексации (404, noindex, дубли, устаревшие цены) и обрывы на действиях (формы, оплата, поиск, мобильная вёрстка). Ниже – все двенадцать с признаками, по которым их узнают в переписке.

Инфраструктура и доступность

  1. Сервер отвечает ошибками 5xx. Коды 500, 502, 503 и 504 означают, что проблема на стороне сайта. В чате это выглядит как «страница белая», «всё висит», а в логе ассистента – как шквал неуспешных запросов к внутренним методам. Виджет при этом часто живёт на отдельном поддомене и продолжает работать, поэтому и становится единственным каналом связи.
  2. Домен не разрешается в IP. Сбой DNS даёт самую коварную картину: у части пользователей сайт открывается, у части – нет, и зависит это от провайдера и региона. Признак в переписке – жалобы кучкой из одного города при нормальных метриках сервера.
  3. Проблема с TLS-сертификатом. Просроченный сертификат, неполная цепочка, несовпадение имени домена или отсутствие сертификата на поддомене с www. Браузер показывает предупреждение, человек пугается и пишет «вы меня на вирус отправляете?». Сюда же относится смешанный контент: страница по HTTPS тянет картинку или скрипт по HTTP, и часть элементов не грузится.
  4. Сервер отвечает медленно. Деградация редко бывает тотальной – сначала тормозит один тяжёлый раздел: фильтры каталога, личный кабинет, корзина. Ориентиры здесь публичные: LCP до 2,5 секунды, CLS до 0,1, INP до 200 миллисекунд. Когда ассистент сам ждёт ответа каталога дольше обычного, это видно по времени его собственных запросов.

Контент, индексация и поиск

  1. 404 на важных страницах. Классика после переноса, смены ЧПУ или чистки каталога. Поймать легко: ассистент отдаёт пользователю ссылку из своей базы знаний, человек возвращается с «страница не найдена». Это прямое доказательство, что индекс ассистента и реальный сайт разъехались.
  2. Страницы закрыты от индексации. Релиз с тестового контура нередко приносит с собой noindex в метатегах или запрещающую директиву в robots.txt. Органика падает не сразу, зато по диалогам видно раньше: люди перестают приходить с конкретных запросов и начинают спрашивать ассистента то, на что был отдельный материал.
  3. Дубли с GET-параметрами. UTM-метки, сортировки, фильтры и пагинация множат адреса, которые отдают одно и то же содержимое. Поисковику приходится выбирать основную версию сам, а ассистент на RAG начинает возвращать по одному вопросу несколько почти одинаковых фрагментов – это первый заметный симптом.
  4. Внутренний поиск не находит очевидное. Люди спрашивают словами из своей жизни, а поиск по сайту ищет по точному совпадению. Логи ассистента – готовый список таких промахов: там видно и формулировки, и то, что человек не нашёл. Эти же логи потом помогают собрать семантическое ядро по реальным формулировкам пользователей.

Действия, конверсия и интеграции

  1. Формы не доходят. Самый дорогой тип поломки, потому что сайт при этом выглядит здоровым. Варианты: сломалась капча, валидация телефона не принимает новый формат, почтовый сервис режет письма, вебхук в CRM отвалился по токену. В проекте VINExperts мы делали формы обращений и телефонию – это как раз тот контур, который обязательно нужно проверять сквозным тестом, а не глазами.
  2. Оплата обрывается на последнем шаге. Эквайринг возвращает редирект в никуда, отваливается 3-D Secure, не сходится сумма. В чате это фразы «списали и ничего», «не могу оплатить картой». Ассистент здесь ещё и буфер: он фиксирует контакт, пока оплата лежит.
  3. Цены и наличие не совпадают с реальностью. Фид не обновился, остатки замерли, акция закончилась на сайте и не закончилась в базе ассистента. Человек приходит с «вы же говорили, что 15 тысяч» – и формально он прав.
  4. Мобильная вёрстка перекрывает интерфейс. Виджет чата накрывает кнопку заказа, попап не закрывается на маленьком экране, липкая шапка съедает первый экран. Про это почти не пишут в поддержку, зато в чате спрашивают «а как у вас купить-то».

Отдельно упомяну сбои, где сайт начинает отдавать посторонние редиректы или чужие тексты. Разбор этого – отдельная история, мы её выносили в материал про нейросети, которые отслеживают подозрительную активность на сайте.

Как перевести фразу пользователя в техническую причину?

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

Что пишет человекВероятная причинаГде смотреть первым делом
«Сайт не открывается», «белый экран»5xx, упал бэкенд или кончилось место на дискеЛоги веб-сервера и приложения, свободное место, статус процессов
«У меня не грузится, у коллеги работает»DNS или кеш на стороне провайдера, частичная недоступностьЗаписи зоны, TTL, доступность с разных сетей
«Браузер пишет, что соединение небезопасно»Сертификат, цепочка, поддомен без TLSСрок действия, полнота цепочки, редиректы HTTP→HTTPS
«Всё очень долго думает»Медленный ответ сервера, тяжёлые запросы к БДВремя ответа по разделам, медленные запросы, нагрузка
«Ваша ссылка не работает»404 после переноса, устаревшая база знаний ассистентаКарта редиректов, дата последней переиндексации базы
«Отправил заявку, никто не позвонил»Форма, письма, вебхук в CRMЖурнал отправок, очередь писем, ответы интеграции
«Не могу оплатить»Платёжный шлюз, редирект после оплатыСтатусы транзакций, обратные вызовы шлюза
«Нашёл у вас дешевле вчера»Рассинхрон цен между сайтом и базой ассистентаВремя последней синхронизации фида

Такая таблица – рабочий документ, который держат рядом с настройками ассистента: каждая строка превращается в тег, тег – в правило оповещения.

Нужна помощь с этой задачей? Команда DS495 решит её под ключ. Обсудить проект →
Раздел статьи: 12 поломок сайта, которые ИИ-ассистент видит раньше владельца

Как настроить ассистента, чтобы он работал датчиком сбоев?

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

  1. Логируйте диалог целиком с метаданными. К каждому сообщению пишите URL страницы, тип устройства, регион по IP, идентификатор сессии и версию сборки фронтенда. Без страницы и версии сборки вы потом не поймёте, где именно сломалось.
  2. Опишите классы проблем. Возьмите таблицу из предыдущего раздела и превратите её в список тегов: unavailable, tls_warning, slow, broken_link, form_failed, payment_failed, price_mismatch, mobile_ui. Больше десяти-двенадцати тегов делать не стоит, иначе классификация размывается.
  3. Поручите разметку модели. Это задача, где языковые модели сильны: ей на вход реплика, на выход – тег и уверенность. Подойдёт любая из распространённых – семейства GPT или Claude справляются с такой классификацией на коротком промпте с примерами. Реплики с низкой уверенностью складывайте в отдельную корзину на ручной просмотр.
  4. Пишите в тот же лог собственные неудачи ассистента. Если он не смог получить ответ от каталога, получил 404 по ссылке из базы или вышел в таймаут – это событие ценнее любой жалобы, потому что приходит без участия человека.
  5. Задайте пороги оповещений. Рабочая логика: три и больше однотипных тега в окне 10–15 минут – сообщение в рабочий чат; любой payment_failed – сразу. Пороги подбирают под трафик: на небольшом сайте один сигнал уже событие, на крупном три за минуту ничего не значат.
  6. Настройте маршрутизацию. Инфраструктурные теги – техническому специалисту, price_mismatch – контент-менеджеру, form_failed – тому, кто отвечает за CRM. Оповещение без адресата всегда остаётся без реакции.
  7. Раз в неделю читайте логи руками. Сводка по тегам показывает тренды, а живые диалоги – формулировки, которых нет ни в одном классе. Из них рождаются новые теги.

Техническая часть интеграции – отдельный разговор про виджет, контекст и подключение к данным сайта; мы разбирали её в материале про этапы внедрения ИИ-ассистента на сайт.

Почему RAG-база расходится с сайтом и как это поймать?

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

Схема простая. Страницы разбиваются на фрагменты, фрагменты превращаются в векторы, вектор ищется по смыслу запроса. Если страницу удалили, а фрагмент остался – ассистент процитирует удалённое. Если цену поменяли, а переиндексации не было – назовёт старую.

Такой рассинхрон выгоден тем, что он измерим. Достаточно сравнивать базу с реальностью и считать расхождения.

ПроверкаЧто сравниваемКак часто имеет смысл
Живость ссылокВсе URL из базы знаний → код ответа сайтаЕжедневно, автоматически
Полнота покрытияКарта сайта → список проиндексированных документовПосле каждого релиза
Свежесть фрагментаДата изменения страницы → дата индексацииЕжедневно по товарам и ценам
Дубли смыслаПочти идентичные фрагменты из разных URLРаз в месяц
Контрольные вопросы20–30 эталонных запросов с известными ответамиПосле обновления базы

Проверка живости ссылок закрывает сразу две темы: находит битые страницы на сайте и чистит базу. Проверка дублей смысла вылавливает те самые адреса с GET-параметрами – в векторном индексе они выглядят как несколько копий одного фрагмента.

Для каталогов это особенно критично, потому что цена и наличие меняются чаще любого текста. Подходы к синхронизации товарных данных мы описывали в разборе RAG-системы для интернет-магазина.

Что делать в первый час после сигнала?

Коротко: подтвердить сбой независимо от чата, определить масштаб, включить честное сообщение в виджете и только потом искать причину. Порядок важен – без подтверждения легко потратить час на несуществующую проблему.

  • Первые 5 минут. Откройте сайт с мобильного интернета и из другой сети. Проверьте код ответа главной и той страницы, которая мелькает в жалобах. Посмотрите срок действия сертификата.
  • 5–15 минут. Оцените охват: один регион, одно устройство, один раздел или всё сразу. Один раздел почти всегда означает конкретный релиз или интеграцию.
  • 15–30 минут. Включите в ассистенте режим инцидента: короткое сообщение, что проблема известна, и обязательный сбор контакта. Люди спокойно оставляют телефон, когда им прямо говорят, что сейчас не работает.
  • 30–60 минут. Откатите последнее изменение, если оно было, или поднимите резервную копию. Поиск первопричины на горячем инциденте почти всегда дороже отката.
  • После. Запишите в журнал: что сломалось, какой тег поймал это первым, сколько прошло до реакции. Этот журнал потом сам показывает, какие проверки надо автоматизировать.

Режим инцидента в чате стоит прописать заранее, вместе с текстом. Импровизировать под давлением – плохая идея, формулировки получаются либо виноватыми, либо грубыми.

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

Какие ошибки чаще всего ломают эту схему?

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

  1. Логи без контекста. Текст реплики без URL, устройства и версии сборки превращает инцидент в угадайку. Это самая частая и самая обидная ошибка, потому что лечится парой полей.
  2. Слишком обходительный бот. Если ассистент на любое «не работает» отвечает «извините за неудобства, попробуйте позже», он глушит сигнал. Правильное поведение – уточняющий вопрос про страницу и устройство плюс тег в лог.
  3. Оповещение в пустоту. Сообщение в общий чат без ответственного человека читают все и не делает никто. У каждого класса проблем должен быть владелец и дублирующий канал.
  4. Один порог на всё. Пять однотипных жалоб – разумный порог для подсказок по интерфейсу и катастрофически поздний для оплаты. Пороги задают по тегам.
  5. База знаний без расписания. Разовая индексация при запуске оставляет расхождение уже через месяц. Нужен регламент: тексты – по событию публикации, цены и остатки – по графику.
  6. Правки виджета без проверки. Чат живёт на тех же страницах, что и кнопка заказа, и легко её перекрывает после редизайна. Перед релизом стоит пройти основной сценарий покупки на телефоне с открытым и свёрнутым чатом.

Ещё один сюжет – чрезмерные ожидания от модели. Классификация жалоб и поиск по базе даются языковым моделям хорошо, а вот предсказывать аварию «по косвенным признакам» без размеченной истории инцидентов они не умеют. Для этого нужны накопленные данные, и накапливать их начинают как раз с журнала инцидентов.

Чего ассистент не увидит никогда?

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

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

Тип проблемыКто поймает первымЧто нужно иметь
Полное падение сайтаВнешний мониторинг доступностиПроверка главной и ключевых страниц из нескольких сетей
Истечение срока сертификатаКалендарное оповещениеНапоминание заранее, не в день окончания
Ошибки обхода роботамиПанель вебмастераРегулярный просмотр раздела с ошибками
Плавное замедлениеМетрики производительностиИстория времени ответа по разделам
Боль пользователя при живом сайтеДиалоги ассистентаЛогирование, теги, пороги

Последняя строка таблицы – та, которую обычно забывают. Технически исправный сайт, где люди не могут купить, выглядит в мониторинге идеально.

Отдельная история – сервисы, где чат встроен в сам продукт. В платформе Koderion мы делали чат и безопасную сделку между заказчиком и специалистом 1С: там переписка и есть основной рабочий инструмент, поэтому любая её заминка видна сразу и обеим сторонам. Если чат-бот подключён к такому сценарию, его логи становятся лучшим индикатором здоровья всего сервиса. Похожая логика работает и в мобильных продуктах – мы разбирали её в материале про RAG-чат-бота внутри мобильного приложения.

Частые вопросы

В: Заменяет ли ИИ-ассистент систему мониторинга?

О: Нет. Мониторинг проверяет доступность и время ответа без участия людей, включая ночь и выходные. Ассистент показывает другое – что именно у человека не получилось при формально работающем сайте. Это разные слои наблюдения, и работают они вместе: один ловит отказы инфраструктуры, второй – обрывы пользовательских сценариев.

В: Какие теги завести в первую очередь?

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

В: Как часто обновлять RAG-базу знаний?

О: Тексты и статьи – по событию публикации или правки, через вебхук из CMS. Цены, остатки и акции – по расписанию, у каталогов это обычно несколько раз в сутки. Плюс ежедневная автопроверка: все URL из базы прогоняются на код ответа, страницы с 404 и 410 удаляются из индекса.

В: Сколько жалоб считать сигналом аварии?

О: Порог зависит от трафика и типа проблемы. Рабочая отправная точка – три однотипных тега в окне 10–15 минут для инфраструктурных сбоев и один сигнал для оплаты. На сайтах с небольшой посещаемостью порог снижают до единицы, на крупных поднимают, иначе оповещения перестают читать.

В: Что делать, если ассистент сам отдаёт битые ссылки?

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

В: Можно ли предсказывать поломки заранее?

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

В: Виджет чата может сам стать источником проблем?

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

Читайте также

Нужна помощь с этим? Обсудить проект с DS495 →

Материал подготовил Альберт К.