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

Почему поддержка в итоге делает работу QA
В многомодельных рабочих процессах поддержка превращается в QA, когда система дает клиентам ответы, которые выглядят готовыми, но на деле неверны, расплывчаты или частично верны. Один плохой ответ не просто раздражает одного человека. Он создает тикет, втягивает агента в ручную проверку и часто запускает второй разговор с инженерами.
Ситуация ухудшается, когда разные модели ошибаются по-разному. Одна звучит уверенно и выдумывает шаги. Другая отклоняет обычный запрос. Третья теряет поля или контекст на середине. Для клиента все это ощущается одинаково: «у продукта что-то сломалось».
Слабая маршрутизация быстро распространяет проблему. Вопрос по оплате уходит в общую модель вместо строгой проверки. Рискованный случай с аккаунтом минует review. Длинный запрос попадает на более дешевую модель, которая обрезает ответ. Каждая ошибка по отдельности кажется мелкой. За целый день тикетов такие промахи накапливаются в каждой очереди.
Потом агенты поддержки начинают делать работу, которой у них не должно быть. Они повторно запускают запросы. Сравнивают ответы разных моделей. Запоминают, какие формулировки помогают избежать плохих ответов. Ведут личные заметки о том, что чаще всего ломается. Это и есть QA-работа под видом поддержки.
Типичный случай выглядит так: клиент спрашивает, почему не прошел экспорт. Первая модель предполагает проблему с браузером. Вторая попытка говорит о правах доступа. Реальная причина — таймаут в фоновом задании. Теперь агенту нужно тестировать формулировки, воспроизводить случай и решать, где ошибка: в приложении, в модели или в правиле маршрутизации. Клиент видит только задержку.
Команды часто в первую очередь винят модель. Но чаще большая проблема находится вокруг модели: нет понятной передачи задачи, нет шага проверки для рискованных случаев и нет сообщения об ошибке, которое объясняет пользователю, что произошло и что делать дальше. Если эти пробелы не закрыть, поддержка становится последней линией защиты для каждого слабого решения в системе.
Сначала перечислите задачи, потом назначайте модели
Команды часто попадают в неприятности, когда воспринимают поддержку как одну большую задачу. Это не так. Поток поддержки обычно смешивает написание текста, проверку фактов, сортировку запросов и выполнение действий в других системах. Если сначала разделить эти задачи, многомодельные рабочие процессы становятся намного проще в управлении.
Простая схема обычно начинается с четырех типов задач:
- Черновик: написать ответ, переписать заметку или превратить сырой ответ в понятный текст.
- Поиск: найти заказ, правила, данные аккаунта или прошлый разговор.
- Классификация: понять, о чем запрос и куда его направить.
- Действие: изменить тариф, вернуть деньги, сбросить доступ или обновить запись.
У этих задач разный уровень риска. Черновик может допускать небольшую свободу, если человек проверяет тон и факты. Поиск обычно требует точности. Действие почти всегда требует точности, потому что один неверный шаг может списать деньги, раскрыть данные или создать второй тикет.
Отмечайте задачи, где модель должна быть права каждый раз. Статус оплаты, владение аккаунтом, шаги безопасности и условия правил обычно относятся именно сюда. Если модель не может подтвердить ответ из надежного источника, она должна остановиться и попросить проверку, а не гадать.
Затем отмечайте места, где ошибка бьет по доверию, деньгам или и тому и другому. Немного неловкий черновик раздражает, но редко наносит ущерб. Неверная дата отмены или выдуманное правило возврата может расстроить клиента за несколько минут. Команды поддержки хорошо помнят такие ошибки, потому что им приходится их исправлять.
Владение задачей не менее важно, чем выбор модели. Назначьте одного владельца на каждую задачу, даже если над общим процессом работают несколько человек. Именно он определяет правила, проверяет сбои и обновляет запросы или логику передачи, когда задача ломается. Без такого владельца мелкие проблемы висят до тех пор, пока поддержка снова не начинает делать ручной QA.
Сначала эта работа кажется медленной. Потом она экономит время. Когда у каждой задачи есть понятная цель, уровень риска и владелец, решения по маршрутизации перестают быть размытыми, а поддержка может сосредоточиться на клиентах, а не на присмотре за ответами моделей.
Настраивайте правила маршрутизации по шагам
Большинство команд в первый же день делают маршрутизацию слишком умной. Именно так поддержка начинает проверять странные ответы, гадать, почему модель ответила плохо, и открывать один и тот же тикет по два раза. Начните с двух или трех типов маршрута. В многомодельных рабочих процессах простые правила лучше, чем хитрый лабиринт.
Хорошая стартовая схема — рутинный маршрут, сложный маршрут и запасной маршрут. Рутинные задачи отправляются к более дешевой модели. Это статусы заказов, простые вопросы по правилам или короткие сводки с чистым входным текстом. Такие задачи повторяются часто, поэтому важнее стоимость, чем последние 2 процента качества.
Сложные случаи идут к более сильной модели, но только когда срабатывают четкие правила. Используйте простые триггеры: пользователь просит сразу о нескольких вещах, сообщение длинное, в тексте есть противоречия или для задачи нужно использовать инструменты в нескольких системах. Если отправлять каждый тикет к самой сильной модели, вы переплатите и узнаете меньше.
Один маршрут должен всегда ловить проблемы. Низкая уверенность, недостающие данные, таймауты и сбои инструментов не должны снова и снова возвращаться в ту же модель. Вместо этого отправляйте их на запасной путь. Это может быть повтор с более безопасным запросом, смена модели или очередь на ручную проверку.
Для старта достаточно такой простой схемы:
- Отправляйте короткие повторяющиеся задачи с чистым входом на более дешевую модель.
- Переключайтесь на более сильную модель, когда сообщение запутанное или задача состоит из нескольких шагов.
- Переводите сбои инструментов и результаты с низкой уверенностью на запасной маршрут.
- Останавливайтесь после одной повторной попытки, если только сбой не выглядит явно временным.
- Записывайте в лог точную причину маршрута.
Последний пункт важнее, чем многие ожидают. Не записывайте только название модели. Пишите, почему сработал маршрут: «нет ID клиента», «таймаут инструмента», «несколько намерений», «уверенность ниже порога». Когда поддержка видит плохой результат, ей нужна причина, которую можно понять за пять секунд.
Олег Сотников часто говорит о сокращении потерь на уровне архитектуры, и маршрутизация — одно из тех мест, где простые правила реально экономят деньги. Лаконичный маршрутизатор делает и работу поддержки спокойнее. Люди видят закономерности, сообщают о плохих правилах и исправляют поток, не превращаясь в бесплатный QA.
Поставьте человеческую проверку в нужные места
Человеческая проверка должна стоять там, где неверное действие может навредить человеку или стоить денег. Большинство ответов не нуждаются в человеке. Возвраты, исключения из правил и изменения аккаунта обычно нуждаются.
Такое разделение помогает агентам не распыляться. Они подключаются к решениям с реальными последствиями, а не читают каждый черновик, который создает система. В многомодельных рабочих процессах именно это решение может сильно сократить шум.
Хороший шаг проверки позволяет агенту одобрить, отредактировать или отклонить само действие. Если агент может только прочитать вывод модели и потом вручную вставить его в другой инструмент, вы превратили проверку в дополнительную административную работу. Дайте агенту один экран, где он видит предложенный ответ, источник, который использовался для его создания, и причину, по которой кейс вообще попал на проверку. Это возврат выше лимита? Запрос подходит под исключение из политики? Модель обнаружила проблему с владельцем аккаунта? Агент не должен угадывать.
Оставляйте очередь на проверку для таких случаев:
- возвраты выше установленной суммы
- запросы, которые выходят за рамки обычных правил
- изменения email, роли, тарифа или биллинга в аккаунте
- слабая проверка личности
- случаи, где две модели не согласны по действию
Эта очередь должна оставаться небольшой. Если туда попадает каждый необычный тикет, агенты перестают доверять системе, а очередь превращается во второй почтовый ящик. Отправляйте туда только случаи с понятным риском. Низкорисковые вопросы пусть уходят автоматически, а потом проверяйте выборку.
Небольшая SaaS-команда быстро почувствует разницу. Агент, который видит на одном экране ответ, исходный текст и причину маршрута, может одобрить десять запросов на возврат за несколько минут. Тот же агент может потратить полчаса, если ему придется открывать логи чата, искать справку и вручную проверять биллинг.
Оставляйте последнее нажатие за человеком в действиях, которые могут списать деньги, разблокировать доступ, отменить подписку или нарушить правило. Пусть система обрабатывает рутинные ответы. Так поддержка занимается поддержкой, а не разгребает избегаемые ошибки.
Пишите сообщения об ошибках, которые действительно помогают
Плохое сообщение об ошибке создает вторую проблему. Модель пропускает задачу, а потом агенту приходится гадать, что сломалось, что сказать клиенту и стоит ли повторять попытку. Именно так многомодельные рабочие процессы тихо превращают поддержку в отдел QA.
Хорошие сообщения делают сразу две вещи. Они объясняют проблему простыми словами и говорят агенту, что делать дальше. Если не хватает хотя бы одной части, сообщение лишь отнимает время.
Сначала делайте первую строку простой. Называйте не техническую причину, а сам неудавшийся шаг.
- «Проверка возврата не завершилась. Попробуйте еще раз один раз.»
- «Не удалось сопоставить этот счет с аккаунтом. Попросите клиента подтвердить billing email.»
- «Черновик ответа был заблокирован, потому что исходные заметки неполные. Отправьте его на human review.»
- «Этот запрос требует участия человека, потому что модель нашла противоречивые данные аккаунта.»
Каждое сообщение должно помещаться в чат или в виджет тикета и не превращаться в абзац. Агенты читают быстро. Если им нужно просмотреть шесть строк, прежде чем они найдут действие, сообщение слишком длинное.
Разделяйте текст для клиента и внутренние заметки
Не сваливайте отладочные детали в то же сообщение, которое агент отправляет клиенту. Держите два поля.
Текст для клиента должен быть спокойным, коротким и понятным: «При обработке вашего запроса возникла проблема. Наша команда уже проверяет ее.»
Внутренняя заметка должна помогать команде действовать: «Проверка личности не прошла после двух попыток. Используйте ручную верификацию. Уверенность модели 0.42». Так у поддержки будет достаточно контекста, и ей не придется расшифровывать логи.
Это разделение особенно важно, когда несколько моделей обрабатывают разные шаги. Одна может ошибиться на извлечении, другая — на ранжировании, третья — на проверке правил. Агентам не нужно учить стиль каждой модели только ради чтения ошибки.
Используйте один и тот же тон для всех моделей и всех очередей. Короткие предложения. Одни и те же глаголы. Один и тот же порядок: что сломалось, что делать, когда эскалировать. Команды вроде той, которой руководит Олег, часто сначала стандартизируют операционные правила именно по этой причине. Когда нужен быстрый и аккуратный ответ от поддержки, формат сообщения важнее самой модели.
Если человек может прочитать сообщение и действовать меньше чем за десять секунд, скорее всего, этого достаточно.
Простой пример для команды поддержки
Клиент пишет: «С меня списали дважды, и я все еще не вижу свой заказ». В хорошей схеме многомодельных рабочих процессов первым шагом должна быть не генерация ответа, а классификация. Небольшая модель маршрутизации читает сообщение, помечает намерение и решает, идет ли речь о биллинге, о поиске заказа или и о том и другом.
Именно этот первый тег меняет все. Если сообщение похоже на проблему с оплатой, система отправляет его к модели, у которой в контексте есть правила возвратов магазина, платежная политика и FAQ по биллингу. Эта модель готовит ответ о двойном списании, удержании средств или разделенной оплате, а не пытается угадать по общим данным обучения.
Параллельно workflow проверяет, хватает ли данных для решения части с заказом. Если клиент не указал номер заказа, email или другую информацию для поиска, система не делает вид, что уверена. Она передает кейс человеку с короткой заметкой: ответ по биллингу подготовлен, поиск заказа заблокирован, клиенту нужно подтвердить личность или прислать недостающие данные.
Передача задачи важна не меньше, чем маршрутизация. Агент не должен открывать пустой экран и начинать заново. В интерфейсе агента можно показать:
- маршрут, который выбрала система
- черновик ответа, подготовленный моделью по биллингу
- кнопку повторной попытки, если агент хочет запустить кейс заново с новыми данными
Это экономит время, но и оставляет контроль за командой. Если клиент пришлет номер заказа, агент сможет запустить новый поиск, а не переписывать весь диалог.
Один показатель покажет, работает ли такой поток: сколько случаев возвращается после первого ответа. Если биллинговые тикеты закрываются с первого раза, а смешанные тикеты по биллингу и заказу часто возвращаются, проблема обычно не в модели. Скорее всего, workflow слишком поздно запрашивает недостающие данные, плохо маршрутизирует смешанные намерения или дает агентам слабую передачу.
Это и есть практический тест. Команда поддержки должна тратить время на решение проблем клиентов, а не на проверку того, не выбрала ли ИИ неверную ветку.
Ошибки, из-за которых растет число тикетов
Большинство всплесков тикетов возникает не из-за самих моделей. Их вызывают плохие решения в workflow вокруг моделей. В многомодельных рабочих процессах мелкие ошибки проектирования быстро накапливаются, и поддержка становится командой по разгребанию последствий.
Одна распространенная ошибка — маршрутизация по предпочтению модели, а не по типу задачи. Команды выбирают любимую модель для текста, другую для скорости и еще одну для цены, а потом направляют работу по привычке. Звучит разумно, но ломается, когда задаче нужен совсем другой навык. Маршрутизируйте по самой задаче: извлечь поля, определить намерение, написать ответ, проверить правило или кратко описать случай. Модель должна подходить под задачу, а не под чью-то личную иерархию.
Еще одна ошибка — отправлять каждый сомнительный случай в поддержку. Низкая уверенность не всегда должна означать «открыть тикет». Иногда системе стоит попросить у пользователя одну недостающую деталь. Иногда — повторить попытку с более точным запросом. Иногда — отправить кейс в небольшую очередь проверки вне поддержки.
Биллинговый поток — хороший пример. Если модель не может сопоставить чек с номером заказа, поддержка не должна видеть это первой. Пользователь должен увидеть простое сообщение с просьбой загрузить более четкое изображение или указать недостающий номер заказа.
Общие ошибки только усугубляют ситуацию. «Что-то пошло не так» не говорит никому, что именно сломалось и что делать дальше. Это создает дубли тикетов, повторные загрузки и раздраженные ответы. Полезное сообщение об ошибке говорит, что система не смогла сделать, и дает один следующий шаг.
Проблема с дрейфом запросов наносит более тихий ущерб. Поддержка меняет сохраненный запрос, ops правит другую версию, а продукт выпускает третью. Теперь один и тот же запрос дает разные результаты в зависимости от того, где он попал в систему. Пользователи думают, что инструмент ведет себя случайно, а поддержке приходится объяснять поведение, которое она не может воспроизвести.
Еще одна дорогая привычка — пропускать проверку на редких, но дорогих действиях. Большинство действий могут выполняться без человека. Но некоторые не должны.
- возвраты выше установленной суммы
- закрытие аккаунта
- изменения договора или цены
- сообщения, которые могут создать юридический риск
Если пропустить там проверку, один плохой ответ может породить десять последующих тикетов.
Самый чистый тест простой. Когда workflow ломается, просит ли он недостающие данные, объясняет ли причину или отправляет ли на нужного проверяющего? Если ответ — «попадает в поддержку», система все еще считает поддержку QA.
Быстрые проверки перед запуском
Workflow может отлично выглядеть в тестах, а потом поддержка тонет в запросах, потому что никто не понимает, что система сделала и почему. Обычно это начинается с мелких пробелов: скрытого выбора маршрута, слабого экрана проверки или сообщения об ошибке, которое говорит только, что что-то пошло не так.
Перед запуском многомодельных рабочих процессов проверяйте не идеальный сценарий, а то, с чем столкнется агент поддержки в плохой день. Если маршрут сработает неправильно в пятницу в 16:00, команда все равно должна видеть причину, быстро исправить проблему и идти дальше.
Перед релизом используйте такой короткий чек-лист:
- Проверьте, видит ли агент, почему система выбрала именно эту модель или путь. Короткая причина вроде «запрос по счету без суммы» лучше, чем черный ящик.
- Проверьте, может ли проверяющий одобрить или отклонить решение с одного экрана. Если нужно открывать три инструмента, теряется контекст и замедляется очередь.
- Проверьте, дает ли каждое сообщение об ошибке следующий шаг. «Пожалуйста, загрузите более четкий файл» — полезно. «Запрос не выполнен» — это просто новый тикет.
- Проверьте, отслеживаете ли вы повторные тикеты после ответов ИИ. Если один и тот же ответ заставляет клиентов писать еще раз, в workflow есть настоящая проблема.
- Проверьте, можно ли отключить один маршрут, не ломая остальные. Простой аварийный выключатель не даст одному плохому запросу или обновлению модели распространиться на всю систему.
Небольшой пример поддержки делает это очевидным. Допустим, клиент отправляет запрос на возврат с размытым скриншотом. Первая модель пытается извлечь данные, ошибается и передает случай на проверку. Ваш агент должен увидеть, что извлечение не удалось из-за нечитаемого изображения, отклонить или отправить повтор из одного места и использовать сообщение с просьбой загрузить новый скриншот. Это занимает две минуты. Без таких проверок агент начинает гадать, клиент отвечает снова, и поддержка превращается в бесплатный QA.
Если вам нужен один показатель на первую неделю, выберите повторные обращения после ответа, обработанного ИИ. Этот показатель очень быстро показывает, облегчает ли ваш маршрут и проверка работу или просто прячет хаос.
Что делать дальше
Начните с одного потока поддержки, который вызывает больше всего трения. Проверка возвратов, изменения биллинга, восстановление доступа к аккаунту или разбор багов — все подойдет. Разместите полный путь на одной странице, чтобы все видели, что читает модель, куда AI task routing отправляет тикет, когда подключается человек и что видит клиент, если ответ не сработал.
Потом тестируйте реальную, а не идеальную картину. Возьмите десять настоящих тикетов с недостающими деталями, странными формулировками, вставленными логами и раздраженными повторными сообщениями. Многомодельные рабочие процессы помогают только тогда, когда они выдерживают плохой вход, а не когда хорошо выглядят на примерах запросов.
Короткий план запуска помогает не уйти в абстракцию:
- Нарисуйте текущий путь поддержки и путь ИИ рядом.
- Прогоните десять старых тикетов через оба пути.
- Отметьте все передачи, которые агенты исправляют или переписывают.
- Уберите маршруты, которым агенты никогда не доверяют.
- Записывайте сообщения об ошибках, из-за которых появляются повторные тикеты.
Это важнее, чем многие ожидают. Если агенты продолжают исправлять вывод одной модели, не учите поддержку нянчиться с ней. Меняйте маршрут, сокращайте задачу или добавляйте human review на этом шаге. Поддержка должна решать проблемы клиентов, а не делать QA по каждому решению модели.
Небольшая команда обычно учится быстрее, если сначала берет один узкий поток. Например, команда, которая начинает с запросов на разблокировку аккаунта, быстро видит, где модель путается, какие проверки должны проходить через человека и какие сообщения об ошибках раздражают пользователей. Это проще исправить, чем автоматизировать пять очередей сразу.
Прежде чем система вырастет, попросите опытного человека проверить маршрутизацию, правила проверки и инфраструктуру. Fractional CTO может заметить слабые места раньше и позже значительно сократить поток тикетов. Олег Сотников делает такую работу для команд, которым нужна более спокойная работа с ИИ без лишней рутины для поддержки.
Запускайте самую маленькую версию, которой доверяют ваши агенты. Две недели отслеживайте ручные правки, повторно открытые тикеты и ответы вроде «Я не понимаю». Если люди продолжают обходить систему, исправьте этот маршрут, прежде чем добавлять новый.