创建和编辑主题

在 Copilot Studio 中,主题定义了智能体对话的进展方式。

要创建主题,您可以描述您想要的内容,然后让人工智能为您创建主题,或者从头开始创建主题。

有关智能体和主题限制的更多信息,请参阅配额、限制、应用程序注册、证书和配置值

选择正确的主题来响应用户

要确定如何响应用户,智能体使用生成式业务流程或经典业务流程。

使用生成式业务流程,智能体通过选择最适当的主题、工具和知识组合来回答用户查询或响应事件触发器。 每个主题都有一个描述,告知智能体其用途。 了解有关撰写描述的更多信息。

在配置为使用经典协调的智能体中,每个主题都有一组触发短语 - 客户可能用于查询特定问题的短语、关键词和问题。 这些智能体使用自然语言理解、客户消息和主题的触发短语来查找最佳主题。 客户输入不需要完全匹配主题触发短语即可触发主题。 例如,有关商店营业时间的主题可能具有触发短语“检查商店营业时间”。如果客户输入“查看商店营业时间”,此短语将触发您的商店营业时间主题。 了解有关编写触发短语的更多信息。

Copilot Studio 中的主题

在 Copilot Studio 中,主题表示用户和智能体之间对话的一部分。 您可以在创作画布上定义主题。主题包含一个或多个节点,这些节点共同确定主题可以采用的对话路径。 每个节点都执行一个操作,如发送消息或提出问题。

智能体可以拥有两种类型的主题:系统自定义主题。 每个新代理都从一组预定义的系统主题和自定义主题开始。

  • 系统主题支持基本行为,例如与某人交谈或结束对话的自定义请求。 一些系统主题有触发短语,您可以根据代理的需求进行定制。

    • 您无法创建系统主题。
    • 您不能删除系统主题,但可以将其关闭。
      • 您可以更改系统主题。 但是,您应该等到可以创建完整的智能体体验后再开始编辑系统主题。

    有关详细信息,请参阅使用系统主题

  • 预定义的自定义主题涵盖常见行为,如问候客户、结束对话或重新启动对话。

    • 您可以更改预定义的自定义主题,或将其彻底从代理中删除。
    • 您创建的所有主题都是自定义主题。

节点类型

以下是可用的节点类型。

节点类型 描述
信息节点 给客户发送消息。
问题节点 向客户提问。
自适应卡片节点 显示包含一个或多个响应按钮或输入字段的交互式卡片。
条件节点 根据条件转移对话。
变量管理节点 设置值、分析值或清除变量(包括清除智能体使用的对话历史记录的功能)。
主题管理 重定向对话、转移用户或结束主题或对话。
工具节点 调用 Power Automate 或 Excel Online 等流,或使用连接器或其他类型的工具。
高级 发送生成式答案HTTP 请求事件等等。

提示

重命名节点,使其更容易识别。 选择节点名称字段直接更新名称,或选择节点的三个点(...),然后从菜单中选择 重命名 。 您也可以在代码编辑器中重命名节点。

无法重命名触发器节点和转到步骤节点。

节点名称最长可达 500 个字符。

创建主题

  1. 转到智能体的主题页面。 为了获得更好的可见性,请暂时关闭测试面板。

  2. 选择添加主题,然后选择从空白开始

    触发器节点出现在空白的主题创作画布上。

  3. 选择触发节点的三个点(...),然后选择属性。 将显示识别的意图属性面板。

  4. 识别的意图属性中,选择短语区域。 此时会出现短语二级面板。

  5. 添加短语下,为您的主题输入一个触发短语。

    您的代理需要 5 到 10 个触发短语来训练 AI 理解您的客户的回复。 若要添加更多触发短语,您可以:

    • 选择文本字段旁边的添加图标,并输入所需的短语。
    • 粘贴一组触发短语,每个短语单独一行,然后选择输入
    • 键入一组触发短语,在每个短语后按 Shift+Enter,将其放在单独的一行上,然后选择Enter
    • 上传文件列出要为此主题添加的触发短语。

    您可以在触发短语中包含标点符号,但最好使用短句而不是长句。

  6. 选择工具栏上的详细信息,打开主题详细信息面板。

  7. 为您的主题添加详细信息:

    • 输入名称以标识主题,如“商店营业时间”。主题页面按名称列出了您的代理中定义的所有主题。
    • 如果需要,输入显示名称,在代理无法确定与客户的邮件匹配的主题时显示给客户。
    • 如有需要,使用描述字段为您自己和团队中的其他代理制作者描述主题的目的。 客户永远不会看到主题描述。
  8. 选择顶部菜单栏上的保存,保存您的主题。

