今天這篇文章,來分享一下我自己最近幾個月高強度使用Agent之后,我自己總結出來的怎么給Agent設定規則,如何讓它Agent更好的工作更聰明的一個非常重要的心得。
就四個字。
約束先行。
就是在你讓Agent干任何事情之前,先把規范定好,全局的規矩,項目的規矩,文件夾的規矩。
規矩從上往下穿透,一層套一層,沒有規矩的地方,不動手。
就這么簡單的一個道理,我真的用了好幾個月才真正想明白,然后完整的落地,你可以說我很菜,花了這么久的時間,但是我覺得,我踩過了坑,我還是想把這個經驗分享出來。
我為什么覺得這四個字比一切Prompt技巧都重要?得從昨天我的發生的一個很小的小事說起。
事情是這樣的。
我這個人有一個毛病,就是完美主義強迫癥。
一個東西如果不是井井有條的,我就渾身難受。
這可能跟我是處女座,也是交互設計師,同時還是重度模擬經營玩家有關。
《城市天際線》里路網沒規劃好我能推倒重來三次,《動物園之星》里動物園分區不合理我能糾結一下午,《雙點醫院》里如果有一個科室的動線設計得不順,哪怕醫院已經盈利了,我也會拆了重來。
我到現在還是記得我打《戴森球計劃》的時候那沒日沒夜的規劃生產線的日子。
我朋友經常說,我就是那種,對秩序有一種近乎偏執的追求。
雖然我很喜歡kk寫的那本《失控》,我也贊同混亂中涌現一些智慧,但秩序和規范,可能就是我種在骨子里的東西。
所以昨天下午,當我無意中,發現我的一個Claude Code的工作文件夾里面越來越亂的時候,我是真的坐不住了。
我前幾天新建了一個給Claude Code用的專門用來開發Skills的文件夾,結果我昨天打開一看,根目錄散了十幾個東西。打包文件跟源碼混在一起,測試圖片隨便丟,評估報告的HTML文件找不到歸屬。
最離譜的是命名,test_batch是哪個Skill的測試?test_v2又是誰的v2?我自己做的東西,放了兩天我自己都看不出來。
![]()
我當時就有點應激了,真的,一時間無語凝噎,只能含淚打開Claude Code讓它去給我規整了,然后直接給我定一個規范。
沒過一會,他弄完了。
![]()
然后寫了一個這個項目級別的CLAUDE.md文檔,你可以把這個文檔,理解為這就是Claude Code進入到這個文件夾以后,第一個必須要讀且要遵守的東西,就是它以后的行為準則。
![]()
規范還是挺全面的。
![]()
有了這個CLAUDE.md文件以后,我的這個工作區,就可以不斷的進行各種各樣的Skills開發和實驗了,每個新的Skills,都會自動給我新建一個文件夾,一些實驗性的東西會放在_sandbox里,里面的東西超過一個月就會刪除。
再也不會再混亂的要死,而是按照文件目錄,管理的僅僅有條。
就這個非常非常小的事情,讓我好好反思了一下。
就是,為什么我的Claude Code進到一個新文件夾、或者開一個新項目的時候,自己不會給自己定這個規范呢?一定要我給他定呢?一定要亂七八糟以后我發現了才能去知道收拾那個爛攤子呢?
原因也特別簡單,我給Claude Code的頂層約束沒有做好。
也就是在最最頂層,無論是打開什么文件都會加載的全局CLAUDE.md文檔里面,我并沒有定好這一層約束。
![]()
我自己腦子里過去在開發各種各樣的項目的時候一直都有這個意識,一般我都會在每個項目里,讓它先強制寫好文檔再進行開發。
但是還有很多是知識管理類的工作,不是開發,比如畫圖、比如創造skills、比如做研究報告等等,而這些工作,并沒有開發類型的管理意識,所以一般都不會留下規范文檔,而我自己也沒發現。
而對于AI來說,你腦子里知道的東西,如果沒有寫進文檔,就是不存在的。
Agent的短期記憶會丟失,對話框一關全忘了,下次打開,它唯一能看到的就是你留下來的文檔和記憶文件。
你的文檔里寫了什么,是不是足夠清晰,直接決定了Agent每一次醒來的時候,是清醒的還是懵的。
OpenClaw很多時候越用越蠢,其實就是他的規范和記憶體系真的就是純種屎山,這點Hermes agent比它要做的好的多。
所以這也就是我今天想聊的核心,用好Agent的真正核心,其實我真的覺得,就是這一整套約束從上往下穿透的體系。
這里解釋一下Claude Code的規則體系,其實包括Codex之類的很多Agent都是這樣。
是一層一層疊下來的。
![]()
最頂層,是全局CLAUDE.md。放在用戶目錄下面,無論你打開什么項目都會加載。這是最高指令和原則,你是誰、你做事的原則、你希望AI用什么方式跟你協作。
第二層,是項目級CLAUDE.md。進入到某個項目文件夾才加載。這是這個項目的憲法,目錄結構怎么組織、命名規范是什么、什么文件放哪里。
第三層,是項目里的各種規范文檔、設計文檔、架構說明。
最底層,是記憶文件。比如Auto Memory啥的,還有對話記錄,Claude自己給自己做的筆記。
約束從上往下穿透,一層管一層,一層約束一層。
跟治理公司是一樣的,制度在最上面,部門規范在中間,具體操作流程在最下面,你不可能靠CEO每天挨個盯著員工干活,你靠的是制度穿透下去。
這就是「約束先行」的完整含義。
而如何設計這套體系,特別是頂層的制度規范,真的不是一個簡單活,開過公司的人相信都能明白我在說啥,那真的是血和淚的教訓。
而全局CLAUDE.md,對應的就是這個最高制度。
我的全局CLAUDE.md,其實已經迭代了好多個版本了。
去年最早的時候我也不懂,抄了很多開發大神的所謂的開發規則,然后又不斷地往里面迭代經驗,搞得后面特別臃腫。后來慢慢意識到適合自己的才是最好的,以及很多經驗就不該在這一層,又開始一輪一輪地瘦身。
在今天補了規則之后,現在我的全局CLAUDE.md文檔長這樣,這里我也完整的給大家展示出來。
- 部署走項目自己的命令(查項目 CLAUDE.md),不依賴 git push你會發現,這里面的每一條,其實現在我覺得最好的基于某種形式的約束。
比如第一性原理,是對思考方式的約束,不要因為慣例就照搬,要回到問題本身。
比如反諂媚,是對溝通方式的約束,不要拍馬屁,給真實判斷。
比如,交互設計原則。我是用戶體驗出身,所以我對從我手上出去的東西有一個執念,后端可以很復雜,但用戶碰到的每一層必須絲滑。這不只是GUI的事,CLI也是交互,Skill也是交互,對話式AI也是交互。
現在這個年代,大家都在vibe coding,但我發現越來越多的人開始不重視用戶體驗了,很多產品都是能跑起來就行,管你用著爽不爽。
這個我是真的覺得不行。
所以我在全局規范里寫了五條我總結的交互設計核心原則。寫進去之后Claude做出來的東西確實不一樣了。
![]()
而約束先行這條,它就兩段話,但它解決的也是一個根問題。
已有規范的項目,嚴格遵守其 CLAUDE.md 中的約定。需要調整規范時先改文檔、再改實踐,不要反過來。以前Agent進到一個新項目,因為特性,所以第一反應總是立刻開始干活。
現在,你定好了約束之后,它的第一反應是先看看有沒有規范,沒有的話先建規范。
后面那句需要調整規范時先改文檔、再改實踐不要反過來也很重要。
規則不是死的,但改規則也要走規則的路。
不然Agent為了趕進度繞過約定,事后你想補文檔真的都不知道從哪補起。
寫到這,我真的忽然覺得,引導Agent,真的,跟我現在管理公司的時候,真的好像沒什么兩樣。
公司你也要部門、要制度、要SOP、要協同,要規矩,要一切,不一個樣嗎。
而且不只是開公司,很多真正玩模擬經營的人都知道一個道理。
游戲前期最重要的不是趕緊建建建,而是先把路網規劃好。
路網一旦規劃歪了,后面再怎么優化你都沒招,只能一切全部鏟了重來,我經歷過無數血和淚的教訓。
你的CLAUDE.md就是你的路網。
全局CLAUDE.md是城市主干道,項目CLAUDE.md是片區支路,主干道規劃好了,支路自然就順了。
你花一個小時把它寫好,你相信我,后面能省無數個小時的返工。
今天分享的這些東西,你要說這算Harness Engineering,那也行,因為Harness本身就是約束。
你要說這不算,就是一些基本的項目管理常識,那也沒錯。
反正我覺得,名字不重要,最重要的,就是你有沒有找到一套讓自己跟Agent協作起來舒服的方式。
我有時候覺得吧,我這輩子做的事情其實都是同一件事。
做交互設計的時候,是在給用戶行為建約束。
玩模擬經營的時候,是在給虛擬城市建約束。
開公司了,是在給業務和人建約束。
現在跟Agent協作,還是在建約束。
對象變了,方法卻是一樣的。
先想清楚你要什么,定好規則,然后在規則框架里做出最優解。
這就是最棒的方法。
以上,既然看到這里了,如果覺得不錯,隨手點個贊、在看、轉發三連吧,如果想第一時間收到推送,也可以給我個星標?~謝謝你看我的文章,我們,下次再見。
>/ 作者:卡茲克
>/ 投稿或爆料,請聯系郵箱:wzglyay@virxact.com
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.