创建并编辑主题
在 Copilot Studio 主题中定义代理对话的进度。
若要创作主题,您可以自定义提供的模板、从头开始创建主题或说明您想要的内容,让 AI 创建主题。
In Copilot Studio 中,a 主题 表示用户与代理之间的聊天线程的某个部分。 您可以在创作画布上定义和处理主题。主题包含一个或多个对话节点,这些节点共同定义了主题可以采用的对话路径。 每个节点都执行一个操作,如发送消息或提出问题。
通常,主题有一组触发短语—客户可能会使用的与特定问题相关的短语、关键词和问题。 Copilot Studio 代理使用自然语言理解、客户的消息以及所有主题的扳机键短语来找到最佳扳机键。 消息不需要与主题的触发短语完全匹配即可触发主题。 例如,关于商店营业时间的主题可能包含触发短语 check store hours
。 如果顾客输入“查看商店营业时间”,这将触发您的商店营业时间话题。
先决条件
- 要创建代理,请参阅 快速入门:创建和部署代理。
自然语言理解
代理使用自然语言理解(NLU)来解析客户键入的内容并找到最佳触发短语或节点。
例如,用户可能会键入“Open hours”(开放时间)。代理将其与 Store hours 主题匹配,开始一个对话,询问客户对哪个商店感兴趣,然后显示商店的营业时间。
测试 代理 窗格显示代理对话在每个步骤的进度。 您可以使用 Test 代理 (测试 #)窗格来微调主题,而无需退出 Copilot Studio 门户。
有关代理和主题限制,请参阅 配额、限制、应用程序注册、证书和配置值。
Copilot Studio 中的主题
主题类型
代理可以包含两种类型的主题: system 和 custom 主题。 每个新的代理都以一组预定义的系统和自定义主题开始。
系统主题支持基本行为,例如与某人交谈或结束对话的自定义请求。 一些系统主题有扳机键短语,您可以自定义这些短语以满足代理的需求。
- 您无法创建系统主题。
- 您不能删除系统主题,但可以禁用它们。
- 您可以更改系统主题。 但是,在您能够轻松创建完整的代理体验之前,我们不建议编辑系统主题。
有关详细信息,请参阅使用系统主题。
预定义的自定义主题涵盖常见行为,如问候客户、结束对话或重新启动对话。
- 您可以更改预定义的自定义主题,也可以将其从代理中完全删除。
- 您创建的所有主题都是自定义主题。
节点类型
以下是可用的节点类型:
选项 | Description |
---|---|
发送邮件 | 给客户发送消息。 |
提出问题 | 向客户提问。 |
使用自适应卡片询问 | 创建一个 JSON 代码片段来与其他应用程序交换。 |
使用条件创作 | 根据条件转移对话。 |
变量管理 | 设置值、解析值或清除所有变量。 |
管理主题 | 重定向、传输或结束主题或对话。 |
调用流 | 调用类似 Power Automate 或 Excel Online 的流,或者使用连接器或插件。 |
高级 | 生成式答案、HTTP 请求、事件等等。 |
小费
重命名节点,使其更容易识别。 选择节点的名称字段以直接更新名称,或者选择节点的更多图标 (…),然后从菜单中选择重命名。 您也可以在代码编辑器中重命名节点。
无法重命名触发器节点和转到步骤节点。
节点名称最长可达 500 个字符。
创建主题
从代理 页面的列表中 打开您的代理。 为了获得更好的可见性,请暂时关闭 Test your 代理 (测试你的 #)面板。
在顶部菜单栏上,选择主题。
选择添加主题,然后选择从空白。
触发器节点出现在空白的主题创作画布上。
选择触发器节点的更多图标 (…),然后选择属性。 将显示识别的意图属性面板。
在识别的意图属性面板中,选择短语区域。 此时会出现短语二级面板。
在添加短语下,为您的主题输入一个触发短语。
您的代理需要 5 到 10 个扳机键短语来训练 AI 理解客户的反应。 若要添加更多触发短语,您可以:
- 选择文本字段旁边的添加图标,并输入所需的短语。
- 粘贴一组触发短语,每个短语单独一行,然后选择输入。
- 键入一组触发短语,在每个短语后按 Shift+Enter,将其放在单独的一行上,然后选择Enter。
您可以在触发短语中包含标点符号,但最好使用短句而不是长句。
选择工具栏上的详细信息,打开主题详细信息面板。
添加您的代理主题详细信息:
- 输入名称以标识主题,例如“商店营业时间”。Topics (主题 )页面按此名称列出了代理中定义的所有主题。
- 如果需要,请输入一个显示名称,当代理无法确定哪个主题与客户的消息匹配时,向客户显示。
- 如果需要,请使用 Description 字段为您自己和团队中的其他代理制作者描述主题的用途。 客户永远不会看到主题描述。
选择顶部菜单栏上的保存,保存您的主题。
重要提示
避免在主题名称中使用句点 (.
)。 无法导出包含任何主题名称中带有句点的代理的解决方案。
设计主题对话路径
创建主题时,触发器节点会自动出现在创作画布上。 然后,您可以添加不同类型的节点,实现您的主题所需的对话路径。
要在主题创作画布上的另一个节点之后或两个节点之间添加节点:
选择您要在其下添加新节点的节点下方的添加节点图标。
从出现的列表中选择所需的节点类型。
删除注释
选择您要删除的节点的更多图标 (…),然后选择删除。
用于编辑区域上的节点的控件
可以使用工具栏上的控件剪切、复制、粘贴和删除选定节点或选定相邻节点。
工具栏还有一个撤销编辑的控件。 打开撤消菜单,将所有操作恢复到上次保存的状态,或重做上一个操作。
粘贴节点
使用剪切或复制工具将一个或多个节点放入剪贴板后,有两种方法可以将它们粘贴到画布中:
如果选择某个节点,然后选择粘贴,则剪贴板上的节点会插入到所选节点之后。
如果您选择“+”来查看添加节点菜单,然后选择粘贴,剪贴板上的节点将插入到该位置。
为主题添加输入和输出参数
主题可以有输入和输出参数。 当主题重定向到另一个主题时,您可以使用这些参数在主题之间传递信息。
此外,如果您的代理使用 生成模式,它可以自动填充对话上下文中的主题输入,或者在生成问题后从用户那里收集值。 此行为类似于操作的生成式时隙填充的工作方式。
要了解有关主题输入和输出参数的更多信息,请参阅管理主题输入和输出。
使用代码编辑器编辑主题
代码编辑器在 YAML 中显示主题,这是一种易于读取和理解的标记语言。 使用代码编辑器复制和粘贴来自其他机器人的主题,甚至是其他作者创建的主题。
重要提示
不完全支持完全在代码编辑器中设计主题以及粘贴复杂主题。
在本例中,您将 YAML 复制并粘贴到代码编辑器中,以快速添加一个向客户询问运输信息的主题。
在主题页面上,选择+ 创建>从空白。
在创作画布的右上角,选择更多,然后选择打开代码编辑器。
选择并删除代码编辑器的内容。 然后复制并粘贴以下 YAML 代码:
kind: AdaptiveDialog beginDialog: kind: OnRecognizedIntent id: main intent: displayName: Lesson 3 - A topic with a condition, variables and a prebuilt entity triggerQueries: - Buy items - Buy online - Buy product - Purchase item - Order product actions: - kind: SendMessage id: Sjghab message: I am happy to help you place your order. - kind: Question id: eRH3BJ alwaysPrompt: false variable: init:Topic.State prompt: To what state will you be shipping? entity: StatePrebuiltEntity - kind: ConditionGroup id: sEzulE conditions: - id: pbR5LO condition: =Topic.State = "California" || Topic.State = "Washington" || Topic.State = "Oregon" elseActions: - kind: SendMessage id: X7BFUC message: There will be an additional shipping charge of $27.50. - kind: Question id: 6lyBi8 alwaysPrompt: false variable: init:Topic.ShippingRateAccepted prompt: Is that acceptable? entity: BooleanPrebuiltEntity - kind: ConditionGroup id: 9BR57P conditions: - id: BW47C4 condition: =Topic.ShippingRateAccepted = true elseActions: - kind: SendMessage id: LMwySU message: Thank you and please come again.
选择保存,然后选择关闭代码编辑器。 问题节点现在有许多关于运输的条件。
测试并发布您的代理
在更改主题时测试代理 ,以确保一切按预期工作。