“Оператор. Оператор. ОПЕРАТОР!” - почему боты поддержки глупые и вредные, и спасут ли сервис ИИ-агенты

Я звоню в компанию только если перетыкал все кнопки на сайте, прочитал FAQ, прогуглил свою проблему, и все равно не смог решить ее. И тогда я звоню, описываю роботу свою проблему и получаю ответ, от которого хочется заплакать. Бонусные очки, если он отказывается дать мне живого оператора.

Бизнес рад бы предоставить быстрый, качественный, персонализированный сервис. Однако, есть одно большое препятствие – рабочих рук для этого объективно не хватает.

Газеты пишут о нехватке рабочей силы
Газеты пишут о нехватке рабочей силы

Дефицит кадров с нами, кажется, надолго. Автоматизация помогает облегчить эту проблему, но если каждое взаимодействие с роботом заставляет клиента задуматься о переходе к конкурентам, нужно что-то менять.

В Кремниевой долине считают, что роботов могут заменить ИИ-агенты с большими языковыми моделями (LLM), которые будут более сообразительными и гибкими. Рассмотрим почему роботы так глупы, кто такие эти агенты и действительно ли они не хуже живых операторов (спойлер: не все так просто).

В чем проблема

Многие знают на своем опыте, что современные роботы часто непробиваемо глупы. Они действуют по правилам, “если ты услышал икс, то скажи игрек”. Вендоры и интеграторы обожают эти правила, под них можно написать ТЗ, наставить задачек в Джире и сдать проект. К сожалению, если вы, как клиент, попадаете на такого робота и говорите не икс, а зет, то робот умирает.

Роботы не справляются с проблемами клиентов в представлении нейросети DALL-E 3
Роботы не справляются с проблемами клиентов в представлении нейросети DALL-E 3

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

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

Почему нужно сменить подход

Компетентный оператор задаст уточняющие вопросы, почитает базу знаний и инструкции, проверит админку, CRM, 1С, соотнесет данные из них, внесет требуемые изменения в систему (например, поменяет адрес доставки) и сообщит клиенту что все получилось.

Может ли робот сделать то же самое? Ответ – безусловно да! Но почему тогда роботы такие глупые? Дело в том, что робот может идеально справиться с одним конкретным заданием, он не способен решить все возможные вариации проблемы, а только предугаданные разработчиками. В отличие от робота, оператор способен адаптироваться и решить любую задачу, не ограничиваясь жестко заданными алгоритмами.

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

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

Что такое агент

Уйти от жестких правил роботов позволяют большие языковые модели (large language models, LLM). Примеры таких моделей это GPT-4 в ЧатГПТ или YandexGPT в Алисе. Это очень большие и сложные модели, которые кодируют в миллиардах своих параметров модель языка. Благодаря этому с ними можно вести нормальный диалог, как с человеком.

К сожалению, ЧатГПТ нельзя подключить напрямую на линию поддержки. Чтобы использовать LLM в бизнесе, нужно две вещи:

  1. Научить модель отвечать так, как операторы. Обычная “ванильная” LLM говорит связно и правильно, но как (очень умный) человек с улицы – она не знает какие регламенты, инструкции, правила есть в компании, что можно делать и что нельзя.

  2. Научить модель выполнять действия, которые делают операторы. Если LLM может только болтать на отвлеченные темы и сочинять стихи, в ней мало толку – она должна уметь записывать пациентов, переносить заказы, передавать показания счетчиков, создавать бронирования.

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

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

Агент действует скорее как оператор, чем как робот. Оператор понимает уникальность каждой ситуации клиента и адаптируется, подстраивает свое поведение, как и агент. Робот повторяет заложенную информацию, а агент рассуждает (или хотя бы пытается). В этом отличие агента от робота и именно поэтому в Кремниевой долине добавление фразы "AI agents" в питч прибавляет +$20 млн к оценке компании.

Как устроен агент

Агент – это надстройка над языковыми моделями, такими как GPT-4 или YandexGPT. Не нужно быть ML-разработчиком или, что хуже, промпт-инженером, чтобы понять принцип действия агента. Агент состоит всего из 3 компонентов: инструкции, инструментов, истории.

Агент по принципу 3И: инструкция, инструменты, история
Агент по принципу 3И: инструкция, инструменты, история

На базовом уровне, инструкция, инструменты и история – это просто куски текста, которые мы передаем в LLM.

Агенту нужна текстовая инструкция, инструменты для взаимодействия с миром и история диалога. Все это просто особенные куски промпта.

