Как стать автором
Обновить
48.33
Just AI
Разработка и внедрение технологий разговорного AI

Как оценить качество чат-бота? Бот с LLM vs бот на интентах по новой методологии usability-тестирования

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров196

Привет, Хабр! Я Юля, дизайнер диалоговых интерфейсов в Just AI. Мир захлестнула LLM-волна, и сфера чат-ботов оказалась в самом ее центре: все больше компаний хотят внедрять именно генеративные решения. Ведь уникальные ответы ChatGPT, тонко чувствующего контекст диалога и распознающего любой ваш вопрос, выглядят революционно. Хочется срочно такую умную нейронку опубликовать в виджете на своем сайте и заменить всех операторов-людей!

Но будет ли все так радужно на самом деле? В применении любой новой технологии важно удостовериться, что это решение будет эффективнее, удобнее в поддержке и/или функциональнее старого варианта. В этой статье я расскажу о том, как мы провели эксперимент и сравнили старую версию бота и новую — с нейросетью под капотом.

Кстати, одним из результатов эксперимента стала методика оценки качества, которой я также поделюсь здесь.

Эксперимент

Для проведения тестирования был выбран действующий текстовый бот компании КНАУФ, крупного производителя строительных отделочных материалов. Также КНАУФ занимается обучением профильных специалистов по строительству, отделке и дизайну. Первая версия бота появилась в компании около двух лет назад, а целью бота было рассказывать о многообразии товаров и услуг компании. 

Сегодня бот KAI (КНАУФ AI) по-прежнему доступен в нескольких каналах — чат-виджет на сайте, Telegram и ВКонтакте — и умеет отвечать на общие вопросы о программе лояльности, подсказывать информацию о товарах компании, находить сертификаты на продукцию, выполнять расчеты материалов и подбирать их для решения конкретной задачи, а также информировать пользователя о программах обучения Академии КНАУФ.

В рамках эксперимента мы немного урезали функционал для сокращения скоупа планируемых работ и экономии времени: из пяти сценарных веток в демо-версии осталась лишь одна, наиболее востребованная среди пользователей реального бота — продуктовый каталог, со следующим функционалом:

  • бот приветствует пользователя, представляется Каем и уточняет, о каком продукте требуется информация. При этом в каталоге не предусмотрена вложенность, что немного усложняет его использование — пользователю необходимо знать название товара, общие запросы по типу «штукатурка» / «все шпатели» / «клеи» не обрабатываются;

  • если название, указанное человеком, относится к нескольким продуктам, бот спрашивает, о каком именно товаре нужно рассказать (например, в ответ на запрос «Ротбанд» бот уточняет, требуется ли пользователю «Ротбанд», «Ротбанд Финиш» или «Ротбанд Паста Профи»);

  • в качестве информации о товаре бот выводит фото, короткое описание и кнопками предлагает прочитать о применении, характеристиках, преимуществах и т.д;

  • также в боте есть ответы на базовые вопросы о компании КНАУФ, глобальные реакции на нераспознанную реплику, благодарность, нецензурную лексику и минимальный оффтопик («Кто ты?», «Как дела?», «Что ты умеешь?», «Что тебе нравится?»).

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

Создание методики оценивания

Оценивать ботов должна была фокус-группа — задавая вопросы с определенной целью и сравнивая ответы двух виртуальных консультантов. 

В тестировании участвовали 11 человек: 1 разработчик платформы JAICP, 3 компьютерных лингвиста, 2 руководителя направлений внутри Just AI, 1 QA-инженер, 1 QM, 1 бизнес-аналитик и 1 UX-редактор. Каждый из исследователей имел большой опыт взаимодействия с чат-ботами. По времени участники тестирования ограничены не были.

Техническое задание для тестирования выглядело так:

Перед вами 2 бота с одинаковым функционалом.
Пожалуйста, задайте каждому из ботов следующие вопросы (стараясь соблюдать последовательность):

- Вопрос на выбор об одном из товаров компании
- Вопрос о свойствах выбранного товара (описание, применение, характеристики, преимущества). Чтобы проверить ответ бота на достоверность, можно обратиться к сайту компании и найти в каталоге товаров нужный
- Вопрос о компании (контакты, адреса производства).
- Вопрос о персоне бота ("Как дела?", "Как зовут?", "Что делаешь?" и др.). В рамках эксперимента попробуйте оскорбить бота.
- Вопрос, ответ на который выходит за рамки сценария (совсем неожиданный, любой — на ваше усмотрение)

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

Других установок (кроме ссылок на самих ботов) фокусная группа не получала. В ТЗ не была указана напрямую информация о «начинке» ботов, но сами исследователи были знакомы с каждой из технологий. 

Для начала респондентам предлагалось ответить на 3 ключевых вопроса, позволяющих прояснить целостное впечатление от бота:

