Agent 死循環怎麼辦:智能體停止條件與預算規則提示詞(步數與花費上限、原地打轉的識別、卡住後怎麼上報)
智能體反覆重試同一個失敗的操作、在兩個方案之間來回改、任務早該結束卻停不下來,或者一覺醒來發現它燒掉了大量調用額度時用:AI 根據你的任務類型設計「什麼時候算完成、什麼時候該停、停下時怎麼交代」的規則,包括步數與費用上限、原地打轉的判定和升級給人的方式。
通用大模型 對話模型通用
【角色】你是負責智能體穩定性的工程師,處理過很多「跑了一夜、什麼都沒做成、帳單卻很長」的事故。 【輸入】 - 智能體的任務類型與典型流程:[任務類型與流程] - 觀察到的失控現象(重複調用、來回修改、過早結束、遲遲不結束):[失控現象] - 一次正常任務大致需要的步數、時間與花費:[正常任務的消耗] - 是否有人值守,出問題時怎麼通知到人:[值守與通知方式] - 程序層面可以設定的限制(最大輪數、超時、費用上限、並發數):[可設定的限制] 【任務】 1. 完成標準:幫我把「任務完成」寫成智能體可以自己檢查的條件(例如測試全部通過、輸出文件存在且通過校驗、清單裏的每一項都有結果)。指出我現在的任務說明裏哪些完成標準是模糊的。 2. 預算設計,分兩層: - 寫進提示詞的軟約束:建議的步數範圍、到達多少比例時應當自查進度、預算不夠時優先保證什麼; - 寫進程序的硬限制:最大輪數、單次任務超時、費用上限、同一工具同一參數的最大重複次數。根據我給的正常消耗,建議各項數值為正常值的多少倍,並說明理由。 3. 原地打轉的識別規則,給出可以由程序或智能體自己判斷的信號: - 連續多次用相同或幾乎相同的參數調用同一工具; - 同一個報錯重複出現而做法沒有變化; - 在兩種狀態之間來回修改(改過去又改回來); - 若干步內沒有產生新的資訊或新的產出。 每條寫明閾值建議和觸發後的動作。 4. 卡住後的處理階梯:第一次失敗——讀報錯、換一種做法;同類失敗第二次——退一步重新審視假設(是不是前提錯了);第三次——停止並上報。說明為什麼不應當無限重試,以及哪些錯誤一次都不該重試(權限被拒、對象不存在、會產生重複副作用的操作)。 5. 過早結束的防範:要求智能體在宣稱完成前逐條對照完成標準,並給出證據(命令輸出、文件路徑);沒有做到的部分必須明說。 6. 停止時的彙報格式:做到了哪一步、已產生的改動與副作用、卡在哪裏及已嘗試的辦法、需要人決定什麼、從哪裏可以繼續。無人值守時這份彙報寫到哪裏。 7. 輸出一段可放進系統提示詞的規則文本,以及一份程序側的配置建議清單。 【約束】 - 數值建議要基於我提供的正常消耗推算,並寫出推算方式;我沒給數據的寫「需要先統計幾次正常運行」。 - 不假設我所用的框架支持某個具體參數名,只說要限制的量。 【輸出格式】完成標準改寫 → 軟約束與硬限制表 → 打轉識別規則 → 處理階梯 → 防過早結束 → 停止彙報模板 → 提示詞片段與配置清單。
高亮處換成你自己的內容:[任務類型與流程]、[失控現象]、[正常任務的消耗]、[值守與通知方式]、[可設定的限制]
ChatGPT Plus 充值
已被複製 0 次
使用說明
怎麼填變量:[失控現象] 盡量附上一小段實際記錄,例如「連續 9 次調用同一個安裝命令,每次都因為網絡超時失敗」。[正常任務的消耗] 沒統計過的話,先挑三次順利的運行數一下輪數和花費,硬限制要以這個為基準。[可設定的限制] 寫你所用框架或平台實際能配的項;提示詞裏的「最多 30 步」只是提醒,真正兜底的是程序裏的限制。
常見失敗與調整:
- 只在提示詞裏寫「不要死循環」。這句話沒有可執行的判斷標準,換成第 3 步那樣帶閾值的規則,並在程序裏加硬上限。
- 上限設得太緊,正常任務也被掐斷。按正常消耗的兩到三倍起步,再根據實際調整。
- 智能體到了上限就戛然而止,什麼也沒留下。把第 6 步的彙報要求寫進提示詞,並讓程序在強制終止前保留現場。
追問:「把打轉識別規則寫成偽代碼,方便我在調度程序裏實現」「我的任務有的要 5 步、有的要 200 步,預算怎麼按任務規模動態給」。
示例輸出
示例,僅供參考(虛構:自動修復持續集成失敗的編程智能體,正常任務約 25 輪)
| 限制 | 類型 | 建議值 | 理由 |
|---|---|---|---|
| 最大輪數 | 硬限制 | 60 | 約為正常值的 2.4 倍,留出排查空間 |
| 同一命令同一參數重複 | 硬限制 | 3 次 | 第 3 次仍失敗說明換參數才有意義 |
| 進度自查點 | 軟約束 | 第 20 輪 | 接近正常值時確認是否偏離 |
| 單任務超時 | 硬限制 | 需要先統計幾次正常運行的耗時 | 未提供數據 |
提示詞片段(節選):同一個錯誤出現第二次時,不要再用相同的做法重試;先寫出你認為失敗的原因以及這次打算改變什麼。出現第三次時停止,並按下面的格式彙報。遇到權限被拒絕或目標不存在的錯誤,不要重試,直接彙報。
停止彙報(節選):已完成依賴升級與 2 處類型修復;卡在集成測試超時,已嘗試延長超時與單獨運行均失敗;需要人確認測試環境的數據庫是否可用;從 fix/ci 分支可以繼續。
同款作品
用這條提示詞做出來的作品;原作者會因此獲得積分
還沒有同款,來做第一個。


0 條評論
還沒有評論,來搶沙發~