|
|
1
1
说“现在请再问一次你原来的问题”当然是错误的做法-你有那部分是正确的。 你也说得对,没有自动重新触发原始意图。虽然这看起来很奇怪,但这仅仅是因为意图代表了用户所说的内容,而不是你将要回答的内容。用户的初始声明和他们的登录确认都是用户所说的单独的事情,您可能希望以不同的方式处理每一个。 正如你所建议的,有一件事是有意义的,那就是在你从助手那里得到结果之前,对他们最初说的话做出回应。在这些情况下,当您请求帮助器时,将意图或操作名称和参数保存在上下文中,可以让您在之后进行选择。(然而,还有其他可能的行为,可能是有意义的。例如,考虑一下,如果您请求作为欢迎意图的一部分登录。因为用户永远不会通过第一步,所以不需要跟踪状态。) 这种在绕道获取登录时保存状态的模式是由 multivocal 例如,图书馆。使用multivocal,您可以指定在触发意图或操作处理程序之前所需的需求(例如要求对用户进行身份验证)。它负责满足这些要求,然后确保对话继续进行,在你离开的地方绕道而行。 |