共用方式為


建立和編輯主題

在 Copilot Studio 主題中,定義專員對話的進度。

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

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

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

必要條件

自然語言理解

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

例如,使用者可能會鍵入“Open hours”(開放時間) 。專員將其與 Store hours (商店上班時間 ) 匹配主題,開始一個對話,詢問客戶對哪個商店感興趣,然後顯示商店的上班時間。

測試 專員 窗格顯示專員對話在每個步驟中的進度。 您可以使用 Test 專員 (測試 #)窗格來微調主題,而無需退出 Copilot Studio 門戶。

有關專員和主題限制,請參閱 配額、限制、應用程式註冊、證書和配置值

Copilot Studio 中的主題

主題類型

專員可以包含兩種類型的主題: systemcustom 主題。 每個新的專員都以一組預定義的系統和自定義主題開始。

  • 系統主題支援基本行為,例如與某人交談或結束交談的自訂要求。 某些系統主題具有發射鍵短語,您可以自定義這些短語以滿足專員的需要。

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

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

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

    • 您可以更改預定義的自定義主題,也可以將其從專員中完全刪除。
    • 所有您建立的主題都是自訂主題。

節點類型

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

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

提示

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

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

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

建立主題

  1. 從代理 頁面的清單中 打開您的專員。 為了獲得更好的可見性,請暫時關閉 Test your 專員 (測試你的 #)面板。

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

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

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

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

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

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

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

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

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

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

  8. 新增您的專員主題詳細資訊:

    • 輸入名稱以標識主題,例如「Store hours」(商店上班時間) 。Topics (主題 )頁面按此名稱列出了專員中定義的所有主題。
    • 如果需要,請輸入一個顯示名稱,當專員無法確定哪個主題與客戶的消息匹配時,要向客戶顯示。
    • 如果需要,請使用 Description 字段為您自己和團隊中的其他專員製作者描述主題的用途。 客戶永遠不會看到主題描述。
  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 管道