共用方式為


建立和編輯主題

在 Copilot Studio 中,主題會定義 Agent 交談的進展方式。

若要撰寫主題,您可以描述所需的內容,並讓 AI 建立主題,或從頭開始建立主題。

有關 Agent 和主題限制的更多資訊,請參閱配額、限制、應用程式註冊、憑證和設定值

選擇正確的主題來回應使用者

為了確定如何回應使用者,Agent 使用生成式協調流程或傳統協調流程。

透過生成式協調流程,Agent 可以透過選擇最合適的主題、工具與知識組合,回答使用者問題或回應事件觸發。 每個主題都有一個描述,告知 Agent 其用途。 深入了解製作描述

在設定為使用傳統協調流程的 Agent 中,每個主題都有一組觸發字詞 - 客戶可能用於與特定問題相關的查詢的字詞、關鍵字和問題。 這些 Agent 使用自然語言理解、客戶的訊息和主題的觸發字詞來找到最佳觸發主題。 客戶輸入不需要與主題觸發字詞完全匹配來觸發主題。 例如,有關商店營業時間的主題可能有觸發字詞「檢查商店營業時間」。如果客戶輸入「查看商店營業時間」,此字詞將觸發您的商店營業時間主題。 深入了解製作觸發字詞

Copilot Studio 中的主題

在 Copilot Studio 中,主題表示使用者與 Agent 之間交談對話的某些部分。 您可以在製作畫布上定義和使用主題。主題包含一或多個節點,這些節點共同定義主題可採用的交談路徑。 每個節點都會執行一項動作,例如傳送訊息或提出問題。

Agent 可以有兩種類型的主題:系統主題和自訂主題。 每個新 Agent 都從一組預先定義的系統和自訂主題開始。

  • 系統主題支援基本行為,例如與某人交談或結束交談的自訂要求。 某些系統主題具有觸發字詞,您可以自訂這些觸發字詞以滿足 Agent 的需求。

    • 您無法建立系統主題。
    • 您無法刪除系統主題,但可加以關閉。
      • 您可以對系統主題進行變更。 不過,您應該先等到熟悉建立完整 Agent 體驗後,再開始編輯系統主題。

    如需詳細資訊,請參閱使用系統主題

  • 預先定義的自訂主題涵蓋常見行為,例如問候客戶、結束對話或重新開始對話。

    • 您可以變更預先定義的自訂主題或將它們從 Agent 中完全刪除。
    • 所有您建立的主題都是自訂主題。

節點類型

可以使用以下類型的節點。

節點類型 描述
訊息節點 傳送訊息給客戶。
問題節點 向客戶提出問題。
調適型卡片節點 展示一張包含一個或多個回應按鈕或輸入欄位的互動卡片。
條件節點 根據條件將交談分支。
變數管理節點 設定一個值、解析一個值或清除變數 (包括清除 Agent 使用的交談歷史記錄的能力)。
主題管理 重新導向交談、轉移使用者,或結束主題或交談。
工具節點 呼叫 Power Automate 或 Excel Online 等流程,或使用連接器或其他類型的工具。
進階 傳送生成式答案HTTP 請求事件等。

提示

重新命名節點以使其更易於識別。 選擇節點名稱欄位直接更新名稱,或選擇節點的三個點(...),然後從選單中選擇 重新命名 。 您也可以在程式碼編輯器中重新命名節點。

無法重新命名觸發程序節點和前往步驟節點。

節點名稱的長度最多可達 500 個字元。

建立主題

  1. 前往您 Agent 的主題頁面。 為了獲得更好的可見性,請暫時關閉測試面板。

  2. 選取新增主題,然後選取從空白開始

    觸發程序節點將顯示在創作畫布上,否則為空白主題。

  3. 選取觸發節點的三個點(...),然後選擇屬性。 將顯示識別的意圖屬性面板。

  4. 已識別意圖屬性中,選擇字詞區域。 此時將顯示字詞輔助面板。

  5. 新增字詞下,輸入主題的觸發字詞。

    您的 Agent 需要 5 到 10 個觸發字詞來訓練 AI 理解客戶的反應。 若要新增更多觸發字詞,您可以:

    • 選取文字欄位旁邊的新增圖示 ,然後輸入所需的字詞。
    • 貼上一組觸發字詞 (每個觸發字詞佔一行),然後選擇輸入
    • 輸入一組觸發字詞,在每個觸發字詞後按 Shift+Enter,以將其放在單獨一行上,然後選取 Enter
    • 上傳檔案,列出您要為此主題新增的觸發字詞。

    您可以在觸發字詞中包括標點符號,但是最好使用短片語而不是長句。

  6. 選取工具列上的詳細資料,以開啟主題詳細資料面板。

  7. 新增主題的詳細資訊:

    • 輸入名稱來識別主題,例如「商店營業時間」。主題頁面會列出您的 Agent 中根據此名稱定義的所有主題。
    • 如果需要,請輸入顯示名稱,以便在 Agent 無法確定哪個主題與客戶訊息相符時向客戶顯示。
    • 如果需要,請使用描述欄位為您自己和團隊中的其他 Agent 製作者描述主題的用途。 客戶永遠不會看到主題描述。
  8. 選取頂端功能表列上的儲存以儲存您的主題。

