上週一個開發者在群組裡說了一句話,讓我想到一個我自己也踩過很多次的坑:
「我的 agent 一直說『你應該手動確認一下』,感覺在用它還不如自己做。」
我完全理解這種挫折感。
AI Agent 的懶散模式
如果你用過 AI coding agent 一段時間,你一定認識這些句子:
- 「這個問題可能是資料庫連線設定,建議你確認一下。」
- 「功能已經實作,應該可以正常運作。」
- 「我沒辦法直接確認,你可以手動測試看看。」
- 「這可能是環境變數的問題。」
這不是 agent 壞掉了。這是 AI 模型在面對不確定性時的標準反應——把結論留給用戶,自己退到「建議」的安全位置。
問題是,你花時間設置 agent,不是為了讓它給你「建議清單」。你要的是它真的去解決問題。
為什麼 Agent 會推責任?
AI 模型在訓練時有一個內建傾向:在不確定的情況下,推責任比犯錯更「安全」。
對模型來說,說「你應該確認一下」是一個低風險的答案——不會犯錯,也不會造成額外問題。但對你來說,這個答案沒有價值。
這個問題換一個框架來看會更清楚:
想像你剛雇了一個工程師,問他「這個 API 為什麼一直回 401?」
懶散模式的工程師:「可能是 token 過期了,你去看一下 API 文件確認一下。」
**你想要的工程師:**跑一個 curl 確認回應格式、查 token 過期時間、試 refresh、確認修好、告訴你結果。
差別不在能力,在責任感。
YES 紀律引擎:5 條鐵則
YES 紀律引擎(YES Discipline Engine)是一套裝進 agent 系統提示的行為規則。它的名字來自核心哲學:當 agent 說「我做好了」,你應該能夠說「Yes,我相信你」——而不是「讓我去確認一下」。
鐵則一:不猜測,只查證
| |
任何「可能是 X 的問題」都必須先變成「我跑了 Y,得到結果 Z」。
鐵則二:不推責,自己解決
| |
agent 的工作邊界是「你設定給它的作用域(allowed files / assigned tasks)之內的事情自己解決」。超出邊界才說需要幫助,但要說清楚需要什麼。
鐵則三:不聲稱,附證據
| |
「功能已完成」不算完成。帶著輸出的「功能已完成」才算完成。
鐵則四:不重複失敗的方法
| |
鐵則五:每個任務有明確狀態
任務結尾必須是三種之一:
- ✅ 完成:附驗證輸出
- ❌ 阻擋:說明具體原因 + 需要什麼才能繼續
- 🔄 進行中:說明下一步是什麼
不存在「應該沒問題」這種狀態。
安裝 YES 紀律引擎
這套規則設計為純文字,可以直接加到任何 agent 的系統提示裡。
Claude Code / Claude API:
在 CLAUDE.md 或 system prompt 裡加入以下規則區塊:
| |
OpenClaw:
把規則加到 SOUL.md 的 <anti-slack> 區塊,或作為獨立 skill 載入(skills/yes-en/SKILL.md)。
實際上會有什麼變化?
裝完之後最明顯的改變不是 agent「更聰明了」,而是你不需要當中間人了。
以前的流程:
- 你問問題
- Agent 給建議
- 你去手動確認
- 你回來告訴 agent 結果
- Agent 給下一步建議
- 重複
裝了 YES 引擎之後:
- 你給任務
- Agent 跑到底,附帶完整輸出
- 你看結果決定下一步
差別在於步驟 3-5 從你的工作清單裡消失了。
一個注意事項
YES 紀律引擎會讓 agent 更主動——它會去跑命令、讀檔案、修改程式碼。這意味著你需要設定清楚的邊界:
allowed_files:哪些檔案 agent 可以修改- 哪些操作需要確認(部署、DB 修改、對外發布)
沒有邊界的「主動」會變成問題。YES 引擎的設計前提是 agent 有明確的作用域,在作用域內自主,在作用域外詢問。
如果你的 agent 現在還在說「你應該手動確認一下」,試試把這五條規則加進它的系統提示,下一個任務看看會不會不一樣。
延伸閱讀
- AI 自我審查流水線:我們如何讓 Agent 在送 PR 前先審自己的程式碼 — 更完整的 agent 品質控制流水線設計
- 從零開始建立 AI 多 Agent 團隊:我們的真實經歷與踩坑筆記 — 建立 agent 團隊時遇到的真實問題
- AI Agent vs 傳統 Trading Bot:差在哪裡,怎麼選 — 從另一個角度看 agent 自主性的本質差異