Айтишник женился на девушке, с которой общался ChatGPT. А как научить бота общаться с клиентами?

Привет, Хабр! Меня зовут Алексей, в Пиробайте я разрабатываю мобильные приложения на Flutter. Недавно я зашел в Twitter и не знал — радоваться мне или плакать, ведь эпопея об айтишниках и кринжовых тредах получила новый виток развития. 

Если вкратце, парень рассказал о том, что женился на девушке, с которой общался не он, а ChatGPT. И это было не просто пару сообщений, а поставленная на поток схема, где чат-бот искал, общался и звал на свидания тысячи девушек из Тиндера. Пока не нашел ту единственную, на которую перенастроил бота. А потом, слава Богу, начал общение самостоятельно. На других же девушках он зарабатывал реферальным путем (приводя их в разные компании). What a story, Mark!

История хоть и интересная, но в целом непонятно, зачем о ней писать здесь… Или не совсем? Давайте разбираться.

d157cd8d16ba96212a743f40ed6cc5ae.jpeg

Для начала проанализируем опыт автора по созданию идеального тиндер-парня из ChatGPT. Чтобы не пересказывать весь тред целиком, опишу основные пункты:

  1. Изначальная схема строилась на запросе: ты парень, знакомишься с девушкой, твоя цель — пригласить ее на свидание. Для этого бот пытался узнать девушку лучше, но делал это топорно и постоянно звал на свидание в лес (буквально, в Битцевский)

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

  3. С помощью FlutterFlow (наконец-то Флаттер!) и API, ChatGPT самостоятельно свайпал профили и общался с девушками. Все на основе предпочтений автора

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

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

И тут выдохнем и сделаем паузу. 

Что это вообще было?  

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

Тут как в анекдоте — сколько нужно дизайнеров, чтобы вкрутить одну лампочку? Судя по всему столько, сколько понадобится бизнесу.

А чем вообще занимается дизайнер диалогов? Примерно тем же, что и наш герой (но без использования кода), то есть продумывает цель бота, conversational flow (логику хода разговора) и всячески улучшает качество его общения с конечным пользователем.

Путь к созданию идеального чат-бота может сильно усложниться из-за 2-х вещей:  

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

Окей, с базой разобрались.

Давайте попробуем задизайнить собственного бота?  

Пока просто как концепцию. С чего начнем?  

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

Автоматизируем этот процесс!

Надо выбрать платформу, где мы будем разрабатывать нашего бота (пока просто теоретически, однако я постараюсь объяснить почему именно она). Из самого простого и очевидного — Landbot. Она популярна и у нее понятный конструктор ботов, где вы можете делать и обычных болванчиков, и AI монстров (если интересно что-то круче, то можно обратиться к VoiceFlow, там есть где разгуляться). 

Чтобы определиться со следующим шагом, мы обратимся к интерфейсу этой платформы:  

c32abd3de72179a21a060aeefa8e7113.png

И здесь мы видим кнопку »‎‎feed the bot‎»‎. Ключевое для нас слово »‎скормить‎»‎.

Встает резонный вопрос —, а чем его кормить? Понятное дело, разговорами. Для того, чтобы бот радовал клиентов полезной информацией, а не спрашивал про погоду, для него нужно создать Сonversational flow.

Conversational flow строится из нескольких вещей, которые будут понятны любому человеку, который хоть раз, да разговаривал с людьми (кивок головой считается за общение, честно):

Построен наш Flow в основном на if/else блоках. Если был задан определенный вопрос, должен быть дан этот ответ. Если другой, то и ответ, соответственно, другой. 

Если очень упрощенно, то получается вот так:

4d42c39548e8d6ed1e32eb7e34620d49.png

Помимо очевидно неразветвленной структуры данного Conversational flow, он прост еще по нескольким причинам:

  1. Этот Flow подходит для бота, который умеет отвечать лишь на конкретные вопросы, которые мы ему пропишем. То есть выбирать вопрос из доступного списка;

  2. У данной структуры прописаны базовые фоллбэки »‎‎anyway»‎, которые не объясняют боту, что делать, если пользователь нажал »‎другое‎»‎. Он просто заканчивает разговор;

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

А в чем тогда смысл этой схемы? Благодаря ней мы разобрались в их основных компонентах:

  1. Все всегда начинается с входной точки, которая побуждает бота к первому этапу — приветствию;

  2. От каждого варианта ответа есть свое ответвление и вариант ответа для бота;

  3. Каждый вариант вопроса прописан как intent (дословно интенция), который и воспринимается как вопрос пользователя.

Давайте разберем еще один Flow с минимальной наполненностью, но с основными этапами

