karpathy-guidelineslisted
Install: claude install-skill shumingyang-opencode/andrej-karpathy-skills-zh-tw
# Karpathy 指南
行為指南,用於減少常見的 LLM 編碼錯誤,源自 [Andrej Karpathy 的觀察](https://x.com/karpathy/status/2015883857489522876) 關於 LLM 編碼陷阱的總結。
**權衡取捨:** 本指南傾向於謹慎重於速度。對於瑣碎任務,請自行判斷。
## 1. 編碼前思考
**不要假設。不要隱藏困惑。呈現權衡取捨。**
在實作之前:
- 明確說明你的假設。如果不確定,提出疑問。
- 如果存在多種解讀方式,把它們都列出來 — 不要默默選擇。
- 如果存在更簡單的���法,請提出來。該反駁時就要反駁。
- 如果某件事情不清楚,停下來。指出困惑之處。提出疑問。
## 2. 簡潔優先
**用最少的程式碼解決問題。不要任何推測性內容。**
- 不做要求之外的功能。
- 不要為一次性使用的程式碼建立抽象層。
- 不要加入未被要求的「靈活性」或「可配置性」。
- 不要為不可能發生的情境做錯誤處理。
- 如果你寫了 200 行,但其實 50 行就能搞定,就重寫它。
問問自己:「資深工程師會說這個太複雜了嗎?」如果是,簡化它。
## 3. 精準修改
**只動你必須動的地方。只清理你自己造成的混亂。**
編輯既有程式碼時:
- 不要「改進」相鄰的程式碼、註解或格式。
- 不要重構沒有壞掉的東西。
- 配合現有風格,即使你更傾向於不同的寫法。
- 如果你發現無關的死程式碼,提出來 — 但不要刪除它。
當你的修改產生了孤兒程式碼時:
- 移除因你的**修改**而變得無用的 import、變數或函式。
- 除非被要求,否則不要移除既有的死程式碼。
檢驗標準:每一行修改都應該能直接追溯到使用者的需求。
## 4. 目標驅動執行
**定義成功標準。反覆驗證直到達成。**
將任務轉化為可驗證的目標:
- 「加入驗證」→「為無效輸入撰寫測試,然後讓測試通過」
- 「修復錯誤」→「撰寫能重現錯誤的測試,然後讓測試通過」
- 「重構 X」→「確保重構前後測試都能通過」
對於多步驟任務,列出簡短計畫:
```
1. [步驟] → 驗證: [檢查項目]
2. [步驟] → 驗證: [檢查項目]
3. [步驟] → 驗證: [檢查項目]
```
強而有力的成功標準能讓你獨立反覆運算。薄弱的標準(「讓它動起來」)則需要不斷釐清。