Давайте построим простейшего агента в ЧатГПТ, чтобы лучше понять его принцип действия:

Пример агента в ЧатГПТ
Пример агента в ЧатГПТ

Вот мы сделали своего мини-агента, который может понарошку отменить заказ. Рассмотрим компоненты нашего агента: все они видны в промпте.

  1. Инструкция – этот блок определяет, как должен вести себя агент. Как здороваться, общаться формально или разговорно, как вести себя в незнакомых ситуациях, что знать о клиенте. В реальных агентах инструкция обычно длиной 500-1000 слов, а также содержит много информации о клиенте: имя, часовой пояс, прошлые и текущие заказы и другое.

  2. Инструменты – определяют, что агент может делать. Например, здесь мы разрешили ему понарошку отменять и переносить заказы. В реальных агентах инструменты подключены к функциям, то есть когда реальный агент вызывает <cancel_customer_order>, он делает запрос к API системы управления заказами и по-настоящему отменяет заказ.

  3. История – это память агента о том, что уже происходило в диалоге. Это позволяет ему понимать контекст и не терять нить диалога. В реальных агентах за управление историей отвечает специальный сервис, который сохраняет только самое важное

Используя эти компоненты можно сделать агента любой сложности. Вот, например, агент который реально переносит заказы. У него есть функция переноса заказа, которая содержит входные параметры – для переноса нужно знать номер заказа и время, на которое нужно перенести.

Пример реального агента в командной строке
Пример реального агента в командной строке

Агент самостоятельно интерпретирует реплику клиента, переносит заказ и информирует клиента. Роботу бы потребовалось не менее 30 блоков с парой сотен переходов между ними чтобы это сделать. Все что требуется агенту показано на скриншоте. Даже осталось место для примера диалога.

Таким образом, на базовом уровне агент — это механизм формирования запроса (промптинга) LLM + механизм распознавания ответов LLM для вызова инструментов. Ничего сложного.

Чем агент отличается от робота

Теперь, когда мы увидели как устроен агент под капотом, можно сделать выводы о том, чем он отличается от робота и что это значит для бизнеса. Для этого рассмотрим пример диалога агента с клиентом.

Иллюстративный пример диалога с агентом. Диалог, как водится, выдуманный -- живой человек еще ни разу не воспользовался всеми возможностями агента в одном диалоге в нашей практике.
Иллюстративный пример диалога с агентом. Диалог, как водится, выдуманный -- живой человек еще ни разу не воспользовался всеми возможностями агента в одном диалоге в нашей практике.

В диалоге выше мы видим как на конкретных примерах проявляются три главные особенности агента:

1. Агент сам составляет свои фразы

Если роботу нужно задать каждую возможную фразу, то агенту достаточно только инструкции о том, как составлять фразы.

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

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

2. Агент сам выбирает инструменты

Агент сам выбирает инструменты. Когда и какой инструмент вызовет агент можно предсказать только руководствуясь здравым смыслом.

Если у клиента нет заказа, но у агента есть инструмент отмены заказа, а клиент очень настойчиво требует отменить свой заказ, то агент может вызвать этот инструмент.

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

3. Агент помнит историю диалога

Агент помнит историю диалога и учитывает контекст вопроса клиента, а значит лучше робота понимает что хотел клиент.

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

Вежливой и обходительной, но стеной.

Агенты отличаются от роботов тем, что сами сочиняют свои фразы согласно инструкции, сами принимают решение какие инструменты использовать для решения задачи клиента и учитывают историю диалога. За счет этого они могут быть сообразительнее роботов.

В перспективе агенты могут заменить роботов и действительно спасти сервис, но у них есть и свои особенности. Если у роботов главная проблема -- это умственная неполноценность, то у агентов – горе от ума.

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

В TargetAI мы тоже делаем такую платформу, но для голоса. Узнать больше можно на targetai.ai.

99
22
3 комментария

А если у меня не инструкция и не скрипт, а просто свод правил? Будет болтать о погоде?

Ответить

Зависит от правил, например правило "расстроенным клиентам нужно выдать промокод", указывается просто в инструменте (его описании).

Если правило "не разговаривать на отвлеченные темы", это прописывается в инструкции и агент отказывается писать код, болтать о погоде ну и так далее.

Если правило вида "клиенту которому X лет, живет в регионе Y, цвет глаз Z нужно предложить A, при отказе B, при отказе от обоих C", вот такая схема *может* работать через инструкцию, но скорее всего нужно делать что-то типа процедуры, типа нежесткого скрипта через последовательные промпты.

Ответить