Actions Builder 是针对 Google 助理构建应用的最佳方式,因为它可帮助您以简化的方式构建对话型 Action。Actions Builder 是一个基于 Web 的 IDE,已集成到 Actions 控制台中,并提供以下功能:
- 用于控制 Action 对话的可视化工作流和基于状态的方式。
- 加快原型设计并缩短延迟时间。
- 用于构建、分析和调试对话型 Action 的单一界面。
如果您使用 Dialogflow 构建的对话型 Action,则可以在 Actions 控制台中选择将项目迁移到 Actions Builder。
迁移原因
虽然不需要迁移 Dialogflow 代理,并且您的 Action 仍可在支持 Google 助理的设备上正常运行,但使用 Actions Builder 和 Actions SDK 可带来诸多好处。
使用 Actions SDK 和 CLI 改进了工具
- 借助 Actions SDK 和 CLI,您可以构建复杂的项目并轻松与团队协作。对话设计人员可以先在 Actions Builder 中构建对话流程。然后,开发者可以将项目下载到基于文件的结构,并继续使用他们喜欢的开发工具和版本控制系统构建功能。通过将项目推送回 Actions Builder,其他团队成员可以继续构建、测试和部署 Action。
更好地遵循对话设计最佳实践
- 通过自定义每个场景中的后备 intent,您可以在对话中的任何时间点提供“无输入”和“无匹配”响应。
- 得益于基于状态的图形化方法打造对话体验,设计人员和开发者可以轻松协作。
简化本地化
- 可以在一个页面上修改 intent、场景和类型的所有可本地化内容(例如训练短语、提示和类型同义词)。
改进了对话实现
Actions Builder 为 Actions 控制台带来了很多改进,并简化了开发流程。本部分将介绍 Actions Builder 如何简化和简化 Action 开发流程。
意图的可重用性
在 Dialogflow 中,网络钩子逻辑与 intent 相关联,这意味着 intent 不能与其他网络钩子重复使用。如果您想要使用相同的训练短语,但具有不同的 webhook 逻辑,则必须为每个网络钩子逻辑用例创建引用不同处理程序名称的其他 intent。
在 Actions Builder 中,intent 包含训练短语和实体,但 webhook 是独立的。这种方法意味着您可以对同一 intent 使用不同的 webhook 处理程序,从而提高灵活性。
改进了对话流程的可视化
在 Dialogflow 中,上下文指示在对话中的特定时间点更有可能匹配的意图。
Actions Builder 使用场景(而不是上下文)来处理可在对话的不同部分访问哪些 intent
用户进入场景时,过渡会定义用户可以采取的对话路径。转换可以基于条件逻辑以及自定义或系统 intent 匹配。
借助构建器的界面,您可以轻松了解过渡如何连接场景。在图 1 中,场景 guess_game
过渡到 suggested_new_game
场景 (1)。您还可以在场景中看到两个无障碍 intent:generic_no
和 generic_yes
。根据匹配的 intent,suggested_new_game
场景会过渡到 show_menu
或 routing_game
场景 (2)。
根据场景提供可自定义的提示
在 Dialogflow 中,您可以通过 webhook 发送简单响应,或者在 Dialogflow 控制台中定义静态响应。
Actions Builder 引入了提示队列的概念。您可以在场景的多个部分以及 webhook 中定义提示。所有提示都会添加到提示队列中,并合并到一个回复中,然后传送给用户。通过这种方法,您可以根据用户说过或做过什么,而不仅仅是根据用户匹配的意图来汇总回复。
例如,如果在场景和 webhook 中定义了提示,则系统首先将 webhook 提示添加到提示队列中,然后添加场景提示。
以下列表概述了您可以在 Actions Builder 中定义提示的位置,以及将提示添加到提示队列的顺序:
- 进入时
- 条件
- 槽填充
- 场景
内置对话设计最佳实践
设置 Dialogflow 项目后,系统会自动生成全局后备 intent,就像默认欢迎 intent 一样。当用户说出与现有 intent 不匹配的内容或没有用户输入时,系统会匹配默认后备 intent。
为了妥善处理错误,需要将后续 intent 添加到每轮对话的后备 intent。
在 Actions Builder 中,新项目中自动添加了两个单独的全局 intent:NO_MATCH
和 NO_INPUT
。
当 Google 助理 NLU 与 NO_MATCH
或 NO_INPUT
系统 intent 匹配时,系统会向用户发送相应的默认或自定义提示。NO_MATCH
或 NO_INPUT
匹配 3 次后,系统会向用户发送最后一条消息,而 Google 助理会结束与您的 Action 的对话。
您可以为每个场景添加三个 NO_MATCH
和 NO_INPUT
处理程序。此功能允许自定义针对特定错误处理的提示,而不是因用户不匹配或没有输入而导致的常规回退。