克勞德總是犯錯? 這12條規定使錯誤率降至3%

2026/05/15 23:16
🌐zh-Hant

從41%到3% 卡爾帕西的四項規則還不夠

克勞德總是犯錯? 這12條規定使錯誤率降至3%
原片名:Karopathy的4 CLAUDE.md規定把克勞德電影由41%剪到11%
原文:@Mnilax
照片來自Peggy Block Beats

編輯按:2026年1月, Andrej Karpath在克勞德寫作代碼上的槽, Forrest Chang於是將這些議題整理成四項行為規則, 試圖限制克勞德在編碼時通常會犯的錯誤:沉默假設、過度工程、對無關密碼的傷害。

幾個月后 克勞德代碼不再只是 "讓模型寫一個代碼" 随着多步代理、霍克鏈觸發器、技能加載和多碼库合作的正常化, 新的失敗模式開始出現: 模式在長期任務中失控, 測試通過時沒有真實的邏輯, 移動只是因錯誤而悄悄地進行, 不同的碼樣式被混亂了 。

這篇論文的作者在六周內試驗了30個編碼庫, 並在Karopathy最初的四項規則中增加了八項新規則。

原文如下:

2026年1月下旬,Andrej Karpath發出推特串,吐槽克勞德寫密碼的方式. 他提到三個典型的問題:缺乏解釋的假設, 過度複雜。

Forrest Chang看到這個推特串, 將訴求整理成四項行為規則, 在計畫的第一天, 5,828星被收购, 在兩周內收集了6萬次, 今天有12萬星。

6周后,我在30個密碼庫 試驗過。

此規則確實有效。 过去,有40%的錯誤概率下降到不足符合這些規則的3%。 但問題是這個樣本最初是想在1月克勞德寫下密碼時解決一個錯誤。

至2026年5月, Claude Code 面临的生态問題不同:代理商、虎克連鎖扳機、技術加載衝突、多步工作流程的中断。

所以我又增加了八條規矩 CLUDE.md:為什麼每個規則都值得加入。

如果您要跳過解釋, 請直接复制, 並且將完整檔案留在文字尾端 。

為什麼這很重要

Claude Code的CLUDE.md是AI編程科技金庫中最低估的文件. 大多數發展者通常會犯三种錯誤:

首先,把它當做垃圾桶, 把你所有的習慣都塞進去, 然后擴展到4000多個符號, 然后把遵守率降低到30%。

第二,你不必做它。 這將造成5倍於符號的浪費。

第三,复制模板后,不再重要. 它可能會工作兩周 但隨著編碼庫的變化 它會在沒有你知情的情况下失敗。

CLAUDE. 克勞德有八成時間跟隨它 重要規則被噪音淹沒。

Karpathy樣本解決了問題:一份文件,65行,4條規則。 這是最低基准。

但天花板可能更高。 在加入以下八項規則後, 它不僅涵盖卡納森在2026年1月抱怨的密碼寫作問題, 也涵盖2026年5月才出現的代理組織問題。

原文4

如果你沒看到福瑞斯特·張的倉庫 看看這個基本版本:

規則一:在編碼前想清楚。

不要做假設 為了說明你的假設, 揭露取舍。 猜測前的問題 如果存在更簡單的選項。

第2條:簡單优先。
使用解決問題的最小碼 。 不要加入想像中的函數 。 不要為一次性代碼設計抽象層 。 如果一位高级工程師認為它太複雜了,那就該簡化了。

3: 外科修改。
只有那些需要改變的 不要「优化」相邻的代碼、音符或格式。 不要重製那些沒壞的東西 跟上目前的樣式 。

注。
定義成功的标准, 然后依次循环到驗證完成 。 別告訴Claude該怎麼做 告訴他成功應該是什麼樣子 做個迭代。

我在無監控的克勞德密碼對話中看到的這四條規則 是失敗模式的40% 剩下的60%的問題藏在下面的空白區域。

