網誌
可靠性與生產環境

發佈日期 更新日期

Anshu 及 Arag

生產環境 AI 代理檢查清單:基礎設施、安全和可靠性

以 Markdown 閱讀

在 AI 代理接觸生產環境數據前,先給予範圍受限的身份、令每項可重試寫入具備冪等性,並在執行前停止具破壞性或涉及財務的操作。讓代理在無人監督下運作前,再加入有限的執行範圍、端到端追蹤和經測試的復原路徑。

這份檢查清單按依賴順序排列,後面的控制措施依賴前面的控制措施。它並非機率排名,因為目前沒有公開數據集證明各種失敗在生產環境代理中發生的頻率。

在代理接觸生產環境數據前

為每個代理提供限定範圍的身份

  • 為每個需要追蹤來源的代理、部署或工作階段簽發獨立憑證。
  • 把範圍限制在任務所需的租戶、資源和操作。
  • 即使工具描述聲稱操作只會讀取,也要在下游服務執行授權。
  • 撤銷憑證的操作不應依賴刪除人員用戶的帳戶。

共用管理員密鑰令清晰的審計線索無從建立,也會令一項密鑰外洩演變為廣泛存取。OWASP 的 Excessive Agency 指南建議縮小工具功能、權限和自主程度,再於下游系統執行授權。

在執行前停止高影響操作

  • 具破壞性、涉及財務和範圍異常廣泛的操作應要求人員或政策批准。
  • 在批准步驟顯示確切的資源、範圍和後果。
  • 底層系統支援時,優先使用軟刪除等可復原的狀態變更。
  • 保留審計日誌,但不要把刪除後才寫入的紀錄視為預防性控制。

Railway 記錄了一宗 2026 年四月的事故:代理在磁碟上找到帳戶範圍的權杖,並呼叫舊版 volume 刪除 API。平台雖設有四層授權,但權杖範圍和即時刪除行為仍允許這項操作。Railway 復原了 volume,並把 API 刪除改為與儀表板一致的 48 小時軟刪除時限。事故報告具體說明了為何限定範圍的身份必須配合可復原或經批准的破壞性路徑。

令寫入具備冪等性

  • 為每個邏輯操作建立一個冪等鍵,並在每次重試時重用。
  • 在伺服器端儲存操作結果,並在同一個鍵再次出現時傳回該結果。
  • 同一個鍵配合與原有請求不同的參數時應予拒絕。
  • 定義鍵的有效期限,以及到期後會發生甚麼。

Stripe API 會儲存某個冪等鍵的第一個結果,並允許最長 255 個字元的鍵。其目前文件指出,鍵至少保留 24 小時後便可移除。這些數字屬於 Stripe 合約,而不是通用預設;你的保留時限應涵蓋代理實際可能遇到的最長重試或恢復時間。完整流程請參閱代理重試和復原指南。

在代理無人監督運作前

限制每次執行

  • 限制工具呼叫、wall-clock 時間、模型支出和對相同操作的重複嘗試。
  • 代理達到政策限制時應停止,而不是要求模型自行約束。
  • 寫入工具應使用比讀取工具更嚴格的限制。
  • 反覆發生授權和驗證失敗時,應轉交處理而不是重試。

速率限制可以減少代理造成的損害,但不能修正不安全的權限。身份和授權就緒後,再把限制用作控制影響範圍的一層。

一併追蹤模型、代理和工具

使用一條 trace 連接用戶請求、模型呼叫、工具選擇、工具執行和下游 API 工作。加入租戶、代理身份、工具名稱、tool-call ID、結果、執行時間和政策決定,並排除密鑰和敏感工具結果。

OpenTelemetry 現已定義 GenAI 代理和工具 span,包括 tool-call 識別碼和執行時間屬性。使用這些共用欄位,更容易在模型和應用程式遙測之間追蹤同一操作。AI 代理可觀察性指南說明實用的追蹤形式。

測試中斷和復原

  • 在外部副作用完成後儲存檢查點,而不只是在模型回應後儲存。
  • 從最後一個已驗證的檢查點恢復,而不是重播整次執行。
  • 重試寫入前先對賬未知結果。
  • 演練撤銷代理憑證和停止正在運作的執行。

伺服器可能已完成請求,但用戶端沒有收到回應,此時便會產生未知結果。復原流程必須先檢查操作紀錄或冪等鍵,再決定是否重複執行。

在使用量擴大前

保留可重複使用的評估集合

固定具代表性的任務、預期的工具選擇、禁止操作和驗收條件。在模型、提示、工具描述、權限或重試行為改變後執行這套評估。務必包括失敗案例,因為成功的示範不會涵蓋上述控制措施。

寫下事故處理路徑

當值人員應能在不依賴失敗代理的情況下回答四個問題:

  1. 如何停止新的執行?
  2. 如何撤銷受影響的憑證?
  3. 代理接觸了哪些資源和操作?
  4. 如何復原或補償已完成的操作?

如果團隊無法從遙測和後端狀態回答這些問題,系統便未適合在生產環境中無人監督地運作。

進入生產環境前審計一項工作流程

選擇權限最廣泛的工作流程。對每次寫入,記錄其身份、授權規則、冪等機制、批准要求、追蹤欄位和復原操作。任何空白欄位都會成為一項具體任務;你不需要另一份籠統的檢查清單。

寫入操作 身份和範圍 冪等性 批准 追蹤 復原
例子:刪除測試部署 部署範圍代理 操作鍵 測試租戶以外必須批准 工具呼叫和資源 ID 48 小時內恢復

選擇空白最多的數據列,優先測試該工作流程。下方提示會建立隔離的 Cohesivity 租戶、執行一次正常工作和一次中斷工作,再報告未通過的控制措施。生產環境不會參與測試。