重要

避免在主題名稱中使用句點 (.)。 無法匯出包含任何主題名稱中帶有句點的 Agent 的解決方案。

上傳主題的觸發字詞

從主題觸發節點的字詞面板中,您可以新增或取代與該主題相關的觸發字詞集。

  1. 準備一個文字檔案 (最大 3 MB),列出您想要為主題新增的所有觸發字詞,每個字詞佔一行。

  2. 新增字詞下,選擇上傳檔案

  3. 上傳檔案中,選擇所需的選項:

    • 如果您想為您的主題新增新的觸發字詞,請選擇附加
    • 若要用檔案中的清單取代所有現有的觸發字詞,請選擇替換
  4. 將檔案拖曳到視窗上。 或者,選擇點擊瀏覽,導覽到您的檔案,然後選擇它。

  5. 查看出現的觸發字詞,然後選擇新增

  6. 儲存您的主題。

下載主題的觸發字詞

從主題的觸發節點的字詞面板中,您可以下載與該主題相關的觸發字詞集。

  1. 新增字詞下,選擇下載

  2. 儲存生成的文字檔案,或在文字編輯器中開啟它以查看其內容。 每個觸發字詞都會出現在單獨的行上。

編輯主題

建立主題時,這會自動在製作畫布上顯示觸發程序節點。 然後,您可以新增不同類型的節點,以實現主題所需的交談路徑。

若要在主題製作畫布上的另一個節點之後或兩個節點之間新增節點,請執行以下操作:

  1. 在要新增節點的節點下方,選擇新增節點圖示

  2. 從顯示的清單中選擇所需的節點類型

刪除節點

選擇你想刪除的節點上的三個點(...),然後選擇 刪除

編輯畫布上節點的控制項

您可以使用工具列中的控制項,剪下、複製、貼上和刪除選取的節點或選取的相鄰節點。

工具列也有一個用於復原編輯的控制項。 選取復原圖示 ,然後選取:

  • 復原以復原最近的變更
  • 復原至上次儲存,將所有動作還原回上次儲存狀態
  • 重做以重做上一個的動作

貼上節點

在使用剪下複製工具將一個或多個節點放到剪貼簿後,您可以透過兩種方式將它們貼到畫布上:

  • 如果選取節點,然後選取貼上,就會在選取的節點之後插入剪貼簿中的節點。

  • 如果您選取 + 查看新增節點功能表,然後選取 貼上,則剪貼簿上的節點將插入到那個位置。

為主題新增輸入和輸出參數

主題可以有輸入和輸出參數。 當主題重新導向到另一個主題時,您可以使用這些參數在主題之間傳遞資訊。

此外,如果您的 Agent 使用生成式模式,它可以自動填入交談上下文中的主題輸入,或在生成問題後從使用者收集值。 此行為類似於動作的生成空格填寫的運作方式。

若要了解有關主題輸入和輸出參數的詳細資訊,請參閱管理主題輸入和輸出

使用程式碼編輯器編輯主題

程式碼編輯器會以 YAML 這個易於閱讀和理解的標記語言來顯示主題。 您可以使用程式碼編輯器,從其他 Bot (甚至是由其他作者所建立的 Bot) 複製和貼上主題。

重要

不完全支援在程式碼編輯器中整體設計主題和貼上複雜主題。

在此範例中,您將 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 所建立交談的螢幕擷取畫面。

測試並發佈

在您變更主題時測試 Agent,以確保一切都能如預期般運作。

一旦滿意後,將 Agent 發佈至所需的管道