重要提示

避免在主题名称中使用句点 (.)。 无法导出包含任何主题名称中带有句点的代理的解决方案。

上传主题的触发短语

在主题的触发器节点的短语面板中,您可以添加或替换与主题相关的触发短语集。

  1. 准备一个文本文件(最大 3 MB),列出要为主题添加的所有触发短语,每个短语都放在单独的行上。

  2. 添加短语下,选择上传文件

  3. 上传文件中,选择所需的选项:

    • 如果要为主题添加新的触发短语,请选择添加
    • 要使用文件中的列表替换所有现有触发短语,请选择替换
  4. 将文件拖放到窗口上。 或者,选择单击浏览,导航到文件并将其选中。

  5. 查看出现的触发短语,然后选择添加

  6. 保存您的主题。

下载主题的触发短语

在主题触发器节点的短语面板中,可以下载与主题相关的触发短语集。

  1. 添加短语下,选择下载

  2. 保存生成的文本文件,或在文本编辑器中打开查看其内容。 每个触发短语都显示在单独的行上。

编辑主题

创建主题时,触发器节点会自动出现在创作画布上。 然后,您可以添加不同类型的节点,实现您的主题所需的对话路径。

要在主题创作画布上的另一个节点之后或两个节点之间添加节点:

  1. 选择要在其后添加新节点的节点下的添加节点图标

  2. 从出现的列表中选择所需的节点类型

删除注释

选择你想删除节点的三个点(...),然后选择 删除

用于编辑区域上的节点的控件

可以使用工具栏上的控件剪切、复制、粘贴和删除选定节点或选定相邻节点。

工具栏还有一个撤销编辑的控件。 选择撤销图标 并选择:

  • 撤销以撤销最近一次更改
  • 撤销至上次保存以将所有操作回滚至上次保存状态
  • 重做以恢复上一步操作

粘贴节点

使用剪切复制工具在剪贴板上放置一个或多个节点后,可以通过两种方式将它们粘贴到区域上:

  • 如果选择某个节点,然后选择粘贴,则剪贴板上的节点会插入到所选节点之后。

  • 如果您选择“+”来查看添加节点菜单,然后选择粘贴,剪贴板上的节点将插入到该位置。

为主题添加输入和输出参数

主题可以有输入和输出参数。 当主题重定向到另一个主题时,您可以使用这些参数在主题之间传递信息。

此外,如果您的代理使用生成式模式,它可以从对话上下文中自动填充主题输入,或者在生成问题后从用户那里收集值。 此行为类似于操作的生成式时隙填充的工作方式。

要了解有关主题输入和输出参数的更多信息,请参阅管理主题输入和输出

使用代码编辑器编辑主题

代码编辑器在 YAML 中显示主题,这是一种易于读取和理解的标记语言。 使用代码编辑器复制和粘贴来自其他机器人的主题,甚至是其他作者创建的主题。

重要提示

不完全支持完全在代码编辑器中设计主题以及粘贴复杂主题。

在本例中,您将 YAML 复制并粘贴到代码编辑器中,以快速添加一个向客户询问运输信息的主题。

  1. 主题页面,选择添加主题>从空白开始

  2. 在创作画布的右上角,选择更多,然后选择打开代码编辑器

    如何打开主题的代码编辑器的屏幕截图。

  3. 选择并删除代码编辑器的内容。 然后复制并粘贴以下 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.
    
  4. 选择保存,然后选择关闭代码编辑器。 注意一些问题节点后面的条件逻辑。

    Copilot Studio 代码编辑器中从 YAML 创建的对话的屏幕截图。

测试并发布

对您的主题进行更改时,请测试您的智能体,以确保一切按预期运行。

确认无误后,将智能体发布至目标渠道