在 Amazon Lex 上使用 CI/CD 最佳实践提高效率

假设您在组织中确定了一个您希望通过聊天机器人处理的用例。 你熟悉了 亚马逊Lex,构建了一个原型,并与机器人进行了一些试验交互。 您喜欢整体体验,现在想在生产环境中部署自动程序,但不确定 Amazon Lex 的最佳实践。 在这篇文章中,我们回顾了开发和部署 Amazon Lex 机器人的最佳实践,使您能够简化端到端机器人生命周期并优化您的操作。

我们在前面介绍了规划、设计和配置阶段 博客文章. 我们建议您在继续之前查看这些帖子,以帮助您与机器人建立引人入胜的对话。 初始配置机器人后,您应该在内部对其进行测试并迭代机器人定义。 您现在已准备好在生产环境(例如呼叫中心)中部署它,机器人将在其中处理实时对话。 一旦投入生产,您应该持续监控它,以确保它满足您期望的业务目标。 当您添加新的用例和增强功能时,此循环会重复。

让我们回顾一下开发、测试、部署和监控机器人的最佳实践。

研发支持

开发机器人时考虑以下最佳实践:

  • 通过代码管理机器人架构 – 在您设计和配置机器人时,Amazon Lex 控制台提供了一个易于使用的界面,但依赖于手动操作来复制设置。 我们建议在完成设计后将机器人架构转换为代码以简化此步骤。 您可以使用 APIs or AWS CloudFormation (见 使用 AWS CloudFormation 创建 Amazon Lex V2 资源) 以编程方式管理机器人。
  • 具有机器人版本控制的检查点机器人架构 – 检查点是一种常用的方法,通常用于将应用程序恢复到最后一个已知的稳定状态。 Amazon Lex 通过以下方式提供此功能 机器人版本控制. 我们建议您在开发过程中的每个里程碑都使用新版本。 这使您可以对机器人定义进行增量更改,并以一种简单的方式恢复它们,以防它们无法按预期工作。
  • 确定数据处理要求并配置适当的控制 – Amazon Lex 遵循 AWS 共同责任模型,其中包括遵守行业法规和贵公司自己的数据隐私标准的数据保护指南。 此外,Amazon Lex 遵守 合规计划 例如 SOC、PCI 和 FedRAMP。 Amazon Lex 提供了对被视为敏感的插槽进行模糊处理的能力。 您应该确定您的数据隐私要求并在您的机器人中配置适当的控件。

测试

定义 bot 后,您应该测试 bot 以确保它按预期工作并正确配置。 例如,它应该具有触发其他服务的权限,例如 AWS Lambda 功能。 此外,您还应该测试机器人以确认它能够解释不同类型的用户请求。 考虑以下测试最佳实践:

  • 识别测试数据 – 您应该收集相关的测试数据来测试机器人的性能。 测试数据应包括与机器人的预期用户对话的全面表示,特别是对于机器人需要理解语音输入的 IVR 用例。 测试数据应涵盖不同的说话风格和口音。 这样的测试数据可以为您的目标客户群提供经验验证。
  • 确定用户体验指标 – 定义对话体验可能很困难。 您必须预测和计划用户可能与机器人互动的所有不同方式。 你如何引导来电者而不听起来太规范? 如果来电者提供不正确或不完整的信息,您如何恢复? 要通过许多不同的场景管理对话,您应该设定一个明确的目标,涵盖不同的说话风格、声学条件和模态,并确定可以跟踪的客观指标。 例如,客观指标是“90% 的对话应该向用户播放少于两次的重新提示”,而主观指标是“大多数对话不应要求用户重复他们的输入”。
  • 一路评估用户体验 – 在某些情况下,看似微小的变化可能会对用户体验产生重大影响。 例如,考虑一种情况,您无意中在用于帐户 ID 槽类型的正则表达式中引入了拼写错误,这导致机器人重新提示用户再次提供输入。 您应该评估用户体验,并投资于自动化测试以生成关键指标。 你可以参考 评估自动语音识别服务使用 Amazon Connect 和 Amazon Lex 测试准确性和回归 有关如何测试和生成关键指标的示例。

部署

