Главная блога

Архитектура безопасного отказа: как AI должен говорить «не знаю» и не разрушать диалог

Голосовой AI обычно оценивают по тому, насколько хорошо он умеет отвечать. Но в реальной работе не менее важен другой навык: вовремя понять, что надёжного ответа сейчас нет. Проблема в том, что языковая модель умеет продолжать разговор даже тогда, когда ей не хватает данных. Ответ может звучать уверенно и вполне естественно, хотя система не получила подтверждения из базы знаний, внутреннего сервиса или другой корпоративной системы. Для бизнеса такая ошибка гораздо опаснее обычной паузы или перевода на оператора.

В блоге Neuro.net решили отдельно разобрать эту проблему: в каких ситуациях голосовой AI должен остановиться, как корректно сообщить об ограничении и что должно происходить дальше, чтобы клиент не оказался в тупике.

Самая опасная ошибка звучит уверенно

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

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

«Не знаю» тоже можно сказать плохо

Сухой ответ «я не могу помочь» сразу раздражает. Особенно если клиент только что подробно объяснил проблему. Хороший отказ должен отвечать хотя бы на два вопроса: что именно система сейчас не может подтвердить и что будет дальше.

Например:

«У меня нет данных, чтобы точно проверить статус этой операции. Я могу соединить вас со специалистом и передать ему информацию из нашего разговора».

В данном случае клиент понимает причину и следующий шаг, диалог не обрывается.

Отказ нужен по разным причинам

Системе может действительно не хвататать информации. Бывает, что источник существует, но данные устарели или противоречат друг другу. Инода случается, что запрос понятен, но сама операция запрещена для автоматического выполнения.

Ещё один вариант: система получила слишком низкую уверенность в том, что правильно распознала клиента или его намерение. С точки зрения пользователя всё это может выглядеть одинаково: AI не дал окончательного ответа. С точки зрения архитектуры причины совершенно разные, и дальнейшее поведение тоже различается.

Языковая модель не может сама решить

Когда модель одновременно генерирует ответ и сама определяет, достаточно ли у неё оснований отвечать, то появляется очевидный конфликт. Ограничения лучше задавать вне свободной генерации: через доступные источники, права, бизнес-правила, обязательные проверки и заранее определённые точки эскалации.

Для ответа нужны подтверждённые данные, и система должна получить их до формирования финальной реплики. Если данные не пришли, ответ меняется.

Особенно важен статус действия

Допустим, клиент просит отменить запись. AI понял запрос и отправил команду в систему, но ответа о результате не получил.

В этот момент нельзя сказать:

«Готово, запись отменена».

Понимание намерения и успешное выполнение операции — разные состояния.

Корректный ответ должен отражать реальный результат. Без подтверждения система говорит об этом и предлагает дальнейший путь. Эта граница особенно важна для агентных систем, которые уже не только консультируют, но и выполняют действия.

Передача оператору тоже часть безопасного отказа

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

Как измерять качество отказов

Смотреть только на количество переводов мало. Важно понимать, сколько отказов были оправданными, что происходило после них и возвращался ли клиент с тем же вопросом. Есть и обратная сторона: случаи, когда система ответила сама, хотя должна была остановиться. Именно они часто важнее для контроля качества.

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

Клиенту не нужен AI, который знает всё

Ему нужен сервис, которому можно доверять. Система должна точно отвечать в том случае, если у нее есть данные, и честно останавливаться там, где их недостаточно, такое поведение предсказуемо.

А предсказуемость для корпоративного AI часто ценнее впечатления безграничных возможностей. Поэтому фраза «я не могу это подтвердить» сама по себе не ухудшает пользовательский опыт. Плохо, когда после неё ничего не происходит.

Хорошая архитектура безопасного отказа всегда отвечает на следующий вопрос клиента: «Хорошо. Что теперь?»