以方便针对上下文进行管理和维护的方式创建和整理主题
Copilot Studio 在主题管理方面具有很高的灵活性。 虽然没有放之四海而皆准的方法,但最好记住触发主题的不同方式:
主题可以基于用户话语和自然语言理解 (NLU) 模型来触发。
这些主题几乎可以视为您的切入点主题。
如果您具有与多个主题重叠的触发短语,建议设定一个笼统的主题(或消除歧义的主题),然后通过时隙填充和澄清问题重定向到其他主题。
借助于实体提取功能,可以跳过澄清问题,让对话直接进入主题,而无需用户进一步输入信息。从重定向操作调用时可以触发主题。
这些主题可以包含对话和逻辑节点,可以由多个主题调用,并且可以有输入和输出变量。 最好是可重用且大小合适的主题。一个主题也可以两者都是。
例如,通过意图识别或显式重定向触发的主题。主题可以由其他事件触发。
例如,自定义事件、非活动等。
有关更多信息,请参阅主题触发器的完整列表。
小费
在下面的示例中,触发短语与两个主要主题相关联,这两个主题随后可以按照逻辑分成多个主题,并通过重定向操作调用。
有些主题可能由多个其他主题调用:“结束对话”主题通常符合这种情况。
借助时隙填充和实体提取功能,如果用户说“我需要为信用卡解冻”,将触发 Card
主题并跳过 Debit/Credit
和 Block/Unblock
问题,因为从触发短语中可以推导出 CardType
和 OperationType
。 然后,自动调用 Credit Card
子主题,而无需用户提供其他任何输入。
创建大小合适的主题
大型主题可能难以维护和更新。 最好尽可能分解代理逻辑,尤其是当代理对话逻辑的某些部分由多个主题共享时。
主题无需全部具有触发短语,因为主题可重定向到其他主题并来回传递变量信息。
提示
创建大量大小合适的主题比创建少数几个大型主题通常更方便管理。 采用这种方法还可以将触发短语明确映射到涉及这些方面的具体主题,从而帮助提高触发效率。
主题数量是对话设计中做出的偏好和决策。 它将出现两种结果,要么只有若干个大型主题(合并),要么有许多小主题(拆分)。
提示
如果意图较难识别(例如,对于“请求”或“问题”等一般性词汇,可能有不同的含义),使用充足的触发短语拆分主题可能会更加适合。
创建可重用的主题
每当有多个主题共享对话消息或逻辑节点时,建议将其分组到一个新主题,而不是重复其内容。 这样一来,每次对该主题进行更新,都会反映到重定向到该主题的所有主题中。
提示
如果您从具有相同或相似前后节点的多个 Copilot Studio 主题调用相同的 Power Automate 云端流,建议将它们分组到一个专用主题中。
避免主题重叠
监视和删除不同主题之间的歧义
使用 NLU 触发主题时,务必要避免重叠问题。 重叠问题通常表现为具有大量已匹配多个主题主题(也就是“您的意思是”)。
为了避免出现这些问题,您可以减少不同主题的触发短语之间的意图重叠。
提示
对于使用触发短语触发的主题,您应当:
- 比较各个主题之间的触发短语,并删除有歧义的对。
- 尽量避免在不同的主题触发短语中使用相同的字词。
有多种方法可以监视主题重叠的情况:
- 分析触发“您的意思是”主题的用户言语,因为这是出现重叠的一个关键指标
- Copilot Studio 提供主题重叠检测功能,可以帮助智能体创作者发现重叠的主题并相应地予以解决(删除/移动主题之间的触发短语)。
创建消除歧义主题
当多个主题具有过于相似的触发短语时,您可以通过创建消除歧义主题来避免主题重叠。
提示
继续使用上一个示例,为了解决确定性情形,例如,“信用卡解冻”或“借记卡解冻”,用户可能只说了“卡片解冻”,而 NLU 模型无法判断要触发的特定主题和流程,您可以调用通用的 Card
消除歧义主题,使用针对 CardType
的实体时隙填充问题,然后相应地启动适当的主题。
使用实体减少主题数量
当变量中可能存储变体时,应当避免重复逻辑。 例如,不要创建相似的主题,例如:
- 订购披萨
- 订购汉堡
- 订购饮料
可以改为创建:
- 一个适用于
Order
的主题 - 一个适用于
FoodType
的实体,以Pizzas
、Burgers
和Drinks
为值。