應用生成式協調功能

Note

本文介紹 標準背帶的特點與行為。 學習如何在 Access 標準代理與代理流程中存取標準功能。

生成式編排是 Copilot Studio 中對話代理開發的演進。 它引入了大型語言模型(LLM)驅動的規劃層,能解讀使用者意圖,拆解複雜請求,選擇合適的工具與知識,並執行多步驟計畫,並設有安全與合規的護欄。 生成式協調不再僅依賴手工打造的對話主題,而是將可重複使用的組件——動作、主題、知識來源、子代理與自主觸發——組合成智慧工作流程。

在 Copilot Studio 中,啟用生成式編排能提供更好的解決方案,且手動腳本更少。 在本文中,你將了解生成式編排背後的架構,以及如何撰寫有效的指令,並測試與調整編排代理。

為什麼生成式協調很重要?

傳統主題導向設計需要多個手工製作主題、嚴格分支和手動填槽邏輯。 這種方法可能導致:

  • 龐大的主題庫存,重疊的邏輯。
  • 難以處理模糊或多重意圖的語句。
  • 當使用者用不同方式表達問題時,經驗不一致。
  • 當 API 或商業規則變更時,維護成本會很高。

生成式協調透過以下方式解決這些挑戰:

  • 透過撰寫可重複使用的組件,減少主題蔓延。
  • 根據輸入定義自動填充槽位。
  • 動態調整回應風格與計畫結構。
  • 透過語意知識檢索提升相關性。
  • 啟用主動式下一步建議。

架構和元件

從高層次來看,由標準線束驅動的代理程式由多個關鍵元件協同運作:

  • 標準執行架構 (規劃器):由 LLM 驅動的 Agent 大腦,會將使用者訊息或事件等輸入內容轉換為結構化計劃。 該工具可識別意圖,選擇每步要呼叫的工具、主題或代理,並定義步驟間的序列與資料流。 它會輸出一個有序的步驟清單(稱為「計畫」),執行時會執行這些步驟,並確保每個步驟都在政策範圍內。 例如,它會尋求敏感行動的批准。

  • 知識層:一組檢索來源,如內部知識庫、文件、資料庫等,代理者可查詢以建立答案基礎。 執行架構會使用此層擷取事實資訊或指導。 結果通常包含引用與元資料,代理人可將其納入回應以提升透明度。 知識層為唯讀,提供證據或脈絡。

  • 工具與連接器:代理可作為計畫一部分呼叫的外部動作、API 或自動化流程。 每個工具都有定義的介面:輸入參數(帶有預期型別)、輸出變數,以及可能的錯誤條件。 它們本質上是客服人員執行操作的「技能」,例如查詢訂單、發送電子郵件或執行腳本。 你應該徹底測試工具,確保它們在相同輸入下行為是確定性的,因為線束會將它們視為可靠的函數。

  • 主題與內嵌代理:可重複使用的對話主題或迷你對話,封裝特定邏輯。 在生成式協調流程中,規劃器不僅能以觸發字詞叫用主題,只要主題所述用途符合使用者需求,也能加以叫用。 內嵌 Agent 是指在較大計劃中用作子步驟的小型、專注的主題或例行程序。 它們會在主要 Agent 的內容中執行,並處理個別工作,讓執行架構不必明確編寫這些詳細資料的指令碼。

  • 事件觸發程序 (自主性):無需使用者訊息即可啟動執行架構的機制。 這些機制可以是排程觸發器或事件導向觸發器,例如資料庫記錄更新,讓代理自動啟動計畫。 每個觸發器都可以有自己的條件和指令。 自主觸發器讓代理能主動行動,當符合特定條件時啟動工作流程,而非僅回應使用者聊天輸入。

控制層與決策邊界

