共用方式為


建立和編輯主題

在 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 發佈至所需的管道