一旦您对机器人的性能感到满意,您将需要部署机器人以开始为您的生产流量提供服务。 当您在机器人的生命周期过程中迭代机器人时,您会重复部署,使其成为一个连续的过程,因此进行简化的自动化部署以减少出错的机会至关重要。 考虑以下最佳部署实践:

  • 使用多账户环境 – 您应该遵循 AWS 推荐的 多账户环境设置 在您的组织中,并为您的开发阶段和生产阶段使用单独的 AWS 账户。 如果您拥有多个区域,那么您还应该为每个区域使用单独的 AWS 账户进行生产。 每个阶段使用单独的 AWS 账户可为您的 AWS 资源提供安全、访问和计费界限。
  • 自动将机器人从开发推广到生产 – 在将开发阶段的机器人设置复制到生产阶段时,您应该使用自动化解决方案并尽量减少手动接触点。 您应该使用 CloudFormation 模板来创建您的机器人。 或者,您可以使用 Amazon Lex 导出和导入 API 提供一种跨帐户复制机器人架构的自动化方法。
  • 分阶段推出变更 – 您应该分阶段将更改部署到生产环境,以便在将更改发布到生产流量的子集之前,再发布给所有用户。 这种方法使您有机会限制爆炸半径,以防更改出现任何问题。 实现此目的的一种方法是采用两阶段部署方法:为机器人创建两个别名(例如,prod-05 和 prod-95)。 您首先将新的 bot 版本与一个别名(本示例中的 prod-05)相关联。 验证关键指标符合成功标准后,将第二个别名 (prod-95) 与新的机器人版本相关联。

请注意,您需要控制用于与 Amazon Lex 机器人集成的客户端应用程序上的流量分配。 例如,如果您正在使用 亚马逊通 要与您的机器人集成,您可以使用 按百分比分配 接触块结合两个或多个 获取客户意见 块。

请务必注意,Amazon Lex 提供了一个开箱即用的测试别名。 测试别名仅用于通过 Amazon Lex 控制台进行临时手动测试,而不是用于处理生产规模负载。 我们建议为您的生产流量使用专用别名。

灭菌监测

监控对于维护可靠性、可用性和有效的最终用户体验非常重要。 您应该分析您的机器人的指标并将学习作为反馈机制来改进机器人架构以及您的开发、测试和部署实践。 Amazon Lex 支持多种机制 监控机器人. 考虑以下用于监控 Lex 自动程序的最佳实践:

  • 持续监控并迭代 – Amazon Lex 与 亚马逊CloudWatch 提供近乎实时的指标,可以为您提供有关用户与机器人交互的关键见解。 这些见解可以帮助您了解最终用户体验。 要了解有关 Amazon Lex 发出的不同类型指标的更多信息,请参阅 使用 Amazon CloudWatch 监控 Amazon Lex V2. 我们建议设置阈值以触发警报。 同样,Amazon Lex 让您可以查看来自用户与机器人交互的原始输入话语。 你应该使用 话语统计 or 对话记录 获得洞察力以识别通信模式并根据需要对您的机器人进行适当的更改。 要了解如何为您的机器人创建个性化分析仪表板,请参阅 监控您的 Amazon Lex 聊天机器人的操作指标.

本文中讨论的最佳实践主要关注 Amazon Lex 特定的使用案例。 除此之外,在 AWS 中管理云基础设施时,您还应该查看并遵守最佳实践。 确保您的云基础架构是安全的,并且只能由授权用户访问。 您还应该审查并采用适当的 AWS 安全最佳实践 在您的组织内。 最后,你应该主动审查 AWS 配额 个别 AWS 服务(包括 Amazon Lex 配额),并在必要时请求适当的更改。

结论

您可以使用 Amazon Lex 实现复杂的自然语言对话并提高客户服务效率。 在这篇文章中,我们回顾了机器人生命周期的开发、测试、部署和监控阶段的最佳实践。 借助这些指南,您可以改善最终用户体验并实现更好的客户参与度。 立即开始构建您的 Amazon Lex 对话体验!


关于作者

利用 Amazon Lex Plato区块链数据智能上的 CI/CD 最佳实践提高效率。垂直搜索。人工智能。斯瓦潘迪普·辛格(Swapandeep Singh) 是 Amazon Lex 团队的工程师。 他致力于使与机器人的交互更加顺畅和更像人类。 工作之余,他喜欢旅行和了解不同的文化。

时间戳记:

更多来自 AWS机器学习