調整並擴展 AI 代理以進行部署
前一個單元的實作模式會套用到你所建置的每個代理。 然而,不同情境會帶來不同的需求。 面向客戶的客服人員需要對話式的技巧與隱私控制,而內部營運的客服則要求可靠性與合規性。 本單元探討如何調整代理的配置與行為,以適應這兩類部署。
面向客戶的客服人員
直接與終端用戶互動的客服人員,如客服或銷售助理,需要特別重視對話品質、個人化與隱私。
對話品質
系統提示是你控制代理通訊方式的主要工具。 定義所需的語氣、風格與回應長度:
- 語氣與風格:包含「以友善且專業的方式回應」或「使用簡單語言並避免專業術語」等指引。對支援人員來說,同理心的語氣很適合。 對銷售助理來說,較具資訊性的語氣可能更合適。
- 釐清問題:指示客服在請求模糊時主動詢問,而非猜測。 例如:「如果使用者的請求不清楚,請在採取行動前先禮貌地提出澄清問題。」
- 回覆長度:指導客服保持回應簡潔:「除非使用者要求更多細節,否則回應時間限制在三句以內。」
這些指引可以反覆修正。 測試對話流程與代理,並根據結果調整系統提示。
個人化與資料隱私
面向客戶的客服人員經常會存取個人資料,如訂單歷史和帳戶資料。 在個人化與隱私保護之間取得平衡:
- 使用者情境注入:當會話開始時,透過系統提示或初始情境注入相關使用者資訊。 例如,包含用戶姓名、帳戶等級及近期訂單紀錄,讓客服人員能提供個人化服務。
- 隱私說明:在系統提示中加入明確規則:「僅討論已登入使用者的帳號資料。 不要透露內部參考代碼或敏感系統資訊。」
- 工具中的資料最小化:若工具擷取敏感資訊(如完整地址),工具處理器中過濾回應,只回傳代理人所需的資料(如運輸城市)。
知識整合
客服與銷售人員常需取得產品資訊、常見問題或政策文件,這些資料超出 AI 模型的訓練資料。 擷取擴增生成 (RAG) 模式可透過為代理程式提供搜尋工具來滿足此需求:
- 定義一個像
search_knowledge_base(query)這樣的工具,查詢你的文件或常見問題系統。 - 透過系統提示指示客服在回答產品或政策問題時使用此工具。
- 保持知識庫最新,避免過時的回應。
這種做法是讓代理人的回答建立在你的實際文件中,而非依賴模型的訓練資料,從而減少不準確的回應。
人工交接
即使是配置良好的客服人員,也會遇到無法解決的問題。 建立明確的升級路徑:
- 提供
escalate_to_human(reason)一個工具,將對話轉交給客服人員,並附上客服所蒐集的所有背景。 - 當無法解決請求或使用者明確要求真人時,指示代理使用此工具。
- 在初步部署時,考慮將客服回應經由人工審核隊列後再發送給客戶,以建立對客服品質的信心。
後台與自主代理
幕後運作的客服人員——如財務自動化、供應鏈管理或 IT 營運客服——優先考量可靠性、準確性及與企業系統的整合,而非對話品質。
決定論與驗證
在企業流程中,可預測的行為至關重要:
-
結構化輸出:設計工具介面,使代理提供特定的欄位值,而非系統輸入的自由文字。 例如,讓代理將結構化參數傳給
create_journal_entry(account, amount, description)工具,而不是以文字形式產生整個條目。 - 程式碼計算:使用工具進行數學運算,而非依賴 AI 模型。 工具
calculate_tax(amount, rate)能產生可靠的結果,而模型可能會產生算術錯誤。 - 歷史驗證:部署前,將代理程式與已知的歷史資料比對,並將其決策與人類的行為做比較。 差異有助於你調整閾值和指示。
排程與觸發條件
與互動式客服不同,後勤客服通常是由事件或排程啟動,而非使用者輸入:
- 排程任務:cron 工作或排程服務會建立 GitHub Copilot SDK 會話,提供上下文(例如「執行每日發票對帳」),並讓代理執行。
- 事件驅動:監視警示或 webhook 會觸發工作階段建立,並將事件詳細資料作為輸入傳送。 每個事件通常會建立自己的工作階段,以避免內容混用。
- 無狀態執行:在獨立的會話中處理每個任務或事件。 此方法避免了無關操作間的混淆。
企業系統整合
後勤人員與 API 和資料庫互動頻繁。 在您的工具處理常式中建立強韌性:
- 重試與逾時:在呼叫外部系統的工具處理常式中實作具指數退避的重試邏輯。
- 交易安全性:如果代理執行多個相關寫入,考慮使用單一工具,以原子性方式處理整個交易,而非每一個步驟分別使用獨立工具。
- 最低權限存取:使用權限最低的服務帳號來呼叫代理的 API 呼叫。 這種做法限制了意外行為的影響。
- 審計日誌:記錄代理所採取的每一個動作,包括呼叫了哪些工具、傳遞了哪些參數,以及回傳了哪些結果。 請包含一個標示此動作由代理發起的識別碼。
人工監督
自主代理程式仍應具備人工安全機制:
-
警示:提供
notify_manager(issue)一個工具,讓客服人員在遇到訓練外的情況或多次嘗試後問題仍存在時可用。 - 定期審查:讓領域專家定期檢視代理人的決策,尤其是在早期部署期間。
- 手動覆寫:實作功能旗標或模式切換,能快速將代理從自主執行切換為建議模式,記錄建議但不採取行動。
性能與成本考量
當代理程式頻繁運行或處理大量資料時,請考慮:
- 模型選擇:用於日常任務使用更快且成本較低的模型,並保留較有能力的模型用於複雜推理。 SDK 允許你在每個工作階段設定模型。
- 批次處理:若代理需要處理多件物品,請將工作框架設於單一會話中,而非為每個項目建立獨立會話。
- 多代理樣式:對於複雜的工作流程,可以考慮將責任分配到多個具備不同配置與工具組的階段中。 一個代理可能負責分析,另一個代理負責執行,你的應用程式會在它們之間協調。
總結
調整您的 AI 代理以適應不同部署情境,需要調整其對話風格、工具組及操作模式以符合使用情境。 面向客戶的客服人員重視對話品質與個人化,同時維持隱私;而後勤客服則著重可靠性、整合性及自主運作。 在設計代理人時考量這些考量,能在任何情境下最大化其效能與商業價值。 在下一個單元中,你將看到如何實際使用 GitHub Copilot SDK 實作這些調整。