Karpathy 编码四原则:一份 CLAUDE.md 治住 AI 写码通病
multica-ai/andrej-karpathy-skills 是一份 Karpathy 启发的 Claude Code 行为指南——把 Andrej Karpathy 对 LLM 编码常见错误的观察,浓缩成单个 CLAUDE.md 文件,直接改善 Claude Code 的编码行为。
针对的三个问题(来自 Karpathy 的观察)
- 模型替你做错误假设并直接跑下去:不管理自己的困惑、不寻求澄清、不暴露不一致、不给出权衡、该反驳时不反驳;
- 过度复杂化:喜欢把代码和 API 搞复杂、堆抽象、不清理死代码——1000 行能解决的问题写成 100 行的膨胀结构;
- 顺手改动不理解的内容:即使与任务正交,也会改掉/删掉没充分理解的注释和代码。
四条原则
| 原则 | 对应问题 |
|---|---|
| Think Before Coding | 错误假设、隐藏困惑、缺失权衡 |
| Simplicity First | 过度复杂化、抽象膨胀 |
| Surgical Changes | 正交改动、碰了不该碰的代码 |
| Goal-Driven Execution | 用测试优先、可验证的成功标准驱动执行 |
核心机制:把命令式指令转成可验证目标——不说"加校验",而说"为非法输入写测试然后让它们通过";不说"修 bug",而说"写一个能复现它的测试再让它通过"。Karpathy 的洞察是"LLM 极其擅长循环直到达成具体目标:别告诉它做什么,给它成功标准,看着它跑"。
安装方式
- Claude Code 插件(推荐):
/plugin marketplace add forrestchang/andrej-karpathy-skills后/plugin install andrej-karpathy-skills@karpathy-skills,跨项目生效; - CLAUDE.md(按项目):直接
curl下载该文件追加进项目; - Cursor 支持:仓库内置
.cursor/rules/karpathy-guidelines.mdc,在 Cursor 中打开项目同样生效。
实践建议
- 指南偏向"谨慎优先于速度":简单笔误、明显一行修复不必上全套流程,只对非平凡工作生效;
- 判断是否生效的三个信号:diff 里只有被要求的改动、代码一次写简单、澄清问题出现在实现之前。