部落格
基礎功能

發布於 更新於

Shouryamaan 和 Arag

在正式環境中執行 AI 代理需要什麼?

以 Markdown 閱讀

在正式環境中執行 AI 代理,需要範圍受限的存取權、有界執行、安全寫入、持久復原、隔離的程式碼執行、端到端追蹤、可重複評估,以及經過測試的停止方式。一次有人監督的成功展示,幾乎無法證明這些控制真的存在。

當代理可能在無人逐步監看的情況下遇到你未曾撰寫的輸入,就已經進入正式環境。發布關卡應測試會失敗、重複或需要權限的路徑。

先建立身分,再開放自主操作

為每個代理、部署或工作階段提供一組憑證,既能識別呼叫端,也能限制可存取的租戶、資源和操作。這些限制必須由擁有資料的服務執行。工具說明和系統提示只是模型的上下文,不是後端授權。

OWASP 的 Excessive Agency 指南建議把工具功能、權限和自主程度降到最低。依序執行:先移除工作流程不需要的工具,再縮小其餘工具背後的憑證範圍,最後在高影響操作前加入核准。

AI 代理安全指南會進一步說明憑證範圍、密鑰處理和稽核歸因。

用程式碼限制執行

由伺服器強制限制實際經過時間、模型支出、工具呼叫、重複嘗試、並行執行與輸出大小。對會寫入或花費款項的工具使用更嚴格的限制。授權和驗證若反覆失敗,應停止而不是繼續重試。

即使預算已用完,模型仍可能要求下一個步驟,執行環境必須拒絕。這也是全域速率限制不夠的原因:它也許能拖慢失控工作流程,卻無法限制該流程造成的總損害。

讓每個外部效果都能復原

每個可重試的寫入都需要一個邏輯操作 ID 或等冪金鑰。結果應保存於伺服器端,遇到相同操作重試時再次回傳。用戶端逾時後,應先檢查操作紀錄,再決定是否重複效果。

確認外部效果後就建立檢查點。如果程序在寄出郵件或建立部署後失敗,復原的工作流程應從該步驟之後繼續,而不是重新執行。

Temporal 的持久執行文件說明如何保存工作流程狀態,使其能承受程序失敗。應用程式仍需要等冪活動,因為工作節點可能在外部服務接受請求後才失敗。

隔離產生或不受信任的程式碼

代理產生的程式碼應在應用程式程序之外執行。沙箱必須定義:

  • 哪些檔案系統路徑存在且會持續保留;
  • 程序可以連線到哪些主機與協定;
  • 注入哪些密鑰,以及保留多久;
  • CPU、記憶體、程序與實際經過時間限制;
  • 執行結束後,成品和日誌保留多久。

光是使用容器並沒有回答這些問題。AI 代理沙箱指南會把每一條邊界轉成測試。

從決策一路追蹤到實際效果

用一條追蹤串起使用者請求、模型呼叫、檢索上下文、工具選擇、政策決策、工具執行與下游 API 工作。加入穩定的租戶、代理、執行、工具呼叫和操作識別碼,但排除憑證及敏感工具輸出。

OpenTelemetry 的 GenAI 慣例定義模型、代理和工具活動的欄位。以此為基礎,再加入產品所需的識別碼,才能回答誰變更了哪個資源。

每次變更發布前都評估行為

固定一小組具代表性的工作,包含預期工具選擇、禁止操作、核准點、復原案例和驗收標準。變更模型、系統提示、工具說明、權限、重試政策或記憶行為後,都重新執行這組工作。

模型差異會影響結果的案例需要重複執行。一次成功只是範例,不是成功率。代理評估指南會說明如何結合確定性斷言與由模型判斷的輸出。

定義人工中斷路徑

系統應能在重大操作前暫停,向審核者顯示確切資源、操作、範圍和預期效果。代理困惑或無法使用時,仍要有一條操作人員能執行的路徑:

  1. 停止新的執行。
  2. 中斷目前的執行。
  3. 撤銷受影響的憑證。
  4. 找出該次執行碰過的每個資源和操作。
  5. 還原、補償或升級處理已完成的效果。

在隔離環境中演練這條路徑。從未執行過的操作手冊仍只是假設。

使用發布關卡,而不是就緒分數

關卡 必要證據
存取 範圍受限的憑證與下游授權測試
寫入 等冪與未知結果復原測試
自主操作 伺服器強制的執行限制與核准政策
執行 沙箱邊界與清理測試
復原 從檢查點接續與撤銷憑證測試
診斷 一次成功和一次失敗的完整追蹤
行為 含禁止操作的可重複評估集

綜合分數可能掩蓋某個缺少的控制。針對要發布的工作流程,把每一列分別視為通過或失敗。

下方提示會為風險最高的工作流程建立這套關卡,而且不會把正式環境帶入測試。