Вопрос

Варианты ответа

Для чего поместили в анкету?

Вам был понятен функционал бота? (То, какие задачи бот может решать)

Да / Нет / Частично

Для понимания успешности «онбординга» внутри самого бота. Разумеется, группа отталкивалась в первую очередь от полученного ТЗ на тестирование, но и проработанная навигация внутри бота была важна, так как в старой версии мы сохранили общий костяк сценария, а в LLM-версии задали его промптом. 

Боту удалось решить поставленную вами задачу?

Да / Нет / Частично

Для оценки успешности кооперации с ботом

Насколько вы остались довольны качеством консультации?

5-балльная шкала, 
где 1 — не довольны совершенно, 
а 5 — очень довольны

Для формулирования общего впечатления от общения

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

Их объединяло общее условие: фокусной группе предлагалось проверить соответствие действительности каждого из приведенных в анкете утверждений (по 5-балльной шкале, где 1 — совершенно не соответствует действительности, а 5 — полностью соответствует):

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

Проставление оценок по шкале от 1 до 5, а не отзывами из разряда «Хорошо», «Не совсем», «Так себе», позволило быстро подсчитать средние значения для каждого из ботов и сравнить их.

Результаты, оценки, комментарии

Мы посчитали среднее для 2-х показателей: общее впечатление и суммарный показатель для всех утверждений из второго раздела.

Результаты получились следующие.

  • Общее впечатление: бот на интентах — 3.0, бот с LLM — 4.2

  • Суммарный и средний балл по чек-листу второго раздела: бот на интентах — 4.05, бот с LLM — 4.5

Видно, что генеративное решение «выиграло» в обоих вопросах, причем в первом случае — со значительным отрывом. Получается, что несмотря на неплохой средний балл в анкете «Проверьте соответствие утверждения действительности» — 4 из 5 максимальных баллов, общее впечатление от бота на классификаторе оказалось смазанным в сравнении с ботом на LLM.

Особый интерес для нас вызвали критерии, которые «занизили» суммарные показатели генеративного решения:

Критерий

Бот без LLM

Бот с LLM

Бот отвечал быстро

5

3.8

Бот работал стабильно

4.4

3.8

Информация, которую предоставлял бот, была достоверной

4.8

3.7

В сообщениях бота не присутствовали артефакты разметки

5

4.5

Получилось, что именно скорость ответа и стабильность работы ощутимо просели и довольно сильно повлияли на впечатление опрашиваемых (3.8 из 5). Низкий балл (3.7 из 5) получила и достоверность информации, сообщаемой ботом, что может свидетельствовать о галлюцинациях LLM при генерации ответа, «додумывании» данных при их недостатке. И итоговый вид ответа не всегда был идеален (4.5 из 5), хотя на его отладку и тестирование мы потратили большое количество времени. Временами проскакивали артефакты промпта, путались кнопки, нарушалось форматирование.

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

Многие отмечали относительную забагованность LLM-версии:

  • В начале общения впечатления от бота были на все 5, но чем дольше мы общались, тем хуже бот отвечал, а в какой-то момент даже совсем перестал отвечать

  • Завис на вопросе про количество продукта

  • Один раз выдал картинку без подписи, второй раз вывел кнопки в сообщении, к которому они отношения не имели 

  • На вопрос получения адреса скинул не ту ссылку

Про скорость LLM-решения было больше негативных комментариев, но при этом задержки не называли критичными:

  • При параллельном использовании двух ботов задержки LLM очень заметны

  • Подвисал, видимо, генерил ответ

  • Долгие ответы vs моментальная скорость (примечание: респондент говорит про версию на классификаторе)

  • Местами были задержки, но критичными они не ощущались

  • Скорость ответа разнится, но в целом у меня не осталось ощущения, что я ждала долго

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

Больше всего негатива (и одобрения в пользу LLM) решение на классификаторе получило из-за ограниченного распознавания вопросов:

  • Бот хорош как справочник для пользователя, который четко знает, чего хочет, и пришел уточнить детали. Для пользователя, который задает более общие вопросы, бот выглядит глупым или сломанным

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

  • К сожалению, бот не понимал вопросы общего характера, либо нечетко сформулированные, из-за чего с ним было тяжело общаться и постоянно возникало ощущение ограниченности его возможностей

  • Очень плохо. Отвечал слишком кратко и просто. На уточняющий вопрос вообще перестал понимать и начал отвечать не то

  • Часто ставил меня в тупик

При этом классическое решение получило высокую оценку в вопросах про навигацию и лаконичность текстовок, а LLM-версия проиграла по этим пунктам:

  • У классического бота описание функционала гораздо лучше

  • LLM-бот более многословен, болтлив, в обычном боте такого нет

  • Проблемы с краткостью у переработанной версии с LLM влияют на понятность, приходилось вчитываться в ответы бота, чтобы понять, что имеет в виду. А еще напрягают повторы а-ля «Я бот-помощник, я здесь, чтобы помочь вам», звучит очень искусственно