在生產級代理中,不要把所有決策都交給 AI。 通常存在三層控制:

  • 確定性層:此層使用傳統的規則邏輯,仍強制執行關鍵任務或不可逆的行動。 例如,處理付款或刪除紀錄時,請使用嚴格撰寫的主題或流程,逐步執行,無需 AI 解讀。 此層也可能包含對敏感資料的明確檢查或驗證。 如果某件事必須完全按照指定發生,就用確定性的方式處理。 將執行架構設定為不覆寫或變更這些流程。 實務上,你可能不會將這些動作暴露給 AI 規劃器,或總是用需要使用者確認的主題包裝。

  • 混合(截距)層:此層為 AI 在主要以確定性結構為主的部分增加了彈性。 您可讓執行架構在設定的界限內運作,並保留人為或依規則攔截的可能性。 例如,代理人可能會自動草擬回應或執行動作,但你可以插入批准步驟讓經理審核。 或者,Agent 可能會處理價值不超過特定限額的工作,超過此限額就需要進行升級處理。 混合層預先定義了 AI 自主計畫被檢查的點。 這種方法適用於中風險流程:讓 AI 負責繁重工作,但讓人類參與監督。

  • AI 運用層:此層完全是生成式的。 LLM 規劃器可在護欄範圍內自由編寫及執行風險較低查詢的計劃。 大多數問答互動、資訊查詢或簡單的多步驟請求都屬於這類。 對於大多數使用者問題,代理者可以自主決定如何解決並採取行動。 這一層提供了生成式人工智慧的適應性與強大功能。 它受政策約束。 例如,AI 可能知道不能呼叫某些管理工具或透露某些資訊。 客服人員不需要停下來請求例行任務的許可。

在這些層級下,明確定義決策邊界。 看看哪些行動和主題:

  • 可以在沒有確認的情況下執行(AI 可以直接執行)。
  • 在對話中要求使用者確認(例如:「你確定要刪除所有紀錄嗎?」)
  • 要求離線核准(例如,管理員必須透過核准流程確認)

透過主題設計來強化這些界限,例如新增確認節點、平台審核功能,或觸發器中的邏輯。 透過多層控制,你確保代理安全運作——AI 處理它擅長的事,而人類或嚴格規則則處理 AI 不該單獨決定的事。

代理指令最佳實務

妥善撰寫的代理人指示會影響計畫產生的品質。

  • 情境相關性

    • 確保說明僅參考代理人可用的工具與知識。
    • 請使用精確的工具名稱、變數名稱和 Power FX 識別碼。
  • 會話指引

    • 指定回應格式(列表、表格、粗體)。
    • 提供文體指引(「簡潔」、「包含引用」、「建議下一步步驟」)。
    • 避免直接點名特定的知識來源。 描述一下他們。
  • 判斷何時使用工具或知識

    • 我比較喜歡用工具名稱。 名字比描述更有分量。
    • 描述知識能力時要通用,以避免錯誤資訊。
  • 自主執行指令

    • 定義多步驟工作流程的預期行動順序。
    • 將流程說明與具體提示結合。

在 「為生成式編排配置高品質指令」中了解更多。

主題輸入與輸出的設計

撰寫主題時,請特別注意生成式編排模式中的輸入與輸出參數:

  • 請定義明確的輸入參數並說明: 如果某個主題或動作需要特定資訊(例如密碼重置主題的「使用者名稱」),就為它建立主題輸入,並給它一個描述性的名稱和範例。 執行架構會使用這些名稱與描述,在值缺少時自動詢問使用者。 使用可接受值清單或輸入的 Power Fx 驗證公式,有助於確保機器人收集有效資料(例如限制國家代碼為兩個字母)。

  • 使用自動提示: 在生成模式下,代理會自動產生問題,而不必你手動新增問題節點來提示缺失資訊。 這種做法與傳統機器人有重大差異。 關鍵在於你的輸入名稱應該是對人類友善的(例如「開始日期」、「電子郵件地址」),這樣 AI 才能自然地提出問題。 產生的問題可在設定工具輸入提示詞語出現前出現。 如果 AI 自動產生的問題表達不夠理想,可以考慮細化輸入的描述或名稱。 當使用者必須收到確定性措辭時,請使用由作者撰寫的問題節點在主題或工具執行前收集輸入。 此功能大幅簡化對話,但依賴明確的輸入。

  • 在適當情況下指定主題的輸出: 主題可以產生輸出變數,讓 harness 用來編譯最終答案。 例如,一個「商店搜尋」主題可能會輸出 NearestStoreLocation。 透過輸出資訊而非直接傳送訊息給使用者,你讓 harness 能優雅地將這些資訊與其他步驟結合。 如果某個主題的內容會用於較長的回應中,請將其擷取為輸出變數,並由 harness 處理最終回應。 在 使用生成式 AI 協調客服專員行為中深入瞭解。

  • 避免在提示中「重複處理」資料:如果您已設定輸出,請勿再將這些輸出以開放式內容的形式提供給 LLM。 例如,如果一個動作回傳摘要文字,將該摘要作為結構化輸出傳遞,讓 harness 包含它,而不是寫出 像「動作的結果說 {summary}」這樣的指令。 這種方法可以防止模型過度產生或重複內容。 輸出應盡可能提供最終資料點。

