DoorDash开发了一套模拟与评估系统,旨在加速基于大型语言模型开发的客户支持聊天机器人的研发与测试过程。该系统使工程师能够在几分钟内进行数百次模拟对话实验,从而大幅缩短测试周期。通过这一框架进行的优化措施,在这些聊天机器人正式投入使用之前,将其产生错误回答的概率降低了约90%。
正如DoorDash在LinkedIn上发布的文章中所指出的:
在实际应用之前验证基于大型语言模型的客户支持系统,是一个根本性的挑战——如何测试一个永远不会以相同方式回应用户的聊天机器人呢?
传统上,客户支持自动化系统都是依靠确定性决策树来运行的,用户会根据菜单选择或关键词沿着预定义的路径进行交互。这样的设计使得开发人员能够通过常规测试来验证各项修改的效果。然而,基于大型语言模型的聊天机器人处理的是自然语言对话,因此对提示语、上下文信息或后端接口的任何微小调整,都可能在不同对话场景中产生不可预测的结果。
为了解决这个问题,DoorDash构建了一个离线实验框架,该框架结合了基于大型语言模型的客户模拟器与自动评估系统。模拟器能够生成反映真实客户交互过程的多轮对话内容,它利用历史支持记录来推断客户的意图、对话流程及行为模式;而对于订单查询或退款等后端功能,则通过模拟的服务接口来进行复现,从而创建出逼真的运营场景。
模拟实验流程示意图(来源:DoorDash博客文章)
在模拟环境中,大型语言模型会扮演客户的角色,而实际运行的聊天机器人则会按照真实场景中的方式作出回应。模拟器会根据聊天机器人的反应进行动态调整,从而处理各种情况,比如客户要求进一步说明、表现出沮丧情绪,或是反复遇到相同问题等。与此同时,自动评估系统会依据预先设定的标准来评价实验结果,这些评估指标包括合规性、错误发生率、对话语气以及任务完成准确度等。模拟器与评估系统共同构成了一个持续发展的循环:工程师们会通过这一循环发现存在的问题,添加相应的评估环节,并针对这些问题生成更多的模拟测试案例;在正式部署之前,会对提示语的调整方案、信息检索策略或上下文处理机制进行多次验证。
这种“飞轮机制”也有效解决了由于上下文窗口负担过重而导致的各种问题。早期测试表明,过多的原始数据及日志信息可能会误导聊天机器人,从而导致诸如字段解读错误或政策建议无效之类的问题。工程师们根据观察到的故障情况,设计出了一套用于评估这类问题的指标体系,并制定了相应的测试方案。通过不断的迭代优化,他们最终开发出了一个能够对聊天机器人的操作历史进行结构化管理的系统模块。这个模拟器使得人们能够快速测试多种不同的上下文配置及提示策略,从而迅速发现潜在的故障模式并验证各项改进措施的有效性。
模拟评估飞轮机制(来源:DoorDash博客文章)
DoorDash所采用的这种“飞轮机制”遵循一种结构化的问题解决流程。工程师们首先会通过手动审查客户反馈或进行初步模拟测试来识别存在的问题,然后利用“大语言模型作为评估工具”的方法来确定故障的具体类型,并将其评估结果与人类的判断标准进行对比,以确保评估的准确性。一旦确认这种评估方法是可靠的,模拟器就会生成代表当前系统运行状态的对话样本,进而通过进一步评估来发现其中存在的故障。工程师们会分析这些错误,调整提示内容、上下文处理机制或工具的输出结果,不断进行迭代优化,直到评估通过率达到可接受的水平为止。在正式部署之前,还会使用完整的评估体系来验证诸如“幻觉现象检测”、“语气评估”以及“问题分类”等功能是否有效,以确保这些改进措施在真实环境中也能发挥应有的作用。