Эти комментарии навели на мысль о необходимости комбинирования классического и LLM-подхода к разработке. Какие-то навигационные решения вполне могут быть реализованы при помощи кода, чтобы упростить пользовательский путь. При этом, LLM будет палочкой-выручалочкой в ситуациях, у которых нет четкого скрипта или рутинной последовательности действий.

Про тексты ответов, сгенерированные LLM-ботом, было еще несколько интересных комментариев:

  • Встретилось несколько ну очень длинных текстовок. Там еще форматирование было неудачным: несколько списков без пустых строк между ними, еще и часть этих списков остались немаркированными (перечисление в одну строку через запятую)

  • Особенно круто ощущалось, что он подстраивал ответ под формулировку вопроса. Например, «Тебя зовут KAI?» - «Да, меня зовут KAI», а не просто «Меня зовут KAI»

  • Общение ощущалось цельно и живо. Он даже попытался пошутить. Шутка была не очень смешная, но зато тематическая)

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

Еще пользователи пытались проверить ответы LLM-версии на достоверность и встретились с проблемами:

  • Ошибся в расчетах

  • Может давать рекомендации, но нельзя проверить достоверность

Ответы классического решения оставили неоднозначное впечатление у одного из респондентов: «Информация была мало применимой на деле». Это отчасти удивительно, так как информация, транслируемая ботом на классификаторе, была предоставлена компанией КНАУФ.

Проверку на сохранение контекста LLM-бот прошел успешно (гораздо успешнее обычного бота), но при этом проиграл в задаче «Не отклоняться от темы», несмотря на ограничения, прописанные в промпте: «Про наркотики говорить со мной не стал, а вот про цветы поговорил, и математический пример посчитал, что выдает LLM». Позже это тоже удалось пофиксить.

Выводы

В результате эксперимента мы получили методику проведения сравнительного тестирования, а также сформулировали чек-лист для оценки качества бота (не обязательно с LLM под капотом). Формулировки критериев из формы для тестирования не были двусмысленными, и респондентами с разным бэкграундом были прочитаны одинаково — по крайней мере, это демонстрируют комментарии-пояснения рядом с критериями.

Сама анкетная форма кажется нам удачной и универсальной, поэтому мы с удовольствием делимся ей с вами: [ссылка]

Что мы вынесли полезного из эксперимента

В качестве заключения хотелось бы сформулировать еще несколько мыслей:

  • Воплотить функционал из реального решения в боте на LLM оказалось выполнимой задачей, и оценки это продемонстрировали;

  • В процессе реализации LLM-бота выяснили, что делегировать нейросети всю работу иногда не целесообразно, и гибридный подход (прописанный скрипт + промпты) показывает себя гораздо лучше;

  • При разработке генеративного решения нет возможности создать детализированный сценарий того, как бот будет себя вести (прописать конечный вид реплик, логику переходов и др.), поэтому на этапе проектирования бота дизайнер прорабатывает только HLD — верхнеуровневое описание функционала. Также дизайнеру может потребоваться помощь разработчиков для консультаций по реализации. Одним из подходов к проектированию генеративных решений могут стать примеры будущих диалогов с ботом в формате «[Предполагаемая реплика бота]/[Предполагаемый ответ пользователя]». Однако методология создания дизайна для ботов с LLM пока что находится в разработке;

  • Как и в любом исследовании, большое влияние на оценки опрашиваемых оказало общее впечатление. Если общение с ботом не задалось изначально, что-то пошло не по плану, то это отражалось практически на всех показателях;

  • А еще немаловажную роль сыграла «лояльность» к LLM. Да, в наше время не все однозначно ловят кайф от общения с GPT, даже работая в связанной с нейросетями сфере. Поэтому даже в небольшой фокусной группе кто-то оказался более придирчив к генеративному решению, а кто-то наоборот почти сразу забраковал бота на интентах. Едва ли можно контролировать предпочтения участников фокусной группы, однако, вероятно, более эффективным стало бы исследование, проведенное при помощи людей с отсутствием опыта взаимодействия с LLM (и, соответственно, сформированного отношения к ним);

Вот таким получился наш эксперимент. Если у вас есть опыт прокачки чат-бота с помощью GenAI, обязательно поделитесь в комментариях, что получилось хорошо, и с какими челленджами столкнулись в процессе!

Теги:
Хабы:
0
Комментарии2

Публикации

Информация

Сайт
just-ai.com
Дата регистрации
Дата основания
2011
Численность
101–200 человек
Местоположение
Россия

Истории