串聯動作、主題與知識

由於線束可在一回合內運用多種功能,設計時考慮可組合性:

  • 為所有事物給予直觀的名稱與描述:規劃者主要根據工具或主題的名稱與描述是否符合使用者的需求來決定是否使用。 使用與使用者意圖相符的主動詞語。 例如,一個名為「TranslateText」、描述為「將文字翻譯成指定語言」的工具,在使用者詢問翻譯問題時,較可能被選中;而一般名稱為「Flow1」的則是通用名稱。名字比什麼都重要。 避免使用神秘的名字。 如果代理人選錯主題,請重新檢視那些名稱和描述。

  • 提供豐富的「工具包」,但要精心策劃:連結所有你情境可能需要的有用行動(API、流程等),並為重要流程撰寫主題。 這種方法讓 AI 有更多解決查詢的選項。 不過,移除或停用你知道對客服來說無關或有風險的工具和主題,避免讓規劃師感到困惑。 較少的高品質選擇集比起重複的窮盡清單更好。 描述重疊可能導致客服同時嘗試多種方式,這可能不是理想的。

  • 適度信任規劃器:元件明確定義後,即可讓執行架構自由搭配運用。 例如,如果使用者提出的問題可以用知識文章或即時資料 API 來解決,規劃者可能會選擇兩者同時使用——先取得知識作為背景資料,並呼叫 API 取得當前資訊。 這種方法能產生更優越的答案。 擁抱這種自主權,但也要及早觀察,確保做出正確的選擇。

  • 處理多重意圖:如果使用者查詢本質上要求兩個不同的項目(例如「開一個新帳戶並傳送詳細資訊」),生成式規劃器會依序調用相關序列來同時滿足兩者。 你不需要手動編寫多重意圖的分支腳本。 你作為開發者的工作是確保每個子任務(帳號開立、傳送細節)都有某個工具或主題涵蓋,並且在需要時讓輸出和輸入能夠連結。

  • 讓知識補足主題與工具:此框架可主動發起知識搜尋,而不只是作為後備機制。 如果你設定了豐富的知識庫,代理可能會用知識文章片段回答查詢的一部分,即使某個動作涵蓋了另一部分。 這行為是經過設計的。 請隨時更新知識庫,納入透過工具不易取得的資訊。

  • 注意知識使用範圍:目前,你無法強迫代理人按需使用特定的知識文章。 AI 會根據查詢選擇相關文章。 還有限制。 例如,系統主題如「多個主題匹配」不會在生成模式下使用,因為規劃工具處理消歧義的方式不同。 了解更多關於 生成式協調的其他已知限制。

測試與調整協同代理

生成式協調將部分邏輯從明確設計轉移到人工智慧的「大腦」。迭代測試確保其行為符合預期。 以下是測試與改進編排代理的最佳實務:

  • 使用活動地圖:Copilot Studio 在測試時會提供活動地圖,顯示線束所決定的步驟。 在向你的經紀人提出一個複雜的問題後,檢視計畫:它涉及哪些主題或行動? 順序是什麼? 它有問到合適的後續問題嗎? 如果客服選錯主題或漏掉工具,你可能需要細化元件描述或調整說明。

  • 檢閱文字記錄:Agent 發佈後,請定期檢閱交談文字記錄或記錄檔。 注意答案中的幻覺或錯誤。 如果用戶給出「這不正確」這樣的回饋,請回頭看看客服為何這麼認為。 透過補充缺失的知識庫、精簡說明,或在某些情況下新增主題來彌補空白,來解決問題。 請參考「 擷取與分析客服人員對話逐字稿(參考架構)」。

  • 以小幅調整反覆改進:你常常可以透過細微的調整來提升生成型代理的效能。 例如,如果程式代理輸出過於冗長或格式不符,請調整關於風格和格式的指示,然後重新測試。 如果每次都呼叫一個不必要的工具,也許工具的描述太寬泛,你可以調整成只有在適當時才會被調用。 一次只做一項改變,並注意這對代理人決策的影響。

  • 謹慎提供範例語句:你可能會發現在主題描述中加入幾個範例使用者查詢,有助於 LLM 明確何時應使用該主題。 例如:「目的:重設使用者的密碼。 例如,使用者可能會說『我忘了密碼』或『重設我的 Contoso 帳號存取權』。」這些例子為模型提供了額外的提示。 不要過度渲染,保持描述簡潔且聚焦。 模型本身就有很多上下文——只要確保你的元資料清晰即可。

  • 監控效能指標:隨著使用率增加,持續關注關鍵指標,如成功率(客服是否真的解決了使用者的請求?)、回退率(提示「抱歉,我無法協助」的頻率)以及使用者滿意度(若有)。 即使在測試中,簡單統計每個主題和工具使用頻率也能暗示需要調整。 例如,如果一個瑣碎的閒聊話題被頻繁提及並增加噪音,請停用該主題或縮小描述範圍。 查看如何測試您的代理程式性能的指導。

