«Давайте наберём AI-ботов — и поддержка станет дешевле». Что может пойти не так

Практика · AI-поддержка · LLM · workflow · customer experience

AI в поддержке может сократить стоимость обработки обращений и ускорить первый ответ. Но если модель не встроена в систему управления состоянием, сущностями и ответственностью, клиент получает мгновенную реакцию вместо решения. Разбираю на реальном случае, почему простая операция растянулась примерно на пять часов и как спроектировать поддержку иначе.

AI-поддержка: история чата, структурированное состояние, workflow и результат для клиента
Модель помогает понять запрос, но состояние обращения, маршрутизация и критерии завершения должны жить в backend.

Коротко: история чата — не состояние задачи, созданный аккаунт — не достигнутый результат, а быстрый первый ответ — не быстрое решение.

Простая операция, которая заняла пять часов

Заказчик по ошибке зарегистрировался не в том продукте одного провайдера. Аккаунт был пустым: без сайтов, доменов, почты и баз данных. Требовалось перенести доступный баланс из аккаунта виртуального хостинга в новый Cloud-аккаунт, чтобы купить сервер.

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

После этого запрос стал предельно конкретным: перенести весь баланс между двумя продуктами компании. Тем не менее диалог несколько раз проходил один цикл:

  1. Пользователь описывает задачу

    Указывает источник, получателя и желаемый результат.

  2. Агент снова уточняет контекст

    Часть уже известных данных приходится повторять.

  3. Диалог передают коллеге

    Новый участник заново восстанавливает смысл переписки.

  4. Цикл начинается сначала

    Ответ появляется быстро, но операция не приближается к завершению.

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

История чата — не состояние задачи

Передать следующей модели последние 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-поддержки

01 · CONVERSATION

Что известно из разговора

Намерение пользователя, ограничения, уточнения и предпочтительный канал связи.

02 · ENTITIES

С какими объектами работает система

Люди, аккаунты, продукты, платежи, заказы и связи между ними.

03 · WORKFLOW

На каком этапе находится операция

Текущий статус, допустимые переходы, блокирующие условия и таймауты.

04 · EVIDENCE

Откуда получен каждый критичный факт

Сообщение клиента, ответ API, запись оператора или результат проверки; кем и когда подтверждено.

05 · OWNERSHIP

Кто отвечает за следующий шаг

Конкретный агент, оператор или очередь с нужными правами и SLA.

06 · NEXT ACTION

Какое действие должно произойти

Один исполнимый шаг с входными данными, ожидаемым результатом и обработкой ошибки.

07 · COMPLETION

По каким условиям задача завершена

Проверяемый пользовательский результат, а не факт отправки команды или создания записи.

Как встроить LLM в оркестратор поддержки

LLM полезна в этой системе, но не должна быть единственным местом, где существует бизнес-процесс. Её роль — понимать неструктурированный язык и помогать выбрать следующий шаг.

  1. Извлечение данных

    После каждого сообщения модель возвращает intent, entities, facts и requested_action по заданной схеме.

  2. Валидация и запись

    Backend проверяет типы, связывает факты с сущностями, фиксирует источник и сохраняет изменения.

  3. Разрешение конфликтов

    Новое значение не молча переписывает подтверждённый факт. Система создаёт конфликт и запрашивает проверку.

  4. Выбор workflow

    Правила определяют допустимое действие: запросить данные, вызвать API, передать специалисту или остановить рискованную операцию.

  5. Контракт handoff

    Получатель видит структурированный контекст, причину передачи и следующий шаг, а не только длинную переписку.

  6. Проверка 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-поддержку вокруг результата

Начните с процессаОпишите сущности, состояния, переходы, полномочия, handoff и критерии завершения до подключения модели.
Разработка AI-агентов и RAG-системПроектирование оркестрации, structured output, интеграций, журналирования, fallback-маршрутов и контроля качества.

Проблема AI-ботов поддержки не в том, что современные модели «слишком глупые». Проблема начинается, когда вокруг модели нет инженерной системы. Без состояния, идентификации сущностей, provenance, workflow, ownership и проверяемого результата получается очень современная поддержка: каждый отвечает мгновенно, но никто не отвечает за решение.

AI-поддержка · LLM · State Management · Workflow · Entity Resolution · Customer Experience