測試、部署與整合代理
測試、部署與整合代理是從開發到生產環境的關鍵步驟。 Microsoft Foundry 提供完整的功能,用於驗證代理行為、部署到生產環境,以及將代理程式與您的應用程式連接。 這些最後步驟將原型轉化為可靠的自動化,帶來業務價值。
代理人的測試策略
徹底測試能確保您的代理程序在多種情境下可靠運作,然後才面向用戶。 測試應涵蓋預期的互動、邊緣情況及錯誤條件。
使用整合的遊樂場進行測試
Foundry 入口網站與 Visual Studio Code 擴充功能皆提供互動測試的遊樂場。 這些環境模擬真實使用者互動,同時提供代理決策的可視化。
有效利用遊樂場:
從 Happy Path 測試 開始——確認代理程式正確處理常見且預期的請求。 測試典型使用者問題與工作流程,確認基本功能是否如預期運作。
轉向 邊緣案例測試 ——嘗試模糊輸入、不完整資訊和異常請求。 邊緣案例揭示了代理人如何處理不確定性與突發情況。
進行 邊界測試 ——測試你的代理人應該做什麼、不該做什麼的界限。 確認代理人遵守其指示中定義的界限。
進行 多回合對話測試 ——確認代理在多個交換中維持上下文。 測試代理人是否記得先前資訊,並適當地建立先前的回應。
執行 工具調用測試 ——當客服人員使用工具時,請確認他們在正確的時間呼叫正確的工具,並正確整合結果。
測試情境以驗證
對於客服人員來說,請測試以下情境:
預期需求:
- 「我需要預約。」
- 「你的工作時間是怎麼回事?」
- 「我可以重新預約嗎?」
超出範圍的請求:
- 「我該吃什麼藥?」(應該婉拒,建議諮詢醫療提供者)
- 「你能查我的醫療紀錄嗎?」(應該說明隱私界限)
模糊輸入:
- 「我需要幫助」(應該問一些釐清問題)
- 「約會」(應該蒐集更多背景資訊)
錯誤條件:
- 工具故障或超時
- 需要不可取得資訊的請求
- 系統處理過程中的錯誤
記錄測試結果有助於追蹤長期的進步,並確保迴歸不會重蹈覆轍。
採用對話
了解回應 API 如何管理對話,有助於你設計更好的客服人員體驗並有效排除問題。
對話生命週期
對話建立 - 當使用者與你的客服互動時,會開始新的對話。 每段對話都有自己的訊息紀錄,與其他使用者的互動分開。
訊息交換 - 當使用者發送訊息時,回應 API 會依照你的客服設定處理訊息,並根據對話情境產生回應。
上下文保存 - 對話保留完整的訊息歷史,使代理能參考先前的對話並維持連續性。
對話完成 ——對話可以明確結束或因未活動而失效。 完成的對話會保存其歷史以便檢視。
管理生產中的對話
部署代理時,請考慮對話管理策略:
會議界線 ——決定何時開始新的對話。 客服人員可能會為每個支援案件建立新的對話,而生產力助理則可能維持較長的對話。
情境限制 ——對話在長時間互動中可能會變得很長。 監控對話長度,並在需要時實施摘要或存檔舊上下文的策略。
隱私與保留—— 為對話資料定義保留政策。 決定訊息歷史應保留多長,何時刪除。
您可以透過 Foundry 入口網站或透過 Responses API 以程式化方式瀏覽和管理對話,讓您能看到使用者如何與已部署的代理互動。
部署方法
Microsoft Foundry 支援多種部署方式,以符合不同的營運需求與團隊工作流程。
從 Foundry 入口部署
入口網站部署提供視覺化且具導向的體驗:
- 在 Foundry Portal 中導覽到您的代理程式
- 驗證配置與測試結果是否令人滿意
- 從代理的頁面選擇部署
- 確認部署設定
- 等待部署完成
您的專案資源清單中會顯示已部署的代理,並標示為活躍狀態。
從 Visual Studio Code 部署
VS Code 部署整合於您的開發工作流程中:
- 在代理設計器中開啟你的代理
- 選取 Microsoft Foundry 更新,以推送您的組態變更
- 對於託管代理,請使用工具區塊中的 部署託管代理 程式選項
- 等待部署確認
- 重新整理資源檢視以查看更新的代理程式
這種簡化的流程讓你能留在開發環境中,避免部署時的上下文切換。
部署考慮
部署代理時,請考慮:
型號可用性 - 確保您所選模型部署具備足夠的容量以應付預期負載。 監控使用情況並視需要擴展。
工具依賴性 - 確認所有你的代理程序所使用的工具均已正確配置。 檔案搜尋需要有向量儲存並上傳文件,API 工具需要有效的憑證。
指令清晰度 - 部署前務必仔細檢查說明。 部署後的變更需要重新部署,且可能影響使用者體驗。
測試驗證 - 確認全面測試已完成。 未經測試的變更部署可能會造成生產問題。
產生整合碼
部署完成後,代理程式需要連接到你的應用程式。 Microsoft Foundry 擴充套件會產生範例整合程式碼,加速此過程。
程式碼產生流程
要產生整合程式碼:
- 在 Azure 資源檢視(VS Code )中選擇你已部署的代理程式
- 從可用的動作中選擇開啟程式碼檔案
- 擴充功能提供結構化選項:
- 選擇你偏好的 SDK - 選擇整合所需的 SDK 框架
- 選擇你的語言 - 選擇你的程式語言(Python、JavaScript、C# 等)
- 選擇你的認證方式 - 選擇你的應用程式如何認證(管理身份、服務主體、互動式等)
- 該擴充功能會產生範例程式碼,示範如何:
- 使用 Microsoft Foundry 進行認證
- 聯絡你專屬的代理人
- 使用 Responses API 傳送訊息
- 程序代理回應
生產整合模式
不同的應用需要不同的整合方法。 常見的模式包括:
網頁應用程式整合
將代理整合進網頁應用程式,提供 AI 驅動的功能:
- 當用戶與你的經紀人互動時,開始對話
- 透過回應 API 向代理發送使用者訊息
- 在你的 UI 中顯示代理的回應
- 維持使用者工作階段間的上下文對話
API 驅動工作流程
在事件或排程觸發後端工作流程中使用代理:
- 使用 Responses API 以訊息形式傳送結構化資料
- 程序代理程式化回應
- 利用代理輸出來推動工作流程的下一步
聊天機器人實作
建立由代理驅動的對話式介面:
- 將使用者會話映射至客服對話
- 透過回應 API 處理即時訊息交換
- 在代理進行請求處理時實作輸入指示器
- 在回應中支援豐富媒體
後台自動化
部署代理程式執行自動化任務,無需使用者互動:
- 排程代理程式執行例行任務
- 透過回應 API 將系統資料輸入代理
- 流程代理的輸出用於更新商業系統
- 監控代理的效能與結果
生產考量
在生產環境中成功執行代理程式需要專注於操作層面:
監視和可觀察性
追蹤關鍵指標:
- 反應時間與延遲
- 工具召喚成功率
- 錯誤率與故障模式
- 對話音量與訊息數量
- 模型代幣消費
這些指標有助於你識別效能問題並優化客服人員行為。
安全性與合規性
實施安全最佳實務:
- 使用受管理身份或服務主體來進行認證
- 套用最低權限存取控制
- 加密傳輸中及靜止時的敏感資料
- 審計代理人的行動與對話
- 實施符合法規的資料保存政策
成本管理
監控並優化成本:
- 追蹤跨代理與對話的代幣使用情況
- 設定響應長度限制以控制成本
- 選擇適當的模型,平衡能力與成本
- 實施速率限制以防止意外使用量激增
- 管理對話紀錄的保留以降低儲存成本
效能優化
優化客服人員效能:
- 快取經常請求的資訊
- 優化說明以求清晰與簡潔
- 移除那些增加延遲的不必要工具
- 監控模型選擇,因為有些模型速度比其他模型快
- 實作長時間執行作業的逾時處理
錯誤處理和復原能力
穩健的代理實作能優雅地處理錯誤:
網路故障 - 當 API 呼叫因暫時性網路問題失敗時,實作帶有指數回溯的重試邏輯。
工具故障 ——當工具逾時或出錯時,確保代理提供有用的備用回應,而非默默失敗。
速率限制 - 透過實施退換策略與排隊機制來處理Azure的速率限制回應。
無效輸入 - 在傳送給代理前驗證使用者輸入,過濾惡意內容或格式問題。
更新生產環境代理程式
隨著需求演變,您需要更新已部署的代理:
- 對開發環境進行修改
- 部署更新前請徹底測試
- 盡可能在流量低時部署更新
- 部署後監控以發現問題
- 如果更新出問題,請預備回滾計畫
代理人 ID 在更新期間保持不變,因此現有的整合在行為更新後會繼續運作。
測試、部署與整合代理將開發成果轉化為生產價值。 透過遵循系統化測試方法、運用整合部署工具並實施穩健的整合模式,您可以自信地交付提升應用程式並自動化工作流程的 AI 代理,同時維持企業級的可靠性與安全性。