生成系統會隱含地從你的設定和修正中學習。 每一次指令或元資料的改進,都會讓 AI 的下一個決策變得更好。 隨著時間推移,你精心編排的客服人員在處理查詢時會變得更準確且高效。

生成式管弦樂中的自訂觸發器

主題觸發程序專供生成式協調流程使用。 透過這些觸發器,你可以連接到代理的生命週期,並在編排過程中的關鍵時刻注入自訂邏輯。 主要有三種觸發器可供選擇:

Trigger 當它觸發時 Purpose
要求知識時 就在代理執行知識庫查詢之前 此觸發程序可讓您在執行架構即將搜尋知識來源的當下進行攔截。 它提供對 SearchPhrase 或代理打算使用的關鍵字的唯讀存取,並提供一個系統變數來提供自訂搜尋結果。 例如,你可以捕捉查詢並路由到專有索引,或注入更多資料到結果中。
這個觸發器是進階觸發器。 預設情況下,它在 UI 中看不到,目前必須透過 YAML 編輯(精確命名主題 OnKnowledgeRequested)來啟用。 如果你需要擴充或客製化知識檢索步驟,例如過濾特定結果或將外部資料合併到知識回應中,可以使用它。
AI 回應生成 在 AI 撰寫完草稿回答後,但在送給使用者之前 Agent 根據所有工具與主題輸出建置最終回應文字後、傳遞前,就會觸發此觸發程序。 此步驟讓您有機會程式化修改答案或引用。 例如,你可以後製文字以修正格式,或將原始網址替換成友善的追蹤連結。 你甚至可以決定覆寫這個回應。 觸發器可以產生自訂訊息,你也可以用 ContinueResponse 旗標來指示是否還要發送原本的 AI 回應。
使用此觸發器用於對 AI 回答的最後一刻調整或強化,例如附加問卷提示,或刪除 AI 包含但你想刪除的內容。 頻繁使用此觸發器可能顯示主指令中可能存在某些邏輯。 必要時可用來進行細緻控制。
計畫完成 整個計畫執行完成並發送回應後 一旦計畫完成,也就是所有步驟完成且使用者看到答案,這個觸發器就會啟動。 通常,用它來啟動任何結束對話的流程。 常見的用途是將對話導向特定的終點主題或問卷調查。 例如,你可能會有一個聊天結束主題,感謝使用者或提供下一步步驟。 您可以使用「計劃完成時」自動呼叫該主題。
不過要小心:你大概不想在每個用戶提問後就結束對話,尤其是當用戶可能會追問時。 新增邏輯,僅在設定特定內容變數時,或在計劃解決特定類型要求的情況下結束。 基本上,請在適當時機使用「計劃完成時」進行清理動作或正常結束。

更多生成式協調功能

透過進階功能,深入理解 Copilot Studio 的編排模型,擴展客服人員的規劃、行動與協作方式:

  • 設計自主代理能力:打造能主動行動的代理,利用觸發器、決策邊界與護欄。
  • 探索多代理協調模式:了解多代理如何協調、委派任務及交換上下文,以解決複雜的工作流程。
  • 標準架構中的情境管理:了解情境如何分布,設計以避免重複訊息與漏答,管理子代理間的情境,並排除故障。
  • 連接自訂知識來源:利用 OnKnowledgeRequested 觸發器將您自己的搜尋 API 與資料來源整合進代理的知識檢索流程中。