用户体验的新时代:改进人工智能产品的设计方法
已发表: 2024-01-18一年前,在 ChatGPT 出现之前,人工智能 (AI) 和机器学习 (ML) 是专家和数据科学家的神秘工具,他们的团队拥有丰富的利基经验和专业领域知识。 现在,情况不同了。
您阅读本文的原因可能是您的公司决定使用 OpenAI 的 GPT 或其他 LLM(大型语言模型)在您的产品中构建生成式 AI 功能。 如果是这种情况,您可能会感到兴奋(“制作一个很棒的新功能是如此容易!”)或不知所措(“为什么我每次都会得到不同的输出以及如何让它做我想要的事情?” )或者也许你两者都有感觉!
使用人工智能可能是一个新的挑战,但它并不需要令人生畏。 这篇文章将我多年来设计“传统”ML 方法的经验提炼为一组简单的问题,以帮助您在开始 AI 设计时充满信心地前进。
一种不同的用户体验设计
首先,了解一些有关 AI UX 设计与您习惯的设计有何不同的背景知识。 (注意:在这篇文章中我将交替使用 AI 和 ML。)您可能熟悉 Jesse James Garrett 的 UX 设计的 5 层模型。
Jesse James Garrett 的用户体验要素图
Garrett 的模型适用于确定性系统,但没有捕获机器学习项目的额外元素,这些元素将影响下游的用户体验考虑因素。 使用机器学习意味着在模型中、策略层及其周围添加许多附加层。 现在,除了您习惯的设计之外,您还需要更深入地了解:
- 系统是如何构建的。
- 您的功能可以使用哪些数据,它包含哪些内容,它的质量和可靠性如何。
- 您将使用的机器学习模型及其优点和缺点。
- 您的功能将生成的输出、它们将如何变化以及它们何时会失败。
- 人们对此功能的反应可能与您预期或想要的不同。
不要问自己“我们该怎么做?” 在回答一个已知的、范围内的问题时,您可能会问自己:“我们可以这样做吗?”
特别是如果您使用法学硕士,您可能会从解锁全新功能的技术开始向后工作,并且您必须确定它们是否适合解决您知道的问题,甚至是您从未认为可以解决的问题前。 您可能需要比平常更高的水平思考 - 您可能想要合成大量信息并呈现趋势、模式和预测,而不是显示信息单元。
“您正在设计一个动态的概率系统,并且可以实时对输入做出反应”
最重要的是,您不是设计一个按照您的指示执行操作的确定性系统,而是设计一个动态的概率系统,该系统对输入实时做出反应 - 其结果和行为有时会是意外或无法解释的,权衡权衡可能是一项模糊的工作。 这就是我的五个关键问题发挥作用的地方 - 不是为您提供答案,而是帮助您在面对不确定性时采取下一步。 让我们深入了解一下。
1. 如何确保良好的数据?
数据科学家喜欢说“垃圾进,垃圾出”。 如果你从糟糕的数据开始,通常不可能获得良好的人工智能功能。
例如,如果您正在构建一个根据一系列信息源(例如在线帮助中心的文章)生成答案的聊天机器人,那么低质量的文章将导致聊天机器人的质量也较低。
当 Intercom 团队于 2023 年初推出 Fin 时,我们意识到,许多客户在开始使用 Fin 并发现其中存在或不存在或清晰的信息之前,对其帮助内容的质量没有准确的认识。他们的内容。 对有用的人工智能功能的渴望可以成为团队提高数据质量的绝佳动力。
那么,什么是好数据呢? 好的数据是:
- 准确:数据正确地反映了现实。 也就是说,如果我身高 1.7m,我的健康记录上就是这么写的。 没有说我身高1.9m。
- 完整:数据包含所需的值。 如果我们需要测量身高来进行预测,那么该值就会出现在所有患者的健康记录中。
- 一致:数据与其他数据不矛盾。 我们没有两个高度字段,一个表示 1.7m,另一个表示 1.9m。
- 新鲜:数据是最近且最新的。 如果您现在是成年人,您的健康记录不应该反映您 10 岁时的身高 - 如果发生变化,记录应该进行更改以反映它。
- 唯一:数据不重复。 我的医生不应该为我保留两份病历,否则他们不知道哪一份是正确的。
拥有大量真正高质量的数据很少见,因此在开发人工智能产品时,您可能必须进行质量/数量权衡。 您也许能够手动创建较小的(但希望仍然具有代表性的样本)数据,或者过滤掉旧的、不准确的数据以创建可靠的数据集。
尝试在开始设计过程时准确地了解数据的质量,并制定改进计划(如果一开始效果不佳)。
2. 您将如何调整您的设计流程?
与往常一样,从低保真探索开始以确定您希望解决的问题的理想用户体验是有用的。 您可能永远不会在生产中看到它,但这颗北极星可以帮助您和您的团队保持一致,让他们兴奋,并提供一个具体的起点来研究它实际上的可行性。
“花一些时间了解系统如何工作、如何收集和使用数据以及您的设计是否捕获了模型输出中可能看到的差异”
一旦有了这些,就可以设计系统、数据和内容输出了。 回到你的北极星并问“我的设计实际上可行吗? 如果 X 或 Y 效果不佳,会有哪些变化?”
花一些时间了解系统如何工作、如何收集和使用数据以及您的设计是否捕获了模型输出中可能看到的差异。 对于人工智能来说,糟糕的输出就是糟糕的体验。 在聊天机器人的示例中,这可能看起来像是一个没有提供足够细节的答案,回答了一个离题的问题,或者在应该澄清问题的时候没有澄清问题。
如何显示人工智能聊天机器人输出的两个示例
在上图中,左侧的示例与我们在开发 Fin 聊天机器人时看到的许多早期输出类似,这些输出很准确,但信息量不大或有用,因为它们引用了原始文章,而不是内联说明答案。 设计可以帮助您获得右侧的示例,该示例具有更完整的答案以及清晰的步骤和格式。
不要将输出的内容留给工程师——应该设计它的体验。 如果您正在开发基于法学硕士的产品,这意味着您应该尝试即时工程,并就输出的形状和范围形成自己的观点。
您还需要考虑如何针对一组新的潜在错误状态、风险和约束进行设计:
错误状态
- 冷启动问题:客户第一次使用您的功能时可能只有很少或没有数据。 他们如何从一开始就获得价值?
- 没有预测:系统没有答案。 然后会发生什么?
- 错误的预测:系统给出的输出很差。 用户会知道这是错误的吗? 他们能修好吗?
风险
- 误报,例如天气预报预测会下雨,但实际上并没有下雨。 如果您的产品发生这种情况,会产生负面结果吗?
- 误报,例如天气预报预测不会下雨,但却下起了倾盆大雨。 如果您的功能发生这种情况,结果会怎样?
- 现实世界的风险,例如机器学习输出直接影响或影响人们的生活、生计和机会。 这些适用于您的产品吗?
新的限制
- 用户限制,例如关于系统如何工作的不正确的心理模型、对产品不切实际的期望或恐惧,或者随着时间的推移而自满的可能性。
- 技术限制,例如 API 或存储和计算成本、延迟、正常运行时间、数据可用性、数据隐私和安全性。 这些主要是您的工程师面临的问题,但它们也可能对用户体验产生直接影响,因此您应该了解其局限性和可能性。
3. 当机器学习失败时它将如何工作?
当,而不是如果。 如果您对人工智能产品在生产中失败的方式感到惊讶,那么您事先没有进行足够的测试。 您的团队应该在整个构建过程中测试您的产品和输出,而不是等到您即将将该功能交付给客户时才测试。 严格的测试将使您清楚地了解您的产品如何以及何时可能出现故障,因此您可以构建用户体验来减轻这些故障。 以下是一些可以有效测试产品的方法。
从您的设计原型开始
尽可能使用真实数据制作原型。 “Lorem ipsum”是你的敌人——使用真实的例子来对你的产品进行压力测试。 例如,在开发我们的人工智能聊天机器人 Fin 时,使用真实的帮助中心文章作为源材料来测试对真实客户问题的答案的质量非常重要。
两位设计师如何设计提供人工智能生成答案的聊天机器人的示例
在此比较中,我们可以看到左侧的彩色示例在视觉上更具吸引力,但没有提供有关答案生成体验质量的详细信息。 它具有较高的视觉保真度,但内容保真度较低。 右侧的示例对于测试和验证 AI 响应实际上具有良好的质量提供了更多信息,因为它具有很高的内容保真度。
设计师通常更熟悉视觉保真度范围内的工作。 如果您正在针对 ML 进行设计,您应该致力于在内容保真度范围内进行工作,直到您完全验证输出对于用户来说具有足够的质量。
色彩缤纷的 Fin 设计并不能帮助你判断聊天机器人是否能够很好地回答问题,以至于客户会为此付费。 通过向客户展示一个原型(无论多么简单),您将获得更好的反馈,该原型向他们展示实际数据的真实输出。
大规模测试
当您认为自己已经实现了始终如一的高质量输出时,请进行回溯测试以在更大范围内验证您的输出质量。 这意味着让您的工程师返回并根据您知道或可以可靠地判断输出质量的更多历史数据运行算法。 您应该检查输出的质量和一致性,并发现任何意外情况。
将您的最小可行产品 (MVP) 作为测试
您的 MVP 或 beta 版本应该可以帮助您解决任何剩余的问题并发现更多潜在的惊喜。 跳出框框思考您的 MVP – 您可以在产品中构建它,也可以只是一个电子表格。
“让输出发挥作用,然后围绕它构建产品外壳”
例如,如果您正在创建一个功能,将多组文章聚集到主题区域中,然后定义主题,那么您需要确保在构建完整的 UI 之前已经获得了聚集。 如果您的集群不好,您可能需要以不同的方式解决问题,或者允许不同的交互来调整集群大小。
您可能想要“构建”一个 MVP,它只是输出和命名主题的电子表格,然后看看您的客户是否发现您的做法有价值。 让输出发挥作用,然后围绕它构建产品外壳。
启动 MVP 时运行 A/B 测试
您需要衡量您的功能的积极或消极影响。 作为一名设计师,您可能不会负责设置此内容,但您应该设法了解结果。 这些指标是否表明您的产品有价值? UI 或 UX 中是否存在任何混杂因素,您可能需要根据您所看到的内容进行更改?
“您可以将产品使用情况的遥测数据与定性用户反馈结合起来,以更好地了解用户如何与您的功能交互以及他们从中获得的价值”
在 Intercom AI 团队中,每当我们发布具有足够多交互量的新功能时,我们都会运行 A/B 测试,以便在几周内确定统计显着性。 不过,对于某些功能,您只是没有足够的数量 - 在这种情况下,您可以使用产品使用情况的遥测数据与定性用户反馈相结合,以更好地了解用户如何与您的功能交互以及他们从中获得的价值它。
4. 人类将如何融入这个系统?
在构建人工智能产品时,您应该考虑产品使用生命周期的三个主要阶段:
- 使用前设置该功能。 这可能包括选择产品运行的自主级别、整理和过滤用于预测的数据以及设置访问控制。 这方面的一个例子是 SAE 国际自动驾驶汽车自动化框架,该框架概述了车辆可以自行做什么,以及允许或需要多少人为干预。
- 在功能运行时对其进行监控。 系统在运行时是否需要有人来保持其正常运行? 您是否需要批准步骤来确保质量? 这可能意味着在将人工智能输出发送给最终用户之前进行操作检查、人工指导或实时批准。 人工智能文章写作助手就是一个例子,它建议对草稿帮助文章进行编辑,作者必须在发布之前批准该文章。
- 启动后评估该功能。 这通常意味着报告、提供反馈或采取行动反馈,以及管理数据随时间的变化。 在此阶段,用户回顾自动化系统的执行情况,将其与历史数据进行比较或查看质量并决定如何改进它(通过模型训练、数据更新或其他方法)。 例如,一份报告详细说明了最终用户向您的 AI 聊天机器人提出了哪些问题、得到了哪些答复,以及您可以进行哪些更改以改进聊天机器人对未来问题的回答的建议。
您也可以使用这三个阶段来帮助告知您的产品开发路线图。 您可以拥有基于相同或非常相似的后端机器学习技术的多个产品和多个 UI,只需改变人类参与的位置即可。 人类在生命周期不同阶段的参与可以彻底改变产品主张。
您还可以根据时间来进行人工智能产品设计:现在构建一些在某个时候可能需要人工的产品,但计划在最终用户习惯了输出和质量后将其删除或移至不同的阶段的AI功能。
5. 您将如何建立用户对系统的信任?
当你将人工智能引入产品时,你就引入了一个具有在系统中发挥作用的代理的模型,而以前只有用户自己拥有该代理。 这会增加客户的风险和不确定性。 您的产品受到的审查级别将会提高,这是可以理解的,您需要赢得用户的信任。
您可以尝试通过以下几种方式来做到这一点:
- 提供“暗启动”或并行体验,客户可以比较输出或查看输出,而无需将其暴露给最终用户。 可以将其视为您在流程早期进行的回溯测试的面向用户的版本 - 这里的重点是让您的客户对您的功能或产品将提供的输出的范围和质量充满信心。 例如,当我们推出 Intercom 的 Fin AI 聊天机器人时,我们提供了一个页面,客户可以在其中上传并根据自己的数据测试机器人。
- 首先在人工监督下启动该功能。 经过一段时间的良好性能后,您的客户可能会相信它可以在没有人工监控的情况下运行。
- 如果该功能不起作用,请轻松关闭该功能。 如果用户不存在可能搞砸事情并且无法阻止它的风险,那么用户就可以更轻松地在他们的工作流程(尤其是业务工作流程)中采用人工智能功能。
- 建立反馈机制,以便用户可以报告不良结果,并且理想情况下让您的系统根据这些报告采取行动以改进系统。 但是,请务必对反馈何时以及如何采取行动设定现实的期望,这样客户就不会期望立即得到改进。
- 建立强大的报告机制,帮助您的客户了解人工智能的表现以及他们从中获得的投资回报率。
根据您的产品,您可能需要尝试其中多种方法,以鼓励用户获得经验并对您的产品感到满意。
对于人工智能来说,耐心是一种美德
我希望这五个问题能够帮助指导您进入快速发展的人工智能产品开发新世界。 最后一条建议:在推出产品时要有耐心。 启动并运行机器学习功能并使其适应公司喜欢的工作方式可能需要付出巨大的努力,因此采用曲线可能与您预期的不同。
“构建一些人工智能功能后,您将开始更好地了解特定客户对新产品的反应”
客户可能需要一些时间才能看到最高价值,或者他们才能说服利益相关者人工智能值得付出成本并且应该更广泛地向用户推出。
即使客户对您的功能非常感兴趣,也可能仍然需要时间来实现它,要么是因为他们需要做清理数据等准备工作,要么是因为他们正在努力在启动之前建立信任。 可能很难预测您应该期望什么样的采用,但是在您构建了一些人工智能功能之后,您将开始更好地了解您的特定客户对新发布的反应。