Agent 實戰

防呆設計:怎麼讓迴圈自己停下來

知道了 Agent 會怎麼卡死,下一步就是設計防護。好的防呆是三層網,讓系統既不會失控,又不會輕易放棄。

三類防護策略
硬限制
無條件的剎車,不管什麼情況都會觸發
迭代上限
設定最大迴圈次數(如 50 輪),到了就強制停止。簡單粗暴但有效,是最後一道防線。
展開
總超時
設定任務最大執行時間(如 3 分鐘)。不管跑了多少輪,超時就中斷,防止無限佔用資源。
展開
單工具次數上限
同一個工具最多呼叫 N 次(如同一介面最多 5 次)。防止 Agent 對一個工具上癮。
展開
檢測類
監控執行狀態,發現異常模式時發出預警
同參數檢測
檢測連續 N 次是否用完全相同的參數呼叫同一工具。如果是,說明 Agent 在原地打轉。
展開
同工具名檢測
最近 N 輪是否只在調同一個工具。如果是,可能陷入了執念,需要引導它換條路。
展開
收益遞減檢測
對比最近幾輪的產出增量。如果跑了 10 輪但新內容不到 50 字,判定為低效空轉。
展開
降級類
帶傷繼續或優雅退出,先不直接停
注入糾錯提示
在上下文中注入一條系統訊息:「你已經重複了 3 次,請換一種方法」,讓模型自己調整策略。
展開
禁用故障工具
某工具連續失敗時,從可用列表中暫時移除。逼迫 Agent 走其他路徑完成任務。
展開
強制總結當前進度
觸發條件時,強制 Agent 總結當前已做的事、已得到的結果,帶著殘缺的進度返回使用者。
展開
三層防護的層次關係

防呆不是一道牆,是三層網

降級類 — 優雅續命,儘量完成任務
發現異常 → 嘗試自救
檢測類 — 及時發現,提前預警
監控模式 → 觸發降級
硬限制 — 最後兜底,絕對不失控
無條件剎車 → 保證安全
設計原則:先讓降級嘗試自救 → 自救失敗由檢測上報 → 最終由硬限制兜底。
大多數情況下,Agent 應該被溫柔地糾正,粗暴殺死是下策:對使用者來說,帶著半成品回來比空手而歸好得多。
防呆不是一道牆,是三層網:硬限制兜底、檢測預警、降級續命。好的防護設計讓 Agent 既不會失控,又不會輕易放棄,儘可能帶著成果回來。