Новая эра UX: развитие подхода к проектированию продуктов искусственного интеллекта
Опубликовано: 2024-01-18До того, как год назад на сцену вышел ChatGPT, искусственный интеллект (ИИ) и машинное обучение (МО) были загадочными инструментами экспертов и специалистов по обработке данных — команд с большим нишевым опытом и специализированными знаниями в предметной области. Теперь все по-другому.
Вероятно, вы читаете это, потому что ваша компания решила использовать GPT OpenAI или другую LLM (большую языковую модель) для внедрения функций генеративного ИИ в ваш продукт. В этом случае вы можете быть взволнованы («Создать отличную новую функцию так легко!») или ошеломлены («Почему я каждый раз получаю разные результаты и как мне заставить ее делать то, что я хочу?»)Или возможно, ты чувствуешь и то, и другое!
Работа с ИИ может стать новой задачей, но она не должна пугать. В этом посте мой многолетний опыт разработки «традиционных» подходов машинного обучения преобразован в простой набор вопросов, которые помогут вам уверенно двигаться вперед, начиная проектировать для искусственного интеллекта.
Другой вид UX-дизайна
Во-первых, немного информации о том, чем дизайн AI UX отличается от того, что вы привыкли делать. (Примечание: в этом посте я буду использовать искусственный интеллект и машинное обучение как взаимозаменяемые.) Возможно, вы знакомы с пятиуровневой моделью UX-дизайна Джесси Джеймса Гарретта.
Диаграмма «Элементы пользовательского опыта» Джесси Джеймса Гаррета
Модель Гаррета хорошо работает для детерминированных систем, но не учитывает дополнительные элементы проектов машинного обучения, которые повлияют на последующие аспекты UX. Работа с ML означает добавление в модель ряда дополнительных уровней внутри уровня стратегии и вокруг него. Теперь, помимо того, что вы привыкли проектировать, вам также необходимо более глубокое понимание:
- Как устроена система.
- Какие данные доступны для вашей функции, что она включает в себя, насколько она хороша и надежна.
- Модели машинного обучения, которые вы будете использовать, а также их сильные и слабые стороны.
- Результаты, которые будет генерировать ваша функция, как они будут различаться и когда они потерпят неудачу.
- Как люди могут отреагировать на эту функцию иначе, чем вы ожидаете или хотите.
Вместо того, чтобы спрашивать себя: «Как мы можем это сделать?» В ответ на известную, масштабную проблему вы можете спросить: «Можем ли мы это сделать?»
Особенно, если вы используете LLM, вы, скорее всего, будете работать в обратном направлении от технологии, которая открывает совершенно новые возможности, и вам придется определить, подходят ли они для решения проблем, о которых вы знаете, или даже проблем, которые вы никогда не считали разрешимыми. до. Возможно, вам придется мыслить на более высоком уровне, чем обычно: вместо отображения единиц информации вы можете синтезировать большие объемы информации и вместо этого представлять тенденции, закономерности и прогнозы.
«Вы разрабатываете вероятностную систему, которая является динамической и реагирует на входные данные в реальном времени»
Самое главное, вместо того, чтобы проектировать детерминированную систему, которая делает то, что вы ей приказываете, вы проектируете вероятностную систему, которая является динамической и реагирует на входные данные в реальном времени – с результатами и поведением, которые временами будут неожиданными или необъяснимыми. и где взвешивание компромиссов может оказаться неясным занятием. Именно здесь в игру вступает мой набор из пяти ключевых вопросов – не для того, чтобы дать вам ответы, а для того, чтобы помочь вам сделать следующий шаг перед лицом неопределенности. Давайте погрузимся.
1. Как вы обеспечите достоверность данных?
Ученые, работающие с данными, любят говорить: «Мусор на входе, мусор на выходе». Если вы начнете с плохих данных, у вас, как правило, не будет хорошей функции ИИ.
Например, если вы создаете чат-бота, который генерирует ответы на основе набора источников информации, например статей в онлайн-справочном центре, статьи низкого качества обеспечат низкое качество чат-бота.
Когда команда Intercom запустила Fin в начале 2023 года, мы поняли, что многие из наших клиентов не имели точного представления о качестве своего справочного контента до тех пор, пока они не начали использовать Fin и не обнаружили, какая информация присутствовала, а какая отсутствовала или была понятна в них. их содержание. Стремление к полезной функции ИИ может стать отличным стимулом для команд улучшить качество своих данных.
Итак, что такое хорошие данные? Хорошие данные:
- Точные: данные правильно отражают реальность. То есть, если мой рост 1,7 метра, в моей медицинской карте указано именно это. Там не написано, что мой рост 1,9 метра.
- Полно: данные содержат необходимые значения. Если для прогнозирования нам необходимо измерить рост, это значение присутствует в медицинских записях всех пациентов.
- Последовательность: данные не противоречат другим данным. У нас нет двух полей для высоты: в одном указано 1,7 м, а в другом — 1,9 м.
- Свежие: данные свежие и актуальные. Ваша медицинская карта не должна отражать ваш рост в 10-летнем возрасте, если вы теперь взрослый человек – если он изменился, запись должна измениться, чтобы отразить это.
- Уникальный: данные не дублируются. Мой врач не должен вести для меня две карты пациентов, иначе они не будут знать, какая из них правильная.
Редко когда имеется масса данных действительно высокого качества, поэтому вам, возможно, придется найти компромисс между качеством и количеством при разработке продукта ИИ. Возможно, вам удастся вручную создать меньшую (но, надеюсь, репрезентативную) выборку данных или отфильтровать старые, неточные данные, чтобы создать надежный набор.
Постарайтесь начать процесс проектирования с точного понимания того, насколько хороши ваши данные, и плана по их улучшению, если вначале они будут не очень хороши.
2. Как вы скорректируете процесс проектирования?
Как обычно, полезно начать с исследования низкой точности, чтобы определить идеальный пользовательский опыт для решения проблемы, которую вы надеетесь решить. Скорее всего, вы никогда не увидите его в производстве, но эта полярная звезда поможет вам и вашей команде сплотиться, воодушевить их, а также послужит конкретной отправной точкой для изучения того, насколько это на самом деле осуществимо.
«Потратьте некоторое время на понимание того, как работает система, как собираются и используются данные, и учитывает ли ваш проект отклонения, которые вы можете увидеть в выходных данных модели».
Как только вы это сделаете, пришло время спроектировать систему, данные и контент. Вернитесь к своей Полярной звезде и спросите: «Возможно ли то, что я разработал? Каковы варианты на случай, если X или Y не сработают?»
Потратьте некоторое время на то, чтобы понять, как работает система, как собираются и используются данные, а также учитывает ли ваш проект отклонения, которые вы можете увидеть в выходных данных модели. В случае с ИИ плохой результат — это плохой опыт. В примере с чат-ботом это может выглядеть как ответ, который не дает достаточно подробностей, отвечает на несущественный вопрос или не разъясняет вопрос, когда это необходимо.
Два примера того, как могут отображаться выходные данные чат-бота с искусственным интеллектом
На иллюстрации выше пример слева похож на многие ранние результаты, которые мы видели при разработке нашего чат-бота Fin, которые были точными, но не очень информативными или полезными, поскольку они отсылали к исходной статье вместо того, чтобы указывать ответ в строке. Дизайн поможет вам прийти к примеру справа, который содержит более полный ответ с четкими шагами и форматированием.
Не оставляйте содержание выходных данных вашим инженерам — их опыт должен быть продуман. Если вы работаете над продуктом на основе LLM, это означает, что вам следует поэкспериментировать с быстрым проектированием и выработать собственную точку зрения на то, какой должна быть форма и объем результатов.
Вам также необходимо будет подумать о том, как спроектировать новый набор потенциальных состояний ошибок, рисков и ограничений:
Состояния ошибок
- Проблема холодного старта: при первом использовании вашей функции у клиентов может быть мало данных или вообще их нет. Как они получат ценность с самого начала?
- Нет прогноза: у системы нет ответа. Что произойдет тогда?
- Плохой прогноз: система выдала плохой результат. Поймет ли пользователь, что это неправильно? Могут ли они это исправить?
Риски
- Ложные срабатывания , например, когда прогноз погоды предсказывает дождь, но дождя нет. Будет ли отрицательный результат, если это произойдет с вашим продуктом?
- Ложноотрицательные результаты , например, когда прогноз погоды предсказывает отсутствие дождя, но идет ливень. Каков будет результат, если это произойдет с вашей функцией?
- Риски реального мира , например, когда результаты ОД напрямую влияют на жизнь, средства к существованию и возможности людей. Применимы ли они к вашему продукту?
Новые ограничения
- Ограничения пользователей , такие как неправильные мысленные модели о том, как работает система, нереалистичные ожидания или опасения по поводу вашего продукта или вероятность самоуспокоенности с течением времени.
- Технические ограничения , такие как API или стоимость хранилища и вычислений, задержка, время безотказной работы, доступность данных, конфиденциальность данных и безопасность. В первую очередь это проблема ваших инженеров, но они также могут оказывать прямое влияние на взаимодействие с пользователем, поэтому вы должны понимать ограничения и возможности.
3. Как это будет работать, если ML выйдет из строя?
Когда, а неесли. Если вы удивлены тем, как ваш продукт искусственного интеллекта терпит неудачу в производстве, значит, вы заранее не провели достаточного тестирования. Ваша команда должна тестировать ваш продукт и его результаты на протяжении всего процесса сборки, а не ждать, пока вы отправите эту функцию клиентам. Тщательное тестирование даст вам четкое представление о том, как и когда ваш продукт может выйти из строя, и вы сможете создать пользовательский опыт для смягчения этих сбоев. Вот несколько способов эффективного тестирования вашего продукта.
Начните с прототипов дизайна
Прототипируйте как можно больше реальных данных. «Lorem ipsum» здесь ваш враг — используйте реальные примеры для стресс-тестирования вашего продукта. Например, при разработке нашего чат-бота Fin с искусственным интеллектом было важно проверить качество ответов на реальные вопросы клиентов, используя в качестве исходного материала реальные статьи справочного центра.
Пример того, как два дизайнера могут подойти к созданию чат-бота, который дает ответы, генерируемые ИИ.
В этом сравнении мы видим, что красочный пример слева более привлекателен визуально, но не дает подробностей о качестве процесса генерации ответов. Он имеет высокую визуальную точность, но низкую точность содержания. Пример справа более информативен для тестирования и проверки того, что ответы ИИ на самом деле хорошего качества, поскольку он имеет высокую точность контента.
Дизайнерам часто привычнее работать в диапазоне визуальной точности. Если вы разрабатываете дизайн для машинного обучения, вам следует стремиться работать по всему спектру точности контента, пока вы полностью не убедитесь, что выходные данные имеют достаточное качество для ваших пользователей.
Красочный дизайн Fin не поможет вам судить, может ли чат-бот отвечать на вопросы достаточно хорошо, чтобы клиенты платили за него. Вы получите лучшую обратную связь, показав клиентам прототип, каким бы простым он ни был, который показывает им реальные результаты на основе их фактических данных.
Тестируйте в больших масштабах
Если вы считаете, что добились стабильно высокого качества результатов,проведите бэктест , чтобы проверить качество результатов в более широком масштабе.Это означает, что ваши инженеры вернутся и проработают алгоритм на основе большего количества исторических данных, где вы знаете или можете надежно оценить качество результата. Вам следует проверять качество и последовательность результатов, а также выявлять любые сюрпризы.
Подойдите к своему минимально жизнеспособному продукту (MVP) как к тесту.
Ваш MVP или бета-версия должны помочь вам решить все оставшиеся вопросы и найти еще больше потенциальных сюрпризов. Подумайте о своем MVP нестандартно — вы можете создать его в продукте или просто в виде электронной таблицы.
«Заставьте результаты работать, а затем постройте вокруг них оболочку продукта»
Например, если вы создаете функцию, которая группирует группы статей в тематические области, а затем определяет темы, вам нужно убедиться, что вы правильно выполнили кластеризацию, прежде чем создавать полный пользовательский интерфейс. Если ваши кластеры плохие, возможно, вам придется подойти к проблеме по-другому или разрешить различные взаимодействия для настройки размеров кластеров.
Возможно, вы захотите «построить» MVP, который представляет собой просто таблицу результатов и названных тем, и посмотреть, найдут ли ваши клиенты ценность в том, как вы это сделали. Заставьте результаты работать, а затем постройте вокруг них оболочку продукта.
Запустите A/B-тестирование при запуске MVP.
Вы захотите измерить положительное или отрицательное влияние вашей функции. Как дизайнер, вы, вероятно, не будете отвечать за эту настройку, но вам следует стремиться понять результаты. Указывают ли показатели на ценность вашего продукта? Есть ли какие-либо мешающие факторы в пользовательском интерфейсе или UX, которые вам, возможно, придется изменить в зависимости от того, что вы видите?
«Вы можете использовать телеметрию об использовании вашего продукта в сочетании с качественной обратной связью от пользователей, чтобы лучше понять, как ваши пользователи взаимодействуют с вашей функцией и какую ценность они от нее получают»
В команде Intercom AI мы проводим A/B-тесты каждый раз, когда выпускаем новую функцию с достаточно большим количеством взаимодействий, чтобы определить статистическую значимость в течение нескольких недель. Однако для некоторых функций вам просто не хватит объема — в этом случае вы можете использовать телеметрию об использовании вашего продукта в сочетании с качественными отзывами пользователей, чтобы лучше понять, как ваши пользователи взаимодействуют с вашей функцией и какую ценность они получают от нее. это.
4. Как люди впишутся в систему?
Существует три основных этапа жизненного цикла использования продукта, которые следует учитывать при создании продукта ИИ:
- Настройка функции перед использованием .Это может включать выбор уровня автономии, в котором будет работать продукт, обработку и фильтрацию данных, которые будут использоваться для прогнозов, а также настройку контроля доступа. Примером этого является система автоматизации автономных транспортных средств SAE International, в которой описывается, что транспортное средство может делать самостоятельно и насколько вмешательство человека разрешено или требуется.
- Мониторинг функции во время ее работы.Нужен ли системе человек, который будет следить за ее работой, пока она работает? Нужен ли вам этап утверждения для обеспечения качества? Это может означать оперативные проверки, человеческое руководство или одобрение в реальном времени перед отправкой результатов ИИ конечному пользователю. Примером этого может быть помощник по написанию статей с использованием ИИ, который предлагает внести изменения в черновой вариант справочной статьи, который автор должен утвердить, прежде чем опубликовать их.
- Оценка функции после запуска.Обычно это означает отчетность, предоставление обратной связи или принятие мер, а также управление изменениями данных с течением времени. На этом этапе пользователь оглядывается на работу автоматизированной системы, сравнивает ее с историческими данными или смотрит на качество и решает, как ее улучшить (посредством обучения модели, обновления данных или других методов). Примером этого может быть отчет с подробным описанием того, какие вопросы конечные пользователи задавали вашему чат-боту с искусственным интеллектом, каковы были ответы, а также предлагаемые изменения, которые вы можете внести, чтобы улучшить ответы чат-бота на будущие вопросы.
Вы также можете использовать эти три этапа, чтобы составить план разработки вашего продукта. У вас может быть несколько продуктов и несколько пользовательских интерфейсов, основанных на одной и той же или очень похожей технологии машинного обучения, и просто менять места участия человека. Участие человека на разных этапах жизненного цикла может полностью изменить предложение продукта.
Вы также можете подходить к проектированию продуктов ИИ с точки зрения времени: создайте что-то сейчас, что может нуждаться в человеке в определенный момент, но с планом удалить их или перенести на другой этап, как только ваши конечные пользователи привыкнут к результатам и качеству. функции ИИ.
5. Как вы будете формировать доверие пользователей к системе?
Когда вы вводите ИИ в продукт, вы вводите модель с возможностью действовать в системе, тогда как раньше это агентство было только у самих пользователей. Это добавляет риск и неопределенность для ваших клиентов. Понятно, что уровень проверки вашего продукта повысится, и вам нужно будет завоевать доверие пользователей.
Вы можете попробовать сделать это несколькими способами:
- Предлагайте «темный запуск» или параллельный опыт, где клиенты могут сравнивать результаты или видеть результаты, не раскрывая их конечным пользователям. Подумайте об этом как о версии бэктестинга, ориентированной на пользователя, которую вы проводили ранее в процессе — цель здесь — дать вашим клиентам уверенность в диапазоне и качестве результатов, которые обеспечит ваша функция или продукт. Например, когда мы запустили чат-бота Fin AI от Intercom, мы предложили страницу, на которой клиенты могли загрузить и протестировать бота на своих собственных данных.
- Сначала запустите эту функцию под наблюдением человека. Через некоторое время при хорошей производительности ваши клиенты, скорее всего, доверят ему работу без человеческого контроля.
- Сделайте так, чтобы эту функцию можно было легко отключить, если она не работает. Пользователям легче внедрить функцию искусственного интеллекта в свой рабочий процесс (особенно в бизнес-процесс), если нет риска, что они могут что-то испортить и не смогут это остановить.
- Создайте механизм обратной связи , чтобы пользователи могли сообщать о плохих результатах, и в идеале ваша система должна реагировать на эти отчеты для улучшения системы. Однако не забудьте установить реалистичные ожидания относительно того, когда и как будут действовать отзывы, чтобы клиенты не ожидали мгновенных улучшений.
- Создайте надежные механизмы отчетности , которые помогут вашим клиентам понять, как работает ИИ и какую рентабельность инвестиций они от него получают.
В зависимости от вашего продукта вы можете попробовать несколько из них, чтобы побудить пользователей получить опыт и почувствовать себя комфортно с вашим продуктом.
Терпение — добродетель, когда дело касается ИИ
Я надеюсь, что эти пять вопросов помогут вам в путешествии в новый, быстро развивающийся мир разработки продуктов искусственного интеллекта. И последний совет: будьте терпеливы при запуске продукта. Чтобы запустить функцию машинного обучения и настроить ее так, как предпочитает работать компания, могут потребоваться значительные усилия, поэтому кривая внедрения может выглядеть иначе, чем вы могли ожидать.
«После того, как вы создадите несколько функций искусственного интеллекта, вы начнете лучше понимать, как ваши конкретные клиенты будут реагировать на новые запуски».
Вполне вероятно, что пройдет некоторое время, прежде чем ваши клиенты увидят наибольшую ценность или прежде чем они смогут убедить своих заинтересованных лиц в том, что ИИ стоит затрат и должен быть представлен более широкому кругу пользователей.
Даже клиентам, которые действительно в восторге от вашей функции, может потребоваться время для ее внедрения либо потому, что им нужно выполнить подготовительную работу, например, очистить свои данные, либо потому, что они работают над завоеванием доверия перед ее запуском. Возможно, трудно предугадать, какое внедрение вам следует ожидать, но после того, как вы создадите несколько функций ИИ, вы начнете лучше понимать, как ваши конкретные клиенты будут реагировать на новые запуски.