我的新八項規矩,為什麼

每一條規則都來自一個真實的時刻:卡爾帕西的最初四條規則已經不夠了. 我先從場景開始 然後給你相应的規矩。

第5條:不要讓模特做非語言工作

克勞德可以用於處理:分類,起草,摘要,從不結構的文本中提取信息. 不要使用 Claude 處理: 路由、 重試、 狀態碼處理、 确定性轉換 。 如果狀態代碼已回答問題, 讓正常代碼回答問題 。

Karpath的規矩不包含這一點。 模式開始決定一些應用定義碼解決的問題:是否再試一次API呼叫, 因此,判决因周而异。 你得到的是一個波动性,如果... ..。

這時此刻, 有一個密碼叫克勞德「在遇到503時, 因為模特兒開始用請求的身體為背景, 重試策略會變成隨機的, 因為即時器本身是隨機的 。

規定6:設立硬幣預算

每個任務的預算是4000令牌 單會議預算 : 30,000 令牌 。 如果任务授权接近预算上限,则概述目前的情况,然后重新开始。 不要推下去。 比起超支。

CLADE.md,不受預算限制,相当于空白支票. 每一個周期都可能失控 被扔在5萬個符號的環境中 模特兒不會停手的。

即時:一次除錯會議持续了90分鐘。 模式已重新追蹤同樣8KB的錯誤訊息, 最後,它開始產生40個想法,我以前拒絕過。 如果有象征性的預算 12 分鐘內就會結束。

第7款: 可能发生冲突,而不是

如果兩種模式互相矛盾, 請不要混合 。 選擇其中一個模型, 优先使用更新或更多已測試的模型, 為模型提供理由, 並標示之後對另一個模型的清理 。 "平均密碼" 試圖立刻遵守兩套規則 是最糟糕的。

當編碼的兩部分有衝突時 克勞德會試圖取悅兩方 結果是編碼不连贯。

這時一個代碼庫裡有兩個錯誤處理模式, 克勞德寫了一套新的密碼 兩套都用了 因此,有兩次出錯。 我花了30分鐘才知道為什麼錯誤被吞了兩次。

第8條,先讀,再寫

讀取文件的匯出內容、 直接呼叫器、 任何明顯相關的共享工具函數後, 才能新增到文件 。 如果你不明白 現有的編碼為什麼如此排列, 請先問, 不要直接加入 。 "對我來說似乎無關緊要" 是密碼庫裡最危險的句子。

Karpath的"手術變化"告訴Claude不要改變相邻的密碼 但沒有告訴克勞德 先了解相邻的密碼 沒有這個 克勞德會寫出與30行之外 现存的代碼相矛盾的新代碼。

克勞德在已有的函數中新增了一個相同的函數, 因為它沒有先讀到原函數 。 兩種功能都一樣 但因為報告的順序, 新的功能涵盖舊的功能。

規則9 測試不是選擇 但測試本身不是目的

每個測試必須被編碼為"為什麼這個行為很重要" 而不是"它做什麼" 如果函數實際收到硬碼的ID, 類似“ GetUser”. tobe( “ John ”) 的測試就毫無價值 。 如果無法寫入在商業邏輯變更時會失敗的測試, 函數本身就錯了 。

Karpath的"面向目標的處決"表示測試可以成為成功的標準. 但實際上 克勞德用"測試通過"這個詞作為他唯一的目標 所以她寫了些密碼 可以通過地下測試 但那樣會毀掉其他一切。

克勞德寫了12個驗證功能 都通過了 但製作環境中的憑證邏輯被打破了 這些測試只是檢查功能是否"回到某事",而不是它是否回到正確的事情上. 函數被測試是因為它傳回常數。

規則10:

在每一個多步的任務中,總結一下已經做過的,經驗過的,以及剩下的要做的事. 不要從一個不能重复的州下去 如果你發現自己迷路了, 就停止重複目前的狀態 。

