让 AI 写代码少返工:andrej-karpathy-skills 行为准则落地指南
【免费下载链接】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"修个时间格式",结果它顺手删了注释块、改了旁边函数签名,diff 是业务代码的两倍。我就是在一次这样的返工里拿到的 andrej-karpathy-skills,一套基于 Karpathy 原则的 AI 编码行为准则。
🔧 机制:CLAUDE.md 配置项如何变成运行时行为
生效链路一句话就能说完:把规则写进配置项,会话启动时读入,约束模型输出。第一个接入点是项目根目录的 CLAUDE.md,它是个纯文本配置文件,Claude Code 在会话启动时读一次并拼进上下文,四条原则从此变成生成每个回答都必须满足的硬约束,而不是你读了 README 才会想起来参考的建议。第二个是插件路线,/plugin install装一次,所有项目通用,等价于给每个项目都写了一份 CLAUDE.md。第三个是技能定义文件 skills/karpathy-guidelines/SKILL.md,它把准则封装成带名字和触发描述(写代码、评审、重构)的技能,运行时看描述决定是否注入。三个接入点覆盖范围不同——单项目、全项目、按任务类型触发——机制相同。
✂️ 收敛组:让 AI 先问清楚、只动该动的行
这组两条原则都在"收窄"AI 的行为:编码前思考与精准修改。
反例:你说"加个导出功能",它默认 JSON 格式、把全库用户导出完,跑完才告诉你"完成了"。 正例:先列出假设——范围、格式、字段——回来问你一句,再动手。
反例:修个时间格式,它"顺手"对齐了旁边注释、重命名了一个变量。 正例:diff 里只有跟请求直接相关的行,看到死代码只提一句,不删。
判断标准只有一条:每一行改动都能追溯到你的请求,追溯不到就不该存在。一行业务改动修完应该是这样:
- w.writerow([]string{t.Format("2006-01-02")}) + w.writerow([]string{t.Format("2006-01-02 15:04:05")})发散组:让 AI 少写代码、但目标更清楚
另外两条原则管"往外"的行为。简单优先排第一,说白了就是防过度工程化——给还不存在的问题塞抽象层。目标驱动排第二:把模糊指令改写成"能验证通过与否"的标准,让 AI 自己循环跑到位。
反例:调用点只有一处,它建了接口加策略模式加配置结构体,6 行的事写成 120 行。 正例:一个函数解决,200 行能压到 50 行就重写。
反例:你说"加个校验",它"好的,正在处理",做完说"完成了",对不对没人知道。 正例:把指令改成"先写一个必失败的测试,改完让测试通过",以绿不绿为准。
项目的 EXAMPLES.md 里每条原则都有完整前后对照,值得装之前先翻一遍。一个校验函数简化后是这种样子:
- return name.length > 0 && pattern.test(phone) && extraCheck(form) + return form.name.trim().length > 0 && /^\d{11}$/.test(form.phone)🧪 验证:确认准则生效的两个动作
别信"应该会好",跑两个检查。第一个,数 diff 行数:让 AI 做一次常规小改动,比如改一个配置项或日志字段。没有准则时这种改动常见 60~80 行 diff,里面多半夹着"顺手"的格式对齐;装完准则后,业务行应在 5 行以内,非请求行应为 0。第二个,连续改 3 个文件做压力测试:让 AI 连改 3 个文件,逐个 diff 检查有没有碰相邻代码、注释、格式。真正"外科手术式"的改动,相邻行应该一个字符都不动。再看到"顺手改进",说明准则没注入,先查 CLAUDE.md 是否在项目根目录。
4 行装完
git clone https://gitcode.com/GitHub_Trending/an/andrej-karpathy-skills cp andrej-karpathy-skills/CLAUDE.md ./CLAUDE.md echo "- 使用 TypeScript 严格模式" >> CLAUDE.md跑完这条命令后在对话里输入"把用户列表导出成 CSV"即可验证:如果 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),仅供参考