克勞德總是犯錯? 這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

Không có cửa hậu mã hóa, không thỏa hiệp. Một nền tảng xã hội và tài chính phi tập trung dựa trên công nghệ blockchain, trả lại quyền riêng tư và tự do cho người dùng.

© 2024 Đội ngũ R&D QQlink. Đã đăng ký Bản quyền.