CLI 裡加規範檢查,比靠 prompt 調參更能穩定 agent 輸出
在 agent 架構裡,比起在 prompt 裡堆砌規則,在 CLI 執行層加入自動驗證和子代理分工,更能穩定輸出質量,尤其在成本優化的場景。
問題在結構,不在模型
我看過很多人在 prompt 裡堆砌各種指令,試圖讓 LLM agent 更「守規矩」。什麼「你必須用 JSON 格式」、「每次回應不超過 200 字」、「一定要先驗證再執行」。結果呢?模型還是會偶爾出軌,尤其在高壓縮、快速推理的場景。
根本原因是:你在用自然語言去約束一個機率模型。那就像用口頭約定去約束一個沒有 type system 的程式——理論上可以,實際上靠不住。
把驗證邏輯搬到執行層
更可靠的方法是在 CLI 層加入自動規範檢查。這不是新概念,但在 agent 架構裡才真正有價值。
具體做法:
- 輸出檢查 — agent 生成的每個回應,先經過 schema validator。不符合就直接拒絕,讓 agent 重新生成,而不是猜測它的意圖。
- 子代理分工 — 不是一個 agent 做所有事,而是把不同職責拆成小 agent。比如一個負責解析輸入、一個負責決策、一個負責格式化輸出。每個 agent 的約束條件更明確,出錯機率更低。
- 中間狀態持久化 — 每個檢查點存下來,這樣如果某一步失敗,可以直接從那裡重試,不用全部重來。
為什麼這樣做能降低「壓縮噪音」
LLM 在快速推理、低溫度設定下,容易因為 token 預算緊張或上下文長度限制而輸出不規範的結果。這不是模型爛,是約束條件變了。
把規範檢查從 prompt 層移到程式層,等於是:
- 你不再依賴模型自己理解並遵守規則
- 你明確定義了「合法的輸出」是什麼,用 code 去驗證
- 失敗時有明確的重試策略,而不是祈禱下一次會好一點
結果就是回應更一致,特別是在成本敏感的場景(比如需要快速推理、token 用量要控制)。
實踐上的一個細節
子代理的分工要仔細設計。不是分得越細越好,而是要讓每個 agent 的職責邊界清楚。一個 agent 如果要同時做「理解」、「決策」、「驗證」三件事,反而容易亂。
我的經驗是:先用一個 agent 試,遇到某一類錯誤反覆出現,再考慮把那部分拆出去。不要一開始就設計成五層 agent。
這也是為什麼 CLI 層的檢查重要——它是最後一道防線。即使 agent 邏輯再複雜,到了執行層,你還有機會說「不,這不符合規範」。
我是江中喬,一位具有 TPM 與產品管理背景的 AI 系統建構者,目前專注於 AI 認知增強系統與多 Agent 協作架構的設計與實踐。
原始來源:https://www.threads.com/@partner_by_closure/post/DVroIvpkyEm