思想领袖

技术本身并不能保证采用:从内部AI聊天机器人建设中吸取的教训

mm

随着AI在各个行业的采用加速,部署一个聊天机器人来支持新推出的内部应用程序似乎是一个合乎逻辑的决定。然而,应用程序本身挑战了传统的用户期望。它引入了新的工作流程,这些工作流程是基于大多数用户不熟悉的新兴技术构建的。

为了减少摩擦并提高采用率,聊天机器人被设计为回答关于应用程序和底层技术的问题。我们的目标是帮助用户了解不仅要做什么,还要了解系统为什么以这种方式表现。我们相信,提供上下文解释将加速学习并减少混淆。

从一开始,AI代理被设计为一个有限范围的解决方案。它被严格设计为支持文档并提供用户帮助。从概念上讲,聊天机器人被设计为一个动态的FAQ文档的替代品,提供一个对话式、可搜索和持续可用的接口,具有超越静态内容的扩展功能。

为了将代理集成到组织的内部聊天环境中,我们需要了解结构化消息如何呈现,如何存储对话历史,以及系统如何在线程中识别参与者。这使我们能够确定开始处理用户问题所需的核心变量。

使模型接地:从幻觉到可靠的上下文

大型语言模型很强大,但如果没有上下文锚定,它们容易产生幻觉。为了解决这个问题,我们实施了一个向量嵌入技术

用户指南、内部文档和产品愿景被转换为文本的数字向量表示。这些嵌入捕获了语义含义,允许系统匹配概念,而不是依赖于简单的关键字匹配。

当用户提出问题时,系统将查询转换为向量表示,并将其与存储的嵌入进行比较。它检索出最语义相关的文档,并将它们注入模型的提示中。模型然后使用这些特定文档生成响应,通常总结相关信息。

这种方法显著提高了响应的准确性。相比基于一般知识生成答案,模型使用我们组织自己的文档作为上下文来响应。

上下文管理的隐藏复杂性

包括对话历史在提示中是必不可少的,这样机器人就可以解释后续问题并保持连续性。没有历史,交互变得零碎和重复。用户经常逐步完善他们的问题,而没有上下文,机器人无法解释“那个选项”或“前一步”等引用。

然而,包含太多历史会产生一个不同的问题:令牌限制。这些发生在语言模型截断超过其最大上下文窗口的输入时。如果一个问题或对话变得太长,重要信息可能会丢失。这不会产生明显的错误,而是降低响应质量或影响检索准确性。

为了减轻这一点,我们实施了控制提示大小、优先考虑相关内容和监测问题长度的策略。我们尝试了总结旧消息和选择性地仅包含对话中最相关部分。上下文至关重要,但必须仔细管理。

扩展能力和制造混淆

除了回答文档相关问题外,我们通过添加后端函数来扩展机器人的功能,这些函数可以直接从应用程序中提取某些公共信息。这使用户能够从聊天中检索数据,而无需登录应用程序本身。这个想法是减少摩擦并强化聊天机器人作为一个有用的接口,而不仅仅是一个静态的知识层。

然而,这一扩展却让一些用户感到困惑。一旦机器人开始检索实时数据,用户就开始要求它执行需要在平台内直接交互的操作。他们假设聊天机器人可以替代操作步骤,包括需要在平台内进行身份验证或故意执行的步骤。

机器人从来没有被设计为执行这些操作,但信息性帮助和操作执行之间的区别并不总是很明显。

将实时数据集成还引入了新的技术考虑。我们需要定义何时应该通过基于嵌入的检索处理问题,何时应该触发后端调用。该决策逻辑需要仔细设计。另外,我们需要调整响应以优雅地处理技术异常并避免将原始系统错误暴露给用户。

多语言能力不是自动的

在测试期间,我们意识到机器人在英语中的性能始终优于Jalasoft内部使用的其他语言。主要原因是结构性的:用于生成嵌入的大多数文档都是用英语编写的,我们选择的嵌入模型针对英语语义相似性进行了优化。

它不支持跨语言检索或语义比较。因此,非英语查询通常检索出不太相关的文档,导致响应变弱。

这凸显了一个重要的见解:多语言能力不是自动的。

期望超出范围

为了控制使用成本,我们实施了每日限制,限制用户可以向机器人提出的问题数量。然而,我们没有明确限制这些问题的范围。用户可以自由地提出任何问题。

这种开放性导致了意外的使用模式。一些用户开始以个人或探索性目的与机器人交互,这些目的与应用程序无关。随着时间的推移,期望超出了机器人的预期作用,产生了用户希望它能够做什么和它被设计为支持的内容之间的差距。

这种错位逐渐降低了其感知到的有用性。使用率下降,聊天机器人最终被弃用,努力转向重新设计应用程序本身,使其更加直观和易于使用。

真正的教训:交互设计

从工程角度来看,系统运行得相当好。它检索文档,包含对话历史,通过嵌入减少了幻觉,处理了后端调用,并管理了提示大小。架构按照预期运行。

但它缺乏故意的交互设计。

机器人没有清晰地塑造对话。它没有一致地强化其范围。它没有使用结构化示例来指导用户了解它可以和不能做什么。它回答了问题,但没有设定期望。

我们了解到,会话式AI系统需要的不仅仅是强大的模型和结构化数据。它们需要仔细设计的期望。用户需要对代理的角色、其边界和其优势有明确的了解。系统必须主动提供示例提示,阐明局限性,并一致地重定向超出范围的问题。

没有这种故意的框架,即使技术上合理的实现也可能难以维持价值。用户可能会高估能力或在未满足隐含期望时脱离。

核心见解很简单但很强大。

构建会话式AI不仅仅是一个技术挑战。它也是一个交互设计挑战。

强大的上下文、准确的检索和健壮的架构是必要的,但不充分。系统的有效性同样取决于它如何定义其角色、传达其边界和塑造用户期望。

技术本身并不能保证采用。清晰的交互设计可以。

安吉·纳维亚(Angie Navia)是Jalasoft的全栈开发人员,拥有五年经验的生产应用开发和将AI能力集成到软件解决方案中。她完成了IBM为软件开发人员提供的生成式AI专业化培训,并在日常开发工作流中应用AI工具。