今天沒選題了,所以想開源一個(gè)我自己做的,已經(jīng)用了快1個(gè)多月,迭代了好多版的一個(gè)我覺得很有用的Skill。
我把它稱為,潔癖.Skill。
![]()
名字可能聽著還挺呆逼的,但是我覺得它能干的事,雖然看著非常的簡(jiǎn)單,但是卻又很實(shí)用,在公司內(nèi)部同事和一些我們的合作伙伴使用后,還都反饋挺不錯(cuò)的。
做的事大概就是,每次你在Agent里,做完一個(gè)功能或者又解決了一個(gè)BUG,就調(diào)用這個(gè)潔癖Skill,然后說一聲幫我全面審查一下或者直接就/Neat一下,它就會(huì)自動(dòng)審查你整個(gè)項(xiàng)目的文檔體系和記憶文件,然后根據(jù)這次對(duì)話,把該改的文檔、記憶、CLAUMD.md進(jìn)行迭代,確保非常干凈之后,最后,再給你一份變更摘要,讓你知道改了啥東西。
![]()
![]()
四個(gè)平臺(tái)通用,Claude Code、Codex、OpenCode、OpenClaw都能裝。
大概就是這么個(gè)東西。
相信我,這玩意會(huì)讓你的Agent越來越聰明,也非常符合潔癖的定義。
![]()
它就是我自己現(xiàn)在每天用得最多的技能,沒有之一。
每次一個(gè)任務(wù)做完,要退出這個(gè)窗口的時(shí)候,如果不跑一遍/neat,我就渾身難受,如坐針氈如芒刺背如鯁在喉。
如果你看過我之前寫的那篇,你大概能理解這種感覺。
做這個(gè)Skill的契機(jī),其實(shí)特別簡(jiǎn)單。
大家現(xiàn)在也都知道,在很多時(shí)候,你的Agent之所以越用越笨,其實(shí)是因?yàn)椋愕纳舷挛倪^于混亂。
上下文不止是你跟你的Agent在單次對(duì)話中的聊天記錄,也包括你這個(gè)項(xiàng)目里面的,各種文檔,還有約束,還有記憶。
![]()
但是其實(shí)很多的小伙伴,在用Agent的時(shí)候,比如CC和Codex去做一個(gè)項(xiàng)目,初期的文檔規(guī)范倒是規(guī)劃的挺好,但是每次迭代,每次更新,其實(shí)你會(huì)發(fā)現(xiàn),這些文檔和記憶,都是疏于維護(hù),你可能代碼都迭代了7、8輪了,新功能都上了無數(shù)了,但是你的文檔,還是最開始的1.0.0版本的初始文檔。
其實(shí)不止Agent,很多公司內(nèi)部項(xiàng)目的文檔也都這樣,前期雄心壯志,文檔規(guī)范賊清晰,過兩個(gè)月之后,規(guī)范?文檔?你在說什么,我聽不懂。
我自己的項(xiàng)目里其實(shí)就出過這種事,就比如我做的AIHOT AI熱點(diǎn)監(jiān)控系統(tǒng)(PS:這個(gè)我最近會(huì)再打磨打磨降降成本,然后會(huì)免費(fèi)向所有人開放,到時(shí)候也會(huì)發(fā)文章介紹,希望對(duì)大家有用。)
現(xiàn)在里面各種功能其實(shí)已經(jīng)膨脹的比較狠了。
![]()
光精選策略相關(guān)的功能就有亂七八糟的5、6個(gè),一個(gè)信息抓到系統(tǒng)里,會(huì)需要十幾個(gè)步驟進(jìn)行數(shù)據(jù)清洗、加工、好幾層評(píng)估等等,然后才會(huì)落庫(kù)。
現(xiàn)在每天處理的量級(jí),在我嚴(yán)格挑選和管控信源的前提下,還是會(huì)有500多條信源產(chǎn)出的數(shù)據(jù)。
![]()
然后我當(dāng)時(shí)剛開始做的時(shí)候,其實(shí)想把整個(gè)項(xiàng)目后續(xù)封裝成CLI,允許所有人的Agent都可以來瀏覽這上面的數(shù)據(jù),能讓大家用起來更方便,所以呢,我就把數(shù)據(jù)庫(kù)從SQLite換成了PostgreSQL。
但是這個(gè)切換其實(shí)工作量還是有點(diǎn)大的,當(dāng)時(shí)用的還是Opus 4.6,時(shí)間一長(zhǎng)的,真的就是顧頭不顧尾,然后,搞完以后,文檔啥的我忘記改了。
結(jié)果后來我繼續(xù)開發(fā)新功能的時(shí)候,Claude還在調(diào)用SQLite的語(yǔ)法,我當(dāng)時(shí)還以為是模型啥的原因,搞了半天,發(fā)現(xiàn)是文檔沒改,包括我的CLAUDE.md里面,還赫然寫著大概項(xiàng)目使用SQLite數(shù)據(jù)庫(kù)這個(gè)意思。
當(dāng)時(shí)搞得還挺惡心的。
這種只是一個(gè)小摩擦,當(dāng)你如果經(jīng)歷多了之后,你會(huì)發(fā)現(xiàn),Agent很多時(shí)候犯的大多數(shù)莫名其妙的錯(cuò)誤,根源其實(shí)都不是模型笨,是文檔和記憶已經(jīng)都腦腐了,都出現(xiàn)明顯的混亂了。
很多朋友可能會(huì)說,這不是專業(yè)開發(fā)者才需要關(guān)心的事嗎?
但是我想說,恰恰相反,很多我的專業(yè)開發(fā)者朋友都有自己的一套工程化習(xí)慣,git commit message寫得規(guī)規(guī)矩矩,README隨手就更新。
真正被這個(gè)問題折磨最深的,反而是我們這些借助Agent來vibe coding的人,比如設(shè)計(jì)師、產(chǎn)品經(jīng)理、內(nèi)容創(chuàng)作者,當(dāng)然也包括我自己。
vibe coding前期特別爽,跟AI聊兩句代碼就出來了,功能也就跑起來了。但項(xiàng)目一旦做大,文檔就不可避免地開始混亂,而且很多人也完全沒有維護(hù)的概念,到最后就越來越混亂,你就會(huì)感覺到,我靠我的Agent怎么越來越笨。
而這個(gè)維護(hù),就是今天這個(gè)潔癖.skill,它要做的事情。
之前Claude Code有一個(gè)功能叫AutoDream,也就是做夢(mèng),我也寫過文章:,我當(dāng)時(shí)挺興奮的,因?yàn)檫@玩意感覺就是我想要的東西?
但實(shí)際用了以后我發(fā)現(xiàn)一個(gè)很致命的問題。
AutoDream只動(dòng)記憶,不動(dòng)項(xiàng)目文檔,這就尷尬的一比了。
![]()
如果你用Agent開發(fā)過任何東西,你就知道,一個(gè)項(xiàng)目里的知識(shí)其實(shí)分三層,每一層服務(wù)的人不太一樣。
第一層是Agent自己的記憶系統(tǒng),過去的聊天記錄、項(xiàng)目的隱性知識(shí)。
第二層是項(xiàng)目根目錄的CLAUDE.md,給AI自己看的,項(xiàng)目約定、結(jié)構(gòu)、紅線、路由清單等等。
第三層是docs/目錄和README,給其他人看的,比如Agent、同事、下游開發(fā)者等等,比如接入指南、架構(gòu)說明、運(yùn)維手冊(cè)等等。
這三層受眾不同,職責(zé)不重疊。
比如CLAUDE.md里寫新增了五個(gè)路由不等于docs/integration-guide.md里寫下游怎么接這五個(gè)路由。
前者是提醒自己,后者是教別人,兩份作用是完全不同的,都得寫。
AutoDream的問題就在于,它只管了第一層,記憶文件確實(shí)變干凈了,但是另外兩個(gè),它確實(shí)是不管,所以也就導(dǎo)致,我用下來,確實(shí)作用不大。
所以,這才有了我的潔癖.skill。
目前老規(guī)矩,已經(jīng)在我自己的Skills倉(cāng)庫(kù)里面開源,所有人都可以隨意使用:
https://github.com/KKKKhazix/khazix-skills
![]()
里面最核心的原則,其實(shí)就是合并優(yōu)于追加,刪除優(yōu)于保留。
這個(gè)跟大多數(shù)人的直覺是反的,因?yàn)楹芏鄷r(shí)候,大家會(huì)覺得,信息多總比信息少好吧?萬一以后用得上呢?
但其實(shí)在AI協(xié)作的場(chǎng)景里,信息多不是優(yōu)勢(shì),信息準(zhǔn)才是,坦率的講,一條過期的記憶,比沒有記憶更糟糕,因?yàn)闆]有記憶的時(shí)候,AI至少知道自己不知道,它會(huì)問你。
但如果它讀到了一條過期的信息,它會(huì)以為那是對(duì)的,然后基于錯(cuò)誤的前提做事。
OpenClaw越用越笨,就是它的記憶系統(tǒng)實(shí)在是過于臃腫了。
而當(dāng)你安裝了潔癖.skill,每次跑潔癖.skill的時(shí)候,它會(huì)按順序做五件事。
第一步,就是先強(qiáng)制機(jī)械式盤點(diǎn)。把項(xiàng)目里所有的md文件全列出來,每一個(gè)都讀一遍,都不要漏掉,因?yàn)橹坝龅竭^好幾次,你看著是給你改了,結(jié)果哎就給你漏了那么一個(gè)文檔,關(guān)鍵還是賊關(guān)鍵的。
第二步,用我的變更影響矩陣文檔去識(shí)別一下需要改什么。不只看對(duì)話里有什么新事實(shí),也要去看新事實(shí)會(huì)波及哪些文檔層級(jí)。
![]()
然后這一步還有一個(gè)關(guān)鍵檢查,這次對(duì)話是不是跨項(xiàng)目的?如果改了項(xiàng)目A而項(xiàng)目B依賴它,那項(xiàng)目B的docs也得跟著改,這個(gè)其實(shí)是歷次同步最常翻的車。
第三步,直接改,這里有一個(gè)順序步驟,先改docs/,再改CLAUDE.md,最后整理記憶。
第四步,自檢清單,基本是我的skill里面的老演員了,必然都會(huì)有自檢清單,就比如新增的環(huán)境變量,在runbook和CLAUDE.md都出現(xiàn)了嗎?有沒有相對(duì)時(shí)間遺留等等之類的東西,確認(rèn)一遍。
第五步,輸出一份變更摘要,就是這樣的東西。
![]()
這五步看著麻煩,其實(shí)就是skill自己的過程,你根本不用管,你要做的,就是運(yùn)行一下這個(gè)skill。
最簡(jiǎn)單的方式,就是直接輸入:/neat。
就可以了。
![]()
或者你說中文“審查一下”、“整理一下”啥的都行。
我自己一般在所有任務(wù)的收尾,都必定會(huì)運(yùn)行一下/neat。
我把潔癖.skill一般當(dāng)類似于游戲的存檔機(jī)制用,這次要結(jié)束了,要存檔了,就運(yùn)行一下/neat,然后,下次打開一個(gè)新的會(huì)話,還可以接著來。
說實(shí)話,潔癖這個(gè)東西看起來只是在整理文檔,但它真正解決的問題我覺得比整理文檔有用的多。
它會(huì)讓你的知識(shí)體系從依賴對(duì)話上下文變成了依賴持久化文檔,也就是說,對(duì)話可以隨時(shí)關(guān),但文檔,永遠(yuǎn)在。
因?yàn)樯舷挛母瘮栴},所以其實(shí)大家都懂,一個(gè)對(duì)話里,信息越多模型能力越差,然后再Claude里,雖然Opus 4.7說有1M上下文,但是我測(cè)試的時(shí)候,經(jīng)常到了500K左右就有點(diǎn)不對(duì)勁了,所以我現(xiàn)在幾乎是選擇在400K左右進(jìn)行一次整理并存檔,然后新開窗口了。
![]()
新開窗口以后,因?yàn)槲臋n和記憶管理的足夠好,所以你幾乎不需要給任何提示,有任何問題直接說就行,Agent都能非常精準(zhǔn)的給你解決,解決完了你繼續(xù)/neat進(jìn)行存檔,你會(huì)發(fā)現(xiàn),真的就是,越用越聰明。
這個(gè)skill最近讓公司同事和幾個(gè)合作企業(yè)的朋友試了一下,大家居然意外的說挺好用的。
所以,這次也開源出來,希望對(duì)大家,也都有用。
我們?cè)谏钪校?jīng)常需要斷舍離一下。
那我覺得,放在AI時(shí)代,也依然有用。
過期的就刪,重復(fù)的就合,模糊的就改。
讓你的知識(shí)庫(kù),永遠(yuǎn)只保留此刻最準(zhǔn)確的真相。
這大概是AI時(shí)代。
我覺得比學(xué)會(huì)寫Prompt更重要的一件小事。
以上,既然看到這里了,如果覺得不錯(cuò),隨手點(diǎn)個(gè)贊、在看、轉(zhuǎn)發(fā)三連吧,如果想第一時(shí)間收到推送,也可以給我個(gè)星標(biāo)?~謝謝你看我的文章,我們,下次再見。
>/ 作者:卡茲克
>/ 投稿或爆料,請(qǐng)聯(lián)系郵箱:wzglyay@virxact.com
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
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.