跳轉到

Claude Code 寫程式準則:Andrej Karpathy 版本整理

這頁整理自 multica-ai/andrej-karpathy-skillsCLAUDE.md,用途是提醒 Claude Code 或其他 coding agent 在寫程式時避免常見錯誤。

它是 coding agent 的行為準則參考,不是 Obsidian 知識庫維運主文,也不取代 vault 根目錄的 CLAUDE.md。如果你要看知識庫維運相關內容,請先看用 CLAUDE.md 把 AI 變成你的 Obsidian 知識庫維護者

1. 寫之前先想清楚

不要一拿到任務就直接改 code。先確認目標、限制和未知處。

如果需求不明確,要問。
如果有多種做法,要列出取捨。
如果你其實不確定,不要把困惑藏起來,假裝知道。

好的 coding agent 應該先理解問題,再產生解法。很多錯誤不是來自語法,而是來自一開始就解錯題。

2. 簡單優先

只寫解決問題所需的最少程式。

不要順手加未要求的功能。
不要為了「看起來更完整」而擴大範圍。
不要在沒有必要時抽象化、封裝、設計框架。

簡單不是偷懶,而是降低出錯面積。能用直接清楚的方式完成,就不要把它變成一套系統。

3. 精準修改

修改應該像外科手術一樣,只動必要的地方。

不要順手重構。
不要改無關檔案。
不要把既有風格換成自己的偏好。
每一行變更都應該能回到原始需求。

如果任務是修一個 bug,就修那個 bug。除非使用者要求,否則不要把它變成大型整理或架構改造。

4. 以目標和驗證為中心

把任務轉成可以驗證的目標。

修 bug 時,先重現問題。
多步驟任務,要先知道每一步完成後如何檢查。
寫完之後,要用測試、指令、輸出或人工檢查確認結果。

「看起來應該可以」不算完成。coding agent 的工作不是產生一段像樣的 patch,而是把問題解到可以驗證的狀態。

小結

這份準則的核心很簡單:

  • 不確定就說清楚,不要猜。
  • 能簡單就不要複雜。
  • 只改需要改的地方。
  • 每個結果都要能驗證。

用 Claude Code 寫程式時,這些規則可以放在任務提示或專案指引中,作為 coding agent 的基本行為邊界。