Connect with us

思想领袖

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

mm

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

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

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

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

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

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

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

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

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

上下文管理的隐藏复杂性

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

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

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

扩展功能和制造混淆

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

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

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

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

多语言功能不是自动的

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

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

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

期望超出范围

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

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

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

真正的教训:交互设计

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

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

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

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

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

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

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

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

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

Angie Navia 是 Jalasoft 的全栈开发人员,拥有五年经验,专注于构建生产应用程序和将 AI 能力集成到软件解决方案中。她完成了 IBM 生成式 AI สำหร软件开发人员专业化课程,并在日常开发工作流中应用 AI 工具。