Karpath 樣本的預設互動是一次性的 。 但真正的 Claude 代碼工作常常是多步的: 超过 20 個檔案, 在一個會話中建立功能, 過多次委托调试 。 若沒有检查站。

即刻, 當我發現時 克勞德已經在錯誤的狀態上 繼續了第五和第六步 拆解修理的總時間仍然很長。 如果有檢查點,第四步會揭露問題。

第11款:

如果編碼庫使用蛇案, 您更喜歡使用 camel: 使用蛇案 。 如果代碼庫使用以班級為主的電腦, 您更喜歡掛: 使用以班級為主的電腦 。 不同意见是另一項討論。 一致性优先于編碼室中的個人偏好。 如果你真的覺得協議有害 那就說清楚 不要在沉默中分道揚镳。

克勞德喜歡介紹自己 在一個完善的代碼庫。 即使寫得更好 引入第二個模型本身 也比任何一個模型都糟糕。

這時克勞德引入了Hooks 一個基于类元件的反應寄存器。 它真的能跑 但同時,它毀掉了原代碼庫的測試模型 因為那些測試依赖于電腦Did Mount 花了半天才刪除并重寫。

规则12: 露面不得沉默

如果你不能確保事情的完成 就說清楚 如果有30張記錄被悄悄跳過, 如果你跳過任何測試 你不能說"考試通過" 如果你沒有檢查我要求的邊界 你不能說"功能" 意外暴露于不确定性,而不是隱藏它。

克勞德最貴的失敗 通常是那些看起來很成功的人 函數「 可以執行」 , 但傳回錯誤的數據; 移動「 完成」 , 但跳過 30 個紀錄; 試驗「 通過」 , 只是因為此申述本身錯了 。

克勞德說數據庫的移動是成功的 但實際上,它已經悄悄經過 14%的紀錄 導致了有约束力的衝突 跳過被記錄在紀錄中而未被明确曝光 。 11天後,當報告資料開始發表時,我們發現了問題。

數據結果

在六周內, 我追蹤了同一批50個代表任務。

錯誤率表示任務需要改正或重寫才能符合原意. 錯誤包括:沉默的錯誤假設、過度工程、無動於衷的損害、無聲的失敗、違背協議、衝突的折中。

遵守率是指在适用某項規定時,克勞德的應用程序會顯而易見的概率。

結果並不只是錯誤率從41%下降到3%。 更重要的是,第4条规则延伸至第12条规则,幾乎不增加遵守的負擔,遵守率由78%下降到76%,但錯誤率下降了8个百分点。 新的規則涵盖4項原則未涉及的失敗模式。

Karopathy樣本會在哪里悄悄失敗

即使沒有新規則, 原有的 4 規則樣本至少在 4 個地方都不夠 。

首先 做探員工作很久了。
Karpath的規矩主要是Claude寫密碼的那一刻 但當克勞德經營多步管道時會怎樣? 原本的樣本沒有預算規則,沒有檢查點規則,也沒有"顯示失敗"規則. 所以管道會慢慢漂移。

第二,多碼文庫一致性。
默认只有一種樣式 。 克勞德得選擇哪種風格才能匹配 最初的規矩並沒有告訴它如何選擇. 所以它要么是隨機選擇的,要么是混合了几种风格。

第三,測試品質。
「面向目標的實施」認為「試驗通過」是成功的, 克勞德因此寫了些測試 幾乎沒有證實 但他們讓他覺得他很確定。

四,生产環境与原型相差。
同樣的規則可以防止生产代碼的過度工程化,但也可能延缓原型的發展. 因為原型期有時需要100行探索式腳手架 首先尋找方向 Karpath的"簡化优先级"太容易被早期代碼觸發。

