andrej-karpathy-skills:LLM 编码规范指南
【免费下载链接】andrej-karpathy-skillsA single CLAUDE.md file to improve Claude Code behavior, derived from Andrej Karpathy's observations on LLM coding pitfalls.项目地址: https://gitcode.com/GitHub_Trending/an/andrej-karpathy-skills
andrej-karpathy-skills 把四条 LLM 编码原则压进一个 CLAUDE.md,专治 AI 写代码时的乱改、过度设计和闷头瞎猜。
它到底在解决什么问题 🎯
你让 Claude 给登录接口加个校验,diff 里却多了:别的文件变量被改名、套了一层没人要的配置类、给不可能发生的场景加了异常处理。Karpathy 总结过这类毛病:模型会替你做出错误假设,不会主动澄清,100 行能写完的事爱写 1000 行。这个项目就是四条反制原则。
- 没有它:你说"修个 bug",AI 在三种可能的理解里默默挑一个,闷头写完,做完你才发现方向错了。
- 有它:它先说"我打算改 3 行",写一个失败的测试复现 bug,修到测试通过才收工。
核心思路怎么用:把原则落到动作上 ⚡
Think Before Coding —— 动手前把假设摆到台面上
把假设写出来:输入是什么、边界在哪。需求有两种读法就列出来问,有不清楚的地方就停下来点名。不这么做,AI 会挑一个最像的解释闷头写下去,做完才发现方向错了,只能返工。
Simplicity First —— 只写解决问题的最小代码
没要求的功能不加,只用一次的代码不抽象,不为"以后可能用到"预留配置。自查一句话:资深工程师看了会不会说过度设计了?是就删。不做这步,50 行的需求被写成 200 行,审查成本全落在你头上。
Surgical Changes —— 只碰必须碰的行
改存量代码时别顺手"优化"邻近代码和注释;发现不相关的死代码只提一句,别删。只清理你自己这次改动造成的孤儿 import 和变量。验收标准:diff 里每一行都能追溯到需求本身,否则就不该出现。
Goal-Driven Execution —— 把任务改写成可验证的目标
"加校验"改成"为非法输入写测试并让它通过","修 bug"改成"先写能复现它的测试,再修到通过"。多步任务列个简短计划,每步带一个 verify 项。标准强,AI 能自己循环到达标;只说"让它能跑",你就得全程陪聊。
两分钟跑起来 🚀
推荐装成 Claude Code 插件,对你所有项目生效。在 Claude Code 里依次执行:
/plugin marketplace add forrestchang/andrej-karpathy-skills /plugin install andrej-karpathy-skills@karpathy-skills看到两条命令都返回成功提示,就说明装好了;之后开新会话,Claude 开始先报假设再动手,就是真正生效了。更轻量的替代:把仓库里的 CLAUDE.md 拷到你项目根目录,只对该项目生效。
容易踩的坑 ⚠️
- 这组规范偏向"谨慎优先于速度",改拼写这种一行任务用它就很啰嗦,琐碎改动直接跳过。
- 它设计上要和已有项目规则合并,CLAUDE.md 里已有内容就追加而不是覆盖,否则你的项目约定会被顶掉。
- 效果看 diff:装好后"不相关改动"明显变少,澄清问题出现在动手之前,而不是犯错之后。
下次让 AI 改代码前,先让它把假设和改动范围报一遍,再放行。
【免费下载链接】andrej-karpathy-skillsA single CLAUDE.md file to improve Claude Code behavior, derived from Andrej Karpathy's observations on LLM coding pitfalls.项目地址: https://gitcode.com/GitHub_Trending/an/andrej-karpathy-skills
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考