任務規劃:先出計畫再執行,值得嗎
讓 Agent 先寫出計畫再動手,在長任務上有效,在短任務上是浪費。這篇給判斷界線。
規劃式 Agent 的做法是:先產生一份步驟清單,再逐步執行並在偏離時重新規劃。它解決的是「走一步看一步導致方向錯誤」的問題。
什麼時候值得規劃
- 步驟超過五步,且步驟之間有依賴。
- 中途換方向的代價高(例如已經寫了大量檔案)。
- 需要讓使用者事先核可整體方向。
計畫要能被程式檢查
{
"plan": [
{"id": 1, "action": "讀取來源 CSV 並確認欄位", "tool": "read_file", "depends_on": []},
{"id": 2, "action": "清洗缺失值", "tool": "run_python", "depends_on": [1]},
{"id": 3, "action": "輸出報表", "tool": "write_file", "depends_on": [2]}
]
}結構化的計畫可以驗證:工具名稱是否存在、依賴是否成環、步數是否超標。自然語言的計畫做不到這些檢查。
重新規劃的觸發條件
- 某一步連續失敗兩次。
- 工具回傳的事實與計畫假設矛盾(例如檔案不存在)。
- 使用者中途補充了新需求。
常見的失敗
最典型的失敗是「計畫做得很漂亮但完全不可執行」——因為模型在規劃時並不知道工具的實際限制。解法是在規劃階段就把工具清單與其限制放進提示,並要求每一步指定所用工具。
不要讓重新規劃無限進行。設定重規劃次數上限,超過就中止並回報,否則會出現「規劃—失敗—重規劃」的無窮迴圈。