給 AI Agent 立規矩:我用三層護欄把幻覺和亂花錢攔下來
最近我把一個能查資料、寫檔案、呼叫雲端服務的 AI Agent 交給日常工作,才真正明白:Agent 最危險的不是答錯,而是「很有信心地做錯」,而且做得很快。一次它把測試環境的清理指令理解成正式環境,另一次則在迴圈裡反覆呼叫模型,把幾分鐘的工作拖成一筆不小的帳單。自此之後,我不再只談提示詞寫得好不好,而是先為 Agent 立規矩。
第一層:提示與意圖護欄
很多事故源於授權邊界模糊。模型不知道哪些操作是高風險,於是把「幫我整理」理解成「幫我刪除」。我的做法,是在系統提示中用白名單思維定義範圍:允許讀取哪些資料、允許修改哪些資源、哪些操作必須先停下來請人確認。刪除、對外發送、修改生產設定、批量寫入,都屬於高風險動作,必須先輸出計劃、影響範圍與回滾方法,等人確認後才執行。
我亦會要求 Agent 在不確定時先講清楚,而不是自行補齊缺失資訊。當關鍵參數缺失或來源互相矛盾時,先提出問題與選項。幻覺很多時不是模型故意說謊,而是系統逼它在資訊不足時也要給出完整答案。
第二層:工具與資料護欄
提示詞可以被誤解,甚至被外部內容注入影響,因此真正的安全邊界必須落在程式碼層。這一層有三個重點:參數驗證、權限分離、結果可驗證。所有寫入操作在呼叫前都要檢查目標與範圍,只能操作指定的專案與資源標籤,禁止萬用字元刪除或全量覆寫。查詢與寫入使用不同的權限,日常任務預設只有唯讀權限,需要寫入時才臨時提升,任務結束後收回。
外部資料亦要視為資料而非指令。從網頁或文件回傳的內容,即使出現「請忽略之前指示」之類的語句,也要標記並阻擋。完成後,Agent 必須能回答:用了哪些資料來源、做了哪些變更、如何證明結果正確。對關鍵數字,要同時給出計算過程或原始出處,而不只是結論。
第三層:成本與可觀測性護欄
Agent 的另一種失控比較安靜:沒有刪錯東西,卻在迴圈中不斷重試、反覆呼叫工具、載入過長的上下文。表面看起來很努力,實際上是策略失效。我的做法,是為每一次任務設定預算:最大步驟數、最大工具呼叫次數、Token 上限,以及重試上限。當 Agent 在同一問題上連續失敗兩次,就要停下來換策略或求助。
同時,所有步驟都寫入結構化日誌,包括工具名稱、參數摘要、耗時與結果狀態。這份日誌不只是除錯工具,也是日後覆核的證據。在雲端使用上,小任務先用低成本模型完成,需要深度推理時才升級;批量任務先用一小批樣本驗證流程,確認無誤後再放大規模。
三層如何協同
提示層決定方向與邊界,工具層負責硬性攔截與權限控制,成本層則防止任務在無人注意時無限擴張。當 Agent 想清理舊檔案時,提示層要求它先列出影響清單,工具層檢查目標是否受保護,成本層限制它一次最多處理多少筆。
給開發者的建議很簡單:先從唯讀 Agent 開始,等流程穩定後再逐步開放寫入權限;把高風險操作做成需要人工確認的檢查點;為每一個任務留下可追蹤的日誌。Agent 的價值不在於一次能做多少事,而在於能在可控範圍內穩定地把事情做好。先立好規矩,再談效率,Agent 才真正值得交託。
- 点赞
- 收藏
- 关注作者
评论(0)