И да, Conversational flow — это не обязательно схема, может и просто пример диалога.

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

1. Greetings (Приветствие):

  • Bot: Привет! Я бот веб-студии. Пока никого нет, я смогу ответить на ваш вопрос

  • Bot: Могу рассказать о нас подробнее или помочь определиться с разработкой конкретного продукта. Что скажете?

2. Qualification (уточнение хотелок клиента):

  • User: Я бы хотел сделать приложение

  • Bot: Звучит круто! Расскажите о своем бизнесе подробнее. Какие задачи вы хотите решить с помощью приложения?

3. Gathering Information (сбор информации):

  • User: У меня небольшой онлайн-магазин ювелирных изделий

  • Bot: Хорошо, у вас уже есть сайт или приложение?

4. Identifying Pain Points (выяснить проблемы существующего бизнеса):

  • User: У нас есть сайт, он хоть и выполняет основную функцию, но морально устарел, нам бы хотелось что-то более современное

  • Bot: Понял. Современный дизайн и функционал действительно привлекают больше пользователей. Расскажите подробнее о том, почему вас не устраивает то, что есть сейчас

5. Offering Solutions (предлагаем решение):

  • Bot: Ваш бизнес бы выиграл от приложения, так как большая часть ваших заказов приходит именно оттуда

  • Bot: Хотели бы созвониться, чтобы обсудить дальнейшую стратегию?

6. Call to Action (призыв к действию):

  • User: Да, конечно

  • Bot: Отлично! Напишите ваш email, чтобы мы назначили встречу в удобное для вас время

7. Follow-up (завершение диалога):

  • Bot: Спасибо за проявленный интерес к нам! Мы свяжемся с вами в ближайшее время

  • Bot: А пока можете изучить наш сайт для знакомства с лучшими кейсами и отзывами других компаний

8. Additional Assistance (дополнительная помощь):

  • Bot: Могу ли я помочь как-то еще?

  • User: Нет, это все. Спасибо

  • Bot: Пожалуйста! Были рады познакомиться, если у вас возникнут вопросы — буду рад на них ответить!

Эта схема хоть и упрощена, но дает представление об основных пунктах диалога. Конечно, можно упороться по всем пограничным кейсам и расписать бота максимально подробно, но делать этого не стоит. Придерживайтесь правила 80/20. Ведь 80% разговора будут проходить по 20% из всех возможных ответвлений.

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

Кейсы студии

Кейс 1

Описание кейса, сильные стороны

Кейс 2

Описание кейса, сильные стороны

«Боли» бизнеса

Боль 1: Устаревший дизайн

Дизайн существующего решения не соответствует требованиям рынка

Боль 2: <название>

Типовое описание проблемы

Возможные решения

Обновить дизайн

Полный пересмотр дизайн-концепции с учетом современных тенденций на рынке

Разработать приложение

Описание решения

Наш стэк

Frontend

React, React Native, Flutter

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

Backend

Laravel, Node.js

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

База знаний должна покрывать все, что может понадобиться для конечной цели — генерации лидов. И если ваш Сonversational flow прописан максимально грамотно, то и база знаний будет иметь только полезную для пользователя информацию.

Окей, с основными шагами мы разобрались.

Как задизайнить диалог так, чтобы он не был раздражающим?  

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

Но мы все-таки можем выделить несколько основных принципов, без которых не получится построить качественный диалог. Они базируются на самой главной особенности — естественности. Реальное, человеческое сознание требует эмпатии, почтительности и поощрения. Сами принципы я позаимствовал из Conversation design institute:

  1. Продуманная личность бота — это ключ к последовательному диалогу

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

  2. Используйте личность вашего бота для построения отношений с вашими пользователями

    Теперь, когда у вашего бота есть «личность», которая налаживает последовательный диалог, вы можете начать наполнять эту личность. Есть ошибочное мнение, что индивидуальность бота — это все болтовня. Что он никак не влияет на результат. Однако это в корне неверно.

  3. Правильно прописывайте рамки диалога и ограничения вашего бота:

    Привет, меня зовут Джонни, и я знаю все. Что вы хотите узнать?  

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

    Привет, меня зовут Джонни. Я могу рассказать что угодно про кофе. Что бы вы хотели узнать?  

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

  4. Явно выражайте заботу о заказчике, чтобы завоевать доверие

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

  5. Чтобы ускорить ход диалога, используйте вопрос/ответ

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

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

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

***

Кто что думает по поводу новой профессии? Достаточно интересна, чтобы превратить ее в хобби, а уже потом в реальную работу?

© Habrahabr.ru