共用方式為


建立和編輯主題

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

若要製作主題,您可以自訂提供的範本、從頭開始建立主題或描述您想要的內容,並讓 AI 為您建立主題

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

通常,一個主題有一組觸發字詞,這是客戶可能會輸入的與特定問題相關的字詞、關鍵字或問題。 Copilot Studio 代理程式使用自然語言理解客戶的訊息以及所有主題的觸發字詞,來找到要觸發的最佳主題。 訊息不需要完全符合主題的觸發字詞就能觸發主題。 例如,儲存時數的主題可能包括觸發字詞 check store hours。 如果客戶輸入「查看商店營業時間」,此字詞會觸發您的商店營業時間主題。

必要條件

自然語言理解

代理程式使用自然語言理解 (NLU) 來解析客戶輸入的內容並找到最佳的觸發字詞或節點。

例如,使用者可能會鍵入「營業時間」。代理程式會將其與商店營業時間主題進行比對,並開始交談,詢問客戶對哪家商店感興趣,然後顯示該商店的營業時間。

測試代理程式窗格會顯示代理程式交談在每個步驟的進展。 您可以使用測試代理程式窗格來微調主題,而無需離開 Copilot Studio。

有關代理程式和主題限制,請參閱配額、限制、應用程式註冊、憑證和設定值

Copilot Studio 中的主題

主題類型

代理程式可以包含兩種類型的主題:系統主題和自訂主題。 每個新代理程式都從一組預先定義的系統和自訂主題開始。

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

    • 您無法建立系統主題。
    • 您無法刪除系統主題,但可加以停用。
    • 您可以對系統主題進行變更。 但是,在您能夠輕鬆建立完整的代理程式體驗之前,我們不建議編輯系統主題。

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

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

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

節點類型

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

選項 Description
傳送訊息 傳送訊息給客戶。
提出問題 向客戶提出問題。
使用調適型卡片詢問 建立 JSON 片段以與其他應用程式交換。
使用條件製作 根據條件將交談分支。
變數管理 設定值、剖析值或清除所有變數。
管理主題 重新導向、轉移或結束主題或交談。
呼叫流程 呼叫類似 Power Automate 或 Excel Online 的流程,或者使用連接器或外掛程式。
進階者 生成式答案 HTTP 要求事件等。

提示

重新命名節點以使其更易於識別。 選擇節點的名稱欄位以直接更新名稱,或選擇節點的更多圖示 (...),並從功能表中選擇重新命名。 您也可以在程式碼編輯器中重新命名節點。

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

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

建立主題

  1. 代理程式頁面上的清單中開啟您的代理程式。 為了獲得更好的可見性,請暫時關閉測試您的代理程式面板。

  2. 在頂端功能表列,選取主題

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

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

  4. 選取觸發程序節點的更多圖示 (...),然後選取屬性。 將顯示識別的意圖屬性面板。

  5. 辨識意圖屬性面板中,選取字詞區域。 此時將顯示字詞輔助面板。

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

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

    • 選取文字欄位旁邊的新增圖示 ,然後輸入所需的字詞。
    • 貼上一組觸發字詞 (每個觸發字詞佔一行),然後選擇輸入
    • 輸入一組觸發字詞,在每個觸發字詞後按 Shift+Enter 將其放在單獨的行上,然後選擇輸入

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

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

  8. 新增您的代理程式主題詳細資訊:

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

重要

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

設計主題交談路徑

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

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

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

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

    可用於選擇在觸發程序節點後插入節點的選項螢幕擷取畫面。

刪除節點

選擇要刪除的節點的更多圖示 (...),然後選擇刪除

編輯畫布上節點的控制項

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

製作畫布中用於編輯節點的工具列控制項螢幕擷取畫面。

工具列還有一個用於復原編輯的控制項。 開啟復原功能表,將所有動作還原到上次儲存或重做先前的動作。

[復原] 功能表的螢幕擷取畫面。

貼上節點

使用剪下複製工具將一個或多個節點放置到剪貼簿後,有兩種方法可將它們貼到畫布中:

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

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

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

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

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

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

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

程式碼編輯器會以 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 所建立之交談的螢幕擷取畫面。

測試並發佈您的代理程式

當您變更主題時測試您的代理程式,以確保一切都能如期運作。

設計並測試代理程式後,將其發佈到 Web、行動或本機應用程式或 Microsoft Bot Framework 頻道