我怎样才能避免输入 "held over" 到后续交互?

How can I keep inputs from being "held over" to subsequent interactions?

我的操作有 3 个输入:必需的 Book、可选的 Chapter、可选的 Verse。

如果我说 read [book] [chapter] [verse],我会得到正确的回应。

如果我用 read [book] [chapter] 跟进,我将获得从上一个请求传入的 Verse 值。我该如何防止这种情况发生?

Bixby 使用历史输入(例如,来自先前请求的输入)来填充用户话语中任何缺失的输入,作为提供简化对话流程的一种方式。

在像您这样不应做出此类假设的用例中,我建议您在 Action 的收集输入定义中使用 prompt-behavior (AlwaysSelection)。这将确保 Bixby 不会使用历史输入来填补空白,而是要求用户提供有问题的输入。您可以阅读更多关于 prompt-behavior here.

我能够绕过这个问题(看起来),但是创建了三个单独的操作(需要的书,需要的书 + 需要的章节,需要的书 + 需要的章节 + 需要的章节)。

然后,我只需要复制我的 action-endpoint 以允许同一个端点接受所有三个操作。

虽然我在某些情况下看到了 "historical inputs" 的价值,但似乎也应该有一种方法可以忽略它们。

如果您绝对不想要任何历史输入,您可以尝试制作这些概念transient