«Давайте наберём AI-ботов — и поддержка станет дешевле». Что может пойти не так
Практика · AI-поддержка · LLM · workflow · customer experience
AI в поддержке может сократить стоимость обработки обращений и ускорить первый ответ. Но если модель не встроена в систему управления состоянием, сущностями и ответственностью, клиент получает мгновенную реакцию вместо решения. Разбираю на реальном случае, почему простая операция растянулась примерно на пять часов и как спроектировать поддержку иначе.
Коротко: история чата — не состояние задачи, созданный аккаунт — не достигнутый результат, а быстрый первый ответ — не быстрое решение.
Простая операция, которая заняла пять часов
Заказчик по ошибке зарегистрировался не в том продукте одного провайдера. Аккаунт был пустым: без сайтов, доменов, почты и баз данных. Требовалось перенести доступный баланс из аккаунта виртуального хостинга в новый Cloud-аккаунт, чтобы купить сервер.
Сначала мы пытались понять, почему не получается войти в личный кабинет. Поддержка проверила блокировку и ограничения по стране и IP. Позже причина выяснилась отдельно: у виртуального хостинга и Cloud были разные системы авторизации. Пользователь мог считать, что зарегистрирован у одного провайдера, но фактически оказался в другом продукте с другим кабинетом.
После этого запрос стал предельно конкретным: перенести весь баланс между двумя продуктами компании. Тем не менее диалог несколько раз проходил один цикл:
-
Пользователь описывает задачу
Указывает источник, получателя и желаемый результат.
-
Агент снова уточняет контекст
Часть уже известных данных приходится повторять.
-
Диалог передают коллеге
Новый участник заново восстанавливает смысл переписки.
-
Цикл начинается сначала
Ответ появляется быстро, но операция не приближается к завершению.
Проблема здесь не обязательно в конкретной модели или операторе. Это архитектурный дефект: у обращения не было надёжного общего состояния и владельца, отвечающего за результат.
История чата — не состояние задачи
Передать следующей модели последние 50 сообщений полезно, но этого недостаточно. Модель получает текст и каждый раз заново определяет:
- Кто участвуетКто пишет в поддержку, кто владелец и от чьего имени выполняется операция.
- Какие сущности связаныАккаунт обращения, исходный Hosting-аккаунт, целевой Cloud-аккаунт и email владельца.
- Что уже известноКакие факты подтверждены, какие только предположены и какие данные противоречат друг другу.
- Что уже сделаноПроверки, успешные действия, ошибки и действия, ожидающие подтверждения.
- Чего ждёт клиентНе внутреннего события, а конкретного результата, который можно проверить.
- Кто действует дальшеAI, профильная очередь или сотрудник с нужными полномочиями.
Каждый handoff превращается в повторную задачу классификации. Даже если агент правильно восстанавливает контекст в 95% случаев, десять независимых восстановлений дадут лишь около 60% вероятности пройти всю цепочку без единой ошибки. Это иллюстрация накопления риска, а не оценка конкретной поддержки.
Что должен хранить backend
Уже после нескольких реплик система могла сформировать структурированное состояние обращения. Реальные реквизиты здесь намеренно обезличены.
{
"intent": "transfer_full_balance",
"source": {
"account_id": "hosting_account_redacted",
"product": "virtual_hosting",
"owner_verified": true
},
"destination": {
"account_id": "cloud_account_pending",
"product": "cloud",
"owner_verified": false
},
"assets": {
"balance": "all_available",
"sites": 0,
"domains": 0,
"mailboxes": 0,
"databases": 0
},
"status": "identity_verification_required",
"next_action": "verify_owner",
"completion": [
"balance_visible_in_cloud",
"customer_can_sign_in",
"server_purchase_available"
]
}
Следующий агент должен начинать не с вопроса «Что у вас случилось?», а с проверяемого контракта передачи: причина handoff, известные и подтверждённые факты, выполненные и неудачные действия, недостающие данные и следующий шаг.
Точный факт, привязанный не к той сущности
В диалоге поддержка назвала конкретную сумму баланса. После уточнения оказалось, что сумма относилась к другому аккаунту. Это не просто неточный ответ, а ошибка entity resolution.
В одном обращении одновременно присутствовали аккаунт, из которого писали в поддержку, аккаунт заказчика, продукты Hosting и Cloud, а также email владельца. Если интерфейс или AI не хранит связь «факт → сущность → источник → время проверки», возникает опасная комбинация:
Правильный факт + неправильная сущность = неправильный ответ.
Такой ответ особенно убедителен: он содержит точное число и выглядит результатом проверки. Поэтому критичные данные нельзя хранить только внутри пересказа модели. Для них нужны идентификаторы сущностей, provenance и статус подтверждения.
Техническое событие не равно пользовательскому результату
В конце поддержка сообщила, что Cloud-аккаунт создан. Войти в него пользователь не смог. Вероятно, внутренний workflow завершился на техническом событии:
cloud_account_created = true
Но бизнес-результат выглядел иначе:
customer_can_access_cloud = true
balance_is_visible = true
server_purchase_is_available = true
Пока вся последовательность не проверена, обращение нельзя считать решённым. Поддержка отвечает не за успешный вызов внутреннего API, а за достижение понятного клиенту outcome.
Семь видов состояния для AI-поддержки
Что известно из разговора
Намерение пользователя, ограничения, уточнения и предпочтительный канал связи.
С какими объектами работает система
Люди, аккаунты, продукты, платежи, заказы и связи между ними.
На каком этапе находится операция
Текущий статус, допустимые переходы, блокирующие условия и таймауты.
Откуда получен каждый критичный факт
Сообщение клиента, ответ API, запись оператора или результат проверки; кем и когда подтверждено.
Кто отвечает за следующий шаг
Конкретный агент, оператор или очередь с нужными правами и SLA.
Какое действие должно произойти
Один исполнимый шаг с входными данными, ожидаемым результатом и обработкой ошибки.
По каким условиям задача завершена
Проверяемый пользовательский результат, а не факт отправки команды или создания записи.
Как встроить LLM в оркестратор поддержки
LLM полезна в этой системе, но не должна быть единственным местом, где существует бизнес-процесс. Её роль — понимать неструктурированный язык и помогать выбрать следующий шаг.
-
Извлечение данных
После каждого сообщения модель возвращает intent, entities, facts и requested_action по заданной схеме.
-
Валидация и запись
Backend проверяет типы, связывает факты с сущностями, фиксирует источник и сохраняет изменения.
-
Разрешение конфликтов
Новое значение не молча переписывает подтверждённый факт. Система создаёт конфликт и запрашивает проверку.
-
Выбор workflow
Правила определяют допустимое действие: запросить данные, вызвать API, передать специалисту или остановить рискованную операцию.
-
Контракт handoff
Получатель видит структурированный контекст, причину передачи и следующий шаг, а не только длинную переписку.
-
Проверка outcome
Система закрывает задачу лишь после выполнения completion criteria или явного подтверждения клиента.
У обращения должен быть владелец
Цепочка agent → agent → agent не может продолжаться бесконечно. Если текущий участник не способен выполнить действие, обращение должно попасть в конкретную очередь или к сотруднику с нужными полномочиями. Вместе с задачей передаётся ответственность и устанавливается срок следующего шага.
| Слабая реализация | Рабочая реализация |
|---|---|
| Каждый агент читает весь чат | Агент получает состояние и последние релевантные сообщения |
| Факты существуют внутри текста | Факты связаны с сущностями и источниками |
| Передача «коллеге» без адресата | Маршрутизация в очередь с нужными полномочиями |
| Завершено внутреннее действие | Достигнут и проверен результат для клиента |
| Оптимизируется First Response Time | Оптимизируется Time to Resolution и доля решений без повторного контакта |
Что измерять кроме скорости первого ответа
- Time to ResolutionСколько времени проходит до реального решения, а не до первой реплики.
- First Contact ResolutionКакая доля обращений решается без повторного контакта и новой очереди.
- Handoffs per CaseСколько передач требуется и какая доля из них действительно необходима.
- Context RepetitionСколько раз клиент повторяет уже сообщённые сведения.
- Entity Error RateКак часто правильные данные связываются не с тем аккаунтом, заказом или пользователем.
- Outcome VerificationКакая доля закрытых задач прошла автоматическую или пользовательскую проверку результата.
First Response Time в три секунды может хорошо выглядеть на dashboard. Клиент запомнит пять часов до решения.
Частые вопросы об AI в технической поддержке
Можно ли передавать LLM всю историю чата?
Да, как дополнительный контекст. Но критичные факты, сущности, статусы workflow, выполненные действия и критерии завершения должны храниться структурированно в backend. Иначе каждый новый агент заново интерпретирует переписку.
Какие задачи AI действительно хорошо решает в поддержке?
Классификацию запроса, извлечение параметров, поиск по базе знаний, подготовку ответа, резюме диалога и выбор подходящего workflow. Выполнение рискованных операций и изменение подтверждённых данных требуют правил, проверок и контроля полномочий.
Когда нужно передавать обращение человеку?
Когда нужны полномочия, которых нет у AI, возник конфликт подтверждённых данных, операция необратима или риск превышает установленный порог. Передавать нужно конкретному исполнителю или профильной очереди вместе со структурированным контрактом handoff.
Когда обращение можно считать завершённым?
Когда выполнены заранее определённые критерии пользовательского результата. Создание аккаунта или успешный ответ API сами по себе недостаточны, если клиент всё ещё не может войти, увидеть баланс или выполнить нужное действие.
Спроектировать AI-поддержку вокруг результата
Проблема AI-ботов поддержки не в том, что современные модели «слишком глупые». Проблема начинается, когда вокруг модели нет инженерной системы. Без состояния, идентификации сущностей, provenance, workflow, ownership и проверяемого результата получается очень современная поддержка: каждый отвечает мгновенно, но никто не отвечает за решение.
AI-поддержка · LLM · State Management · Workflow · Entity Resolution · Customer Experience