這八項新規則並非要取代最初的四項規則, 原始樣本符合2026年1月自動完成的碼寫入場景;到2026年5月,克勞德代碼已經進入了代理驱动的多步多碼寄存器合作環境,這有不同的問題。

什么不行

在完成12條規則之前。

增加我在Reddit / X上看到的規則 。
大多數人或用不同語言重複卡爾納德的原四條規則, 他們都被刪除了。

12年以上。
我考了18年 超過14篇文章後, 天花板是真的 更何况,克勞德會開始把模式 和"這裡的規則"相匹配 而不是實際的逐條規矩。

依靠某些工具存在的規矩。
例如「總是使用eslint」, 我改用不依賴特定工具的表示, 例如「使用eslint」。

用CLAUDE.md中的例子代替規矩。
例比規矩更上下文. 克勞德可以輕而易舉地覆蓋例子。 規矩是抽象的,例子是具体的. 因此,需要使用规则。

小心點 仔細想想 專心點。
這些是噪音。 此类指令的遵守率下降至30%左右,因为无法考核。 然後我用更特別的指令規則來取代它們,例如"明確的假設"。

告訴克勞德做個资深工程師。
它不起作用。 克勞德覺得自己是個高級工程師 真正的問題不是它是否相信,而是它是否以这种方式實施。 指令規則可以縮小這個缺口,而不是身份提示 。

完整的 12 尺

以下為可直接粘貼的完整版本。

無法在 flybook 文件外顯示

在仓库根目錄中保存為 CLAUDE. md 。 依此規則, 對科技堆栈、 測試命令、 錯誤模式等項目, 新增另外的規則 。 整行不超过200行。 之後,守法率會明显下降。

如何安裝

兩步就夠了

在您的 CLAUDE.md 中加入 Karopath 的 四條基本規則
卷曲 https://raw.githubusercontent.com/forrestchange/andrej-karopathy-skill/main/CLAUDE.md > > CLAUDE.md


2. 按下文规则5-12

將檔案儲存在寄存器根目錄中。 這是 & gt; & gt; 的 & gt; 。 它很重要, 要加入现有的 CLAUDE. md, 而不是压倒你寫的排他性規則 。

精神模式

CLUDE.md不是一份願望清單 而是一份阻止你所觀察到的具体失敗模式的行為契约。

每個規矩都應該回答問題:

Karpath的第四條規則是防止他在2026年1月看到的失敗模式:沉默的假設,過度工程,破壞,弱的成功標準. 他們是基礎,不要跳過。

我新增了八項規則, 以防范2026年5月後出現新的失敗模式:未编入預算的Agent rounds, 無關卡的多步任務, 他們是增量补丁。

當然,效果因人而异。 如果你不走多步,第10條對你來說就不重要了 如果您的程式碼庫只是一個制服的樣式, 已經被整體實施, 規則11是多余的 。 在讀完這12篇文章後。

一個六規版本的CLUDE.md, 適合真正的失敗模式, 數量超過十二規版本, 其中六個你從不使用。

总结

Karpath在2026年1月的推特裡, 福瑞斯特·張把它變成四條規矩 最後,12萬發展者給了Star這個結果. 他們大多數人今天仍在使用這四條規則。

建模進步,生态變化 多步代理, 接觸鏈動機, 技術負载, 多碼的函庫合作。 原本的四項規則並未涉及這些問題。 他們不是錯的,而是不完整的。

新規則8 6周 30多個密碼庫 錯誤率從41%降至3%。

這篇文章今晚會被收集起來 貼上這十二條規則 如果這能幫助你走一周 減少克勞德的彎曲 歡迎前進。

[ 笑 ]原始链接]

QQlink

Tidak ada "backdoor" kripto, tidak ada kompromi. Platform sosial dan keuangan terdesentralisasi berdasarkan teknologi blockchain, mengembalikan privasi dan kebebasan kepada pengguna.

© 2024 Tim R&D QQlink. Hak Cipta Dilindungi Undang-Undang.