
andrej-karpathy-skillsCLAUDE.md 完整拆解【免費(fèi)下載鏈接】andrej-karpathy-skillsA single CLAUDE.md file to improve Claude Code behavior, derived from Andrej Karpathys observations on LLM coding pitfalls.項(xiàng)目地址: https://gitcode.com/GitHub_Trending/an/andrej-karpathy-skills讓 AI 修一個(gè)空值崩潰它順手把注釋、引號(hào)、類型注解全翻新diff 比功能本身還大——這場景熟不熟悉andrej-karpathy-skills 就是沖著它來的把 Andrej Karpathy 對 LLM 編碼陷阱的觀察壓成一份 65 行的 CLAUDE.md四組行為準(zhǔn)則專治瞎假設(shè)、堆抽象、亂改不相干代碼這三類毛病diff 從此干凈到只剩你要的改動(dòng)。拆出一份 65 行的 CLAUDE.md Karpathy 吐槽過 LLM 寫代碼的四種毛病替用戶瞎假設(shè)還不問、一百行能寫完的活堆上千行、順手改掉自己也沒完全看懂的注釋和代碼、任務(wù)沒有驗(yàn)收標(biāo)準(zhǔn)只能蒙。這個(gè)項(xiàng)目把吐槽翻成了行為文件CLAUDE.md 全文 65 行MIT 協(xié)議丟進(jìn)項(xiàng)目根目錄即生效給所有用 Claude Code 寫代碼的人兜底。核心資產(chǎn)就這一個(gè)文件其余都是鏡像skills/karpathy-guidelines/SKILL.md 是插件形態(tài)EXAMPLES.md 是配套的案例與反模式集。把四條原則拆成一條鏈 四條原則不是平鋪的清單而是按編碼流程排好的先管住輸入再管住產(chǎn)出最后管住驗(yàn)收。1. 編碼前思考把隱藏假設(shè)逼到臺(tái)面上管的是輸入。模型遇到歧義會(huì)默默選一個(gè)解釋直接開干困惑藏起來不說。準(zhǔn)則要求假設(shè)必須寫出來不確定就問存在多種解釋就都擺出來不許默默挑一個(gè)發(fā)現(xiàn)更簡單的路直說并頂回去。效果是澄清問題出現(xiàn)在動(dòng)手之前而不是踩坑之后。2. 簡潔優(yōu)先用解決問題的最小代碼管的是產(chǎn)出。為算一個(gè)折扣寫出抽象基類加策略模式是 LLM 最愛的炫技。準(zhǔn)則列了四道禁令不加沒要的功能不給單一用途的代碼做抽象不加沒人要的配置與靈活性不防不可能發(fā)生的場景200 行能壓到 50 行就重寫。驗(yàn)收標(biāo)準(zhǔn)一句話——資深工程師會(huì)覺得過于復(fù)雜嗎是就砍。3. 外科手術(shù)式修改只動(dòng)必須動(dòng)的行管的是改動(dòng)。修 bug 的路上順手翻新注釋、引號(hào)、docstring是 diff 變臟的頭號(hào)原因。準(zhǔn)則劃線不改進(jìn)相鄰代碼不重構(gòu)沒壞的東西匹配現(xiàn)有風(fēng)格哪怕自己不愛發(fā)現(xiàn)無關(guān)死代碼只提一嘴不刪自己這次改動(dòng)弄出的孤兒導(dǎo)入才清理。判據(jù)一句話每一行改動(dòng)都應(yīng)能直接追溯到那次請求。4. 目標(biāo)驅(qū)動(dòng)執(zhí)行把指令翻譯成可驗(yàn)證目標(biāo)管的是驗(yàn)收。修一下登錄這種任務(wù)沒有終點(diǎn)線模型只能邊做邊問。準(zhǔn)則把命令式任務(wù)改寫成測試先行的目標(biāo)多步驟任務(wù)列成步驟 → 驗(yàn)證清單1. 寫復(fù)現(xiàn)測試 → 驗(yàn)證測試失敗說明復(fù)現(xiàn)成功 2. 實(shí)現(xiàn)修復(fù) → 驗(yàn)證該測試通過 3. 回歸檢查 → 驗(yàn)證全量測試綠成功標(biāo)準(zhǔn)越強(qiáng)模型越能獨(dú)立循環(huán)推進(jìn)不用人一直盯著確認(rèn)。命令式說法可驗(yàn)證目標(biāo)加個(gè)校驗(yàn)為非法輸入寫測試再讓它通過修這個(gè) bug寫一個(gè)能復(fù)現(xiàn)它的測試再讓它通過重構(gòu) X確保重構(gòu)前后測試都通過對比同一個(gè) bug 的兩種 diff ?任務(wù)修復(fù)空 email 導(dǎo)致校驗(yàn)器崩潰。? 常見寫法——修 bug 的路上順手把整個(gè)函數(shù)翻新def validate_user(user_data): - # Check email format - if not user_data.get(email): Validate user data. email user_data.get(email, ).strip() if not email: raise ValueError(Email required) username user_data.get(username, ).strip()注釋改了docstring 加了連 username 分支也被重寫——而崩潰只發(fā)生在 email 那條路徑上。? 外科手術(shù)式只碰崩潰路徑。def validate_user(user_data): # Check email format - if not user_data.get(email): email user_data.get(email, ) if not email or not email.strip(): raise ValueError(Email required)兩處修復(fù)的第一刀幾乎一樣差距全在順手二字。判據(jù)很簡單diff 里每一行都要能回答這一行是為什么改的答不上來的就是夾帶的。60 秒把準(zhǔn)則裝進(jìn)項(xiàng)目 $ git clone https://gitcode.com/GitHub_Trending/an/andrej-karpathy-skills $ cp andrej-karpathy-skills/CLAUDE.md 你的項(xiàng)目/CLAUDE.md $ cat andrej-karpathy-skills/CLAUDE.md CLAUDE.md # 已有 CLAUDE.md 的項(xiàng)目三行搞定clone、新項(xiàng)目直拷、老項(xiàng)目追加。按需進(jìn)階在 Claude Code 里先加插件市場再安裝插件兩步讓準(zhǔn)則跨項(xiàng)目生效省去每個(gè)倉庫手動(dòng)拷貝用 Cursor 的話倉庫里附了 CURSOR.md同一套規(guī)則換個(gè)殼就能接上。看出準(zhǔn)則在起作用的四個(gè)信號(hào) ?diff 里只剩請求的改動(dòng)沒有順手的格式翻新與 docstring實(shí)現(xiàn)之前先收到澄清問題范圍、格式、字段而不是踩坑之后代碼第一次就保持簡單不用為過度抽象返工重寫PR 干凈沒有夾帶的重構(gòu)和改進(jìn)Karpathy 留下這個(gè)項(xiàng)目最有分量的一句話別告訴模型該做什么給它成功標(biāo)準(zhǔn)看它自己跑。 LLM 本來就擅長朝明確目標(biāo)循環(huán)這份 65 行的準(zhǔn)則只是把明確兩個(gè)字提前到了動(dòng)手之前——下次 diff 比功能還大的時(shí)候先想想是哪里沒給它成功標(biāo)準(zhǔn)?!久赓M(fèi)下載鏈接】andrej-karpathy-skillsA single CLAUDE.md file to improve Claude Code behavior, derived from Andrej Karpathys observations on LLM coding pitfalls.項(xiàng)目地址: https://gitcode.com/GitHub_Trending/an/andrej-karpathy-skills創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考