AI-автоматизация обработки входящих запросов
Наш заказчик — маркетплейс с 500+ операторами — тонул в потоке 50 000 обращений в сутки. Ручная сортировка занимала до 15 минут, 30% запросов шли не в тот отдел, сроки SLA нарушались систематически. Мы предложили автоматизировать классификацию и маршрутизацию с помощью LLM. Через три месяца среднее время ответа упало с 12 минут до 40 секунд, а нагрузка на первую линию сократилась на 60%. Экономия на операционных расходах достигла миллионов рублей в месяц — именно столько стоило содержание избыточного штата.
Почему LLM-классификация быстрее и точнее людей?
LLM обрабатывает запросы за 1.2 секунды (latency p99) — в 12 раз быстрее оператора. При этом точность маршрутизации достигает 98% против 85% у человека. Стоимость одного запроса через GPT-4o-mini — доли цента, что делает автоматизацию экономически оправданной при объёме от 500 обращений в день. AI окупается за 2–3 месяца за счёт снижения затрат на персонал.
Как устроена омниканальная архитектура?
Архитектура построена на паттерне Unified Orchestrator, который абстрагирует каналы связи и передаёт запросы через общий конвейер. Каждый канал (голос, чат, email) имеет свой процессор-адаптер, преобразующий сырые данные в единый формат IncomingRequest.
Детальная реализация процессоров
from abc import ABC, abstractmethod
from dataclasses import dataclass
@dataclass
class IncomingRequest:
id: str
channel: str
raw_content: str
metadata: dict
customer_id: str = None
class RequestProcessor(ABC):
@abstractmethod
async def process(self, request: IncomingRequest) -> dict:
pass
class UnifiedRequestOrchestrator:
def __init__(self):
self.processors = {
"voice": VoiceRequestProcessor(),
"chat": ChatRequestProcessor(),
"email": EmailRequestProcessor(),
}
self.classifier = RequestClassifier()
self.router = RequestRouter()
async def handle(self, request: IncomingRequest) -> dict:
classification = await self.classifier.classify(request)
priority = self.calculate_priority(request, classification)
return await self.router.route(request, classification, priority)
AI-классификатор обращений
В качестве ядра используем LLM с контекстным окном 128K токенов — этого достаточно для анализа длинных писем и истории диалога. Модель работает в structured output mode: возвращает JSON с полями intent, urgency, sentiment, entities. Это позволяет напрямую передавать результат в систему маршрутизации без пост-обработки.
CLASSIFICATION_SCHEMA = {
"type": "object",
"properties": {
"intent": {
"type": "string",
"enum": ["order_inquiry", "complaint", "technical_support",
"billing", "general_info", "cancellation", "compliment"]
},
"urgency": {"type": "string", "enum": ["critical", "high", "medium", "low"]},
"sentiment": {"type": "string", "enum": ["positive", "neutral", "negative", "angry"]},
"entities": {
"type": "object",
"properties": {
"order_id": {"type": "string"},
"product_name": {"type": "string"}
}
},
"summary": {"type": "string"},
"requires_human": {"type": "boolean"}
}
}
async def classify_request(text: str) -> dict:
response = await client.chat.completions.create(
model="gpt-4o-mini",
messages=[{
"role": "system",
"content": f"Классифицируй обращение клиента. JSON по схеме."
}, {"role": "user", "content": text}],
response_format={"type": "json_object"}
)
return json.loads(response.choices[0].message.content)
Настройка приоритизации SLA
SLA-правила задаются матрично: комбинация intent + sentiment даёт базовый приоритет, а флаг VIP удваивает скорость реакции. Критичные обращения (жалоба + негатив) попадают в очередь с максимальным временем ожидания 60 секунд. Все правила настраиваются через конфиг и перечитываются on the fly без перезапуска сервиса.
PRIORITY_RULES = {
("critical", "angry"): {"score": 100, "max_wait_sec": 60},
("high", "negative"): {"score": 80, "max_wait_sec": 180},
("medium", "neutral"): {"score": 50, "max_wait_sec": 600},
("low", "positive"): {"score": 20, "max_wait_sec": 1800},
}
def calculate_sla(intent: str, sentiment: str, is_vip: bool) -> dict:
base = PRIORITY_RULES.get((urgency, sentiment),
{"score": 40, "max_wait_sec": 900})
if is_vip:
base["score"] += 30
base["max_wait_sec"] //= 2
return base
Работа с редкими сценариями
Даже при минимальной разметке (100–200 примеров) модель обобщает общие паттерны. Для редких намерений используем few-shot with retrieval — подтягиваем похожие кейсы из векторной базы ChromaDB и добавляем их в промпт. Если уверенность модели ниже порога 0.7 — обращение направляется оператору с предложенным ответом. Такая стратегия даёт точность 98% даже на длинном хвосте.
Метрики оценки качества
Мы отслеживаем precision, recall, F1 по каждому intent, а также время обработки и процент эскалаций. Еженедельно проводим валидацию на свежей выборке — если accuracy падает ниже 95%, запускаем дообучение. Все метрики доступны в дашборде Grafana.
| Метрика | Оператор | AI-система |
|---|---|---|
| Точность маршрутизации | 85% | 98% |
| Среднее время ответа | 12 мин | 40 сек |
| Доля эскалаций | 30% | 2% |
| Стоимость одного обращения | ~50 руб | <1 руб |
Запишитесь на бесплатную диагностику вашего потока обращений — мы покажем, какую экономию принесёт AI.
Процесс внедрения
- Аналитика — аудит текущих потоков, сбор размеченных кейсов.
- Проектирование — выбор модели, проектирование схемы классификации, интеграция с CRM.
- Реализация — разработка процессоров, классификатора, роутера; настройка SLA.
- Тестирование — A/B-тест на 10% потока, сверка accuracy и latency.
- Деплой — постановка в production, мониторинг, обучение операторов.
| Этап | Длительность | Ключевые артефакты |
|---|---|---|
| Аналитика | 1–2 недели | Отчёт по каналам, матрица intent’ов |
| Проектирование | 1 неделя | Архитектура, выбранная модель, схема роутинга |
| Реализация | 2–3 недели | Код процессоров, классификатора, роутера |
| Тестирование | 1 неделя | Отчёт A/B-теста, показатели SLA |
| Деплой | 1 неделя | Мониторинг, документация, обучение |
Что входит в работу
- Разработка — исходный код всех компонентов, Docker-образы, CI/CD пайплайн.
- Документация — архитектурная, API-спецификация (OpenAPI), руководство оператора.
- Доступы — к репозиторию, дашбордам мониторинга (Grafana), облачной инфраструктуре.
- Обучение — 2–3 воркшопа для команды эксплуатации.
- Поддержка — 3 месяца гарантийного сопровождения (фиксация багов, консультации).
Сроки ориентировочно
Базовая система (классификатор + роутер) — от 2 до 3 недель. Полное омниканальное решение с интеграцией, SLA и мониторингом — от 2 до 3 месяцев. Стоимость рассчитывается индивидуально.
Мы реализовали более 50 подобных интеграций, 5+ лет занимаемся промышленным AI. Если хотите оценить экономию на вашем потоке — напишите нам: пришлём кейс-калькулятор за 1 день. Получите консультацию по вашему кейсу — расскажем, как снизить нагрузку на поддержку на 60%. Wikipedia: Large language model







