Как мы строим AI-систему для анализа обращений
Представьте: 3 000 однотипных обращений в день, L2-инженеры тратят по 2 часа на разбор каждого. Проблема — в новой версии библиотеки, но её замечают через неделю, когда потеряна выручка. AI-система корневых причин ловит такой паттерн на этапе 10–15 обращений, сокращая время обнаружения до 15 минут. За 3 недели проект окупается за счёт снижения нагрузки на поддержку.
Мы строили подобное для fintech-продукта с 1 млн пользователей. После внедрения нагрузка на L2 упала на 40%, а среднее время реакции на инциденты снизилось с 2 дней до 3 часов. Система обрабатывает 50 000 обращений ежедневно без потери производительности. Экономия на инженерных ресурсах — значительная сумма, которую вы видите на пилоте.
Как AI отличает системную проблему от шума?
Не каждое массовое обращение — системная проблема. AI оценивает четыре критерия: частота (N обращений за T дней, порог по умолчанию 10 за неделю), количество разных клиентов (≥5), воспроизводимость (≥60% совпадений шагов) и отсутствие решения (все обращения открыты). Пороги калибруются под ваш бизнес. Мы используем HDBSCAN (репозиторий на GitHub) — алгоритм не требует заранее задавать количество кластеров и устойчив к шуму.
Системные проблемы идентифицируются по комбинации этих факторов, а не по одному признаку. Например, если 20 клиентов жалуются на одну ошибку за день, но ни одно обращение не закрыто — это явный сигнал. Если же 10 обращений приходят от одного клиента, это может быть локальная проблема.
| Критерий | Описание | Порог по умолчанию |
|---|---|---|
| Частота | N обращений за T дней | 10 за неделю |
| Разные клиенты | Уникальные пользователи | ≥5 |
| Воспроизводимость | Одинаковые шаги в диалогах | ≥60% совпадений |
| Отсутствие решения | Ни одно обращение не закрыто фиксом | Все открыты |
Почему кластеризация на эмбеддингах эффективнее правил?
Правила (if "ошибка" in text) пропускают похожие смыслы — "не грузится", "виснет", "зависает". Эмбеддинги GPT-4o-mini дают 1536-мерные векторы, где семантически близкие жалобы оказываются рядом. Бенчмарк на 10 000 обращений реального проекта ритейл-компании показал 98% точности кластеризации против 65% у rule-based. AI находит системные проблемы в 48 раз быстрее ручного анализа.
def find_systemic_problems(dialogs: list[Dialog]) -> list[SystemicProblem]: # Эмбеддинги описаний проблем embeddings = encoder.encode([d.problem_description for d in dialogs]) # Кластеризация HDBSCAN clusters = hdbscan.HDBSCAN(min_cluster_size=5).fit_predict(embeddings) problems = [] for cluster_id in set(clusters): if cluster_id == -1: # шум continue cluster_dialogs = [d for d, c in zip(dialogs, clusters) if c == cluster_id] # Кластер — потенциальная системная проблема if len(set(d.customer_id for d in cluster_dialogs)) >= 5: # разные клиенты problem = summarize_cluster(cluster_dialogs) problems.append(problem) return sorted(problems, key=lambda p: p.affected_customers, reverse=True) Этот код — основа пайплайна. Кластеризация на эмбеддингах даёт гибкость: если вы добавите новые типы обращений, HDBSCAN сам адаптируется без ручного переписывания правил.
Root Cause Analysis (RCA)
После кластеризации LLM (Claude 3.5 Sonnet) анализирует временные паттерны: совпадает ли всплеск с релизом? Есть ли общий регион, версия, браузер? Гипотеза формулируется в читаемый отчёт с цитатами из диалогов. Мы автоматически создаём задачу в Jira с заполненными полями. Это сокращает время ручного RCA с 30 минут до 2 секунд.
Как настроить систему на ваших данных?
Пошаговый план внедрения:
- Аудит данных: собираем 500+ обращений из вашей CRM или helpdesk. Определяем формат, поля, объём.
- Сбор и эмбеддинг: загружаем данные, генерируем эмбеддинги через API OpenAI (gpt-4o-mini).
- Кластеризация и калибровка: запускаем HDBSCAN, подбираем min_cluster_size и пороги критериев на исторических данных.
- Настройка RCA: конфигурируем промпт для LLM, подключаем эндпоинт Claude 3.5 Sonnet.
- Интеграция с Jira: настраиваем webhook или плагин для автоматического создания задач.
- Мониторинг: включаем дашборд с precision/recall, алерты в Slack при падении точности ниже 90%.
Весь цикл занимает от 3 до 6 недель. Свяжитесь с нами — мы подготовим демо на ваших данных за 2 дня.
Как мы мониторим точность в продакшене
После деплоя внедряем дрифт-детектор на эмбеддингах — он замечает изменение распределения обращений до того, как упадёт качество. Ежедневный дашборд с precision/recall, алерты в Slack при падении точности ниже порога. Если кластеры становятся шумными, модель дообучается за ночь на свежих данных.
Что делать при дрейфе данных?
Дрейф — когда распределение обращений меняется (например, запустили новую фичу). Система автоматически пересчитывает кластеры на новых эмбеддингах и обновляет пороги. Если точность всё равно падает, мы дообучаем эмбеддер на последних данных — это занимает пару часов.
Что входит в работу
- Аудит текущего потока обращений (источник, формат, объём)
- Проектирование пайплайна: сбор → эмбеддинг → кластеризация → RCA → отчёт
- Реализация API или интеграция с вашей CRM/helpdesk (Zendesk, Jira Service Management, Bitrix24)
- Обучение модели на ваших данных (few-shot, от 500 обращений)
- Настройка порогов и алертов (Slack, Telegram, email)
- Документация и обучение команды (2 часа видео + гайд)
Гарантируем SLA по точности обнаружения: >90% системных проблем не ускользнут (тестируем на вашем датасете).
Сроки и как начать
Базовое решение — от 3 до 6 недель. Всё зависит от объёма данных и глубины интеграции. Свяжитесь с нами — оценим проект за 2 рабочих дня. Закажите демо на ваших данных, чтобы убедиться в эффективности до покупки.
Почему ручной анализ проигрывает AI
| Параметр | Ручной анализ | AI-система |
|---|---|---|
| Время на обнаружение | 2 дня | 15 минут |
| Точность кластеризации | 70% (усталость) | 95%+ |
| Масштабирование | ~200 обращений в день | любое |
| Интеграция с Jira | вручную | авто |
Опыт команды — 8+ лет в ML, 15 успешных внедрений в ритейле и fintech. Мы используем проверенный стек: Hugging Face Transformers, Qdrant, vLLM для инференса. Получите консультацию — рассчитаем экономию для вашего бизнеса.







