让 AI 写出像资深工程师一样的代码:Karpathy 编码准则项目解读
让 AI 写出像资深工程师一样的代码Karpathy 编码准则项目解读【免费下载链接】andrej-karpathy-skillsA single CLAUDE.md file to improve Claude Code behavior, derived from Andrej Karpathys observations on LLM coding pitfalls.项目地址: https://gitcode.com/GitHub_Trending/an/andrej-karpathy-skillsandrej-karpathy-skills 把 Andrej Karpathy 对 LLM 编码陷阱的观察浓缩成一份 CLAUDE.md 文件放进项目根目录或装成 Claude Code 插件AI 就不再凭空猜需求、不再堆砌臃肿架构而是先问再做。 AI 说好的之后问题才真正开始场景你可能熟悉任务是加个用户数据导出功能AI 不问一个字直接全量导出所有用户、文件写到项目根目录、字段自己挑还顺手做上 JSON 和 CSV 双格式。80 行代码看着没错但没几行是你想要的。再比如加个函数算折扣。一句乘法被包上抽象基类、策略接口、配置数据类30 多行。review 比自己写还累。这不是随机事故而是一种稳定倾向替你假设需求、默默选定一种解释、顺手重构相邻代码、清理它注意到的死代码。Karpathy 的总结很尖锐——大模型不管理自己的困惑、不寻求澄清、不呈现权衡、该反驳时也不反驳。andrej-karpathy-skills 就是为此做的。手段简单到反直觉没有框架、没有运行时只有一份改写 AI 工作习惯的指令文件。⚖️ 4 个 AI 编码常见误区的修正整份准则围绕 4 个误区组织每一个都是AI 默认会怎么做与文件要求它怎么做的对照。误区一急着开工跳过确认反直觉的点在于模型写码前应该先慢下来。收到加个导出功能它的默认动作是默默选定一种解释然后开写准则要求的是——先列假设不确定就问存在多种解释就列出来让你选有更省力的路径就提出来、该反驳时反驳。AI 的默认动作准则生效后的动作默默选一种解释直接实现列出多种解释由你拍板替你猜范围、字段、落盘位置假设逐条摆明拿不准就问默认没有更省事的方案给出更轻的路径并说明代价误区二提前造可扩展架构模型连一次性使用的代码也爱套抽象层。下面同一需求两种写法上面是常见默认产物节选下面是准则要求的版本# 默认输出一次乘法写 30 多行节选 class DiscountStrategy(ABC): abstractmethod def calculate(self, amount: float) - float: ... # 准则输出只写今天需要的 def calc_discount(amount: float, percent: float) - float: return amount * percent / 100验收标准是一个自问资深工程师会不会说这太复杂会就回退。等第二种折扣类型真出现的那天再补复杂度不迟。误区三顺手重构是一种麻烦修一个空输入崩溃的 bugdiff 回来却多了引号统一、类型标注、docstring还有对相邻字段的新校验规则。准则给的判据很硬每一行改动都必须能直接追溯到本次请求现有风格哪怕你个人不喜欢原样保留发现无关死代码在 PR 里提一句不删自己的改动造成的孤儿导入要清掉历史遗留的不动。一份达标的 diff 长这样——只动必要的两行周边格式和注释纹丝不动def parse_date(s): - if s : if not s or not s.strip(): return None误区四我来修一下不算目标大模型擅长朝着目标循环直到达成但人们交给它的却是模糊指令然后怪它跑偏。第四处修正是把动词翻译成可验证的标准模糊指令转化后的目标加个校验先写非法输入测试再让它通过修排序 bug先写能复现的测试再修到通过重构某模块重构前后测试套件全绿多步任务还会附上动作 → 验证计划每一步都有验收点。弱标准让它能跑逼你反复澄清强标准则让模型自己把循环跑完。 准则如何生效三条注入路径仓库里没有任何可执行代码所谓实现就是把同一段文字在合适的时机喂给 AI。载体有三个项目根目录的 CLAUDE.mdClaude Code 进入目录即自动加载最轻的部署Cursor 项目里的 .cursor/rules 规则文件设为常驻生效打开文件夹即用打包成技能的 skills/karpathy-guidelines/SKILL.md以插件形式安装后全局生效不用逐项目复制。下面这张流程图展示一个任务从进入会话到被验收的完整约束链路无论走哪条路径最终约束模型的规则是同一套四条原则更新时需同步三个载体且它们都能和你现有的指令文件自由合并。 收益能量化吗4 个可观察的变化从你的视角看这些修正的价值可以落到 4 个可观察的差异上你感受到的使用前使用后PR 噪音diff 里混着格式统一、注释清理只剩任务相关的改动行首版体量简单需求上百行可扩展架构行数接近资深工程师手写返工做完才发现不是你要的澄清问题出现在实现之前代码审查要人肉揪出顺手改动审查者只看一类变更适用面很宽团队日常功能开发、有 AI 结对搭档的长期项目、需要长期维护的存量代码库。要留意的是准则偏向谨慎而非速度——一行拼写修正不必走全套流程文件本身也留了这个判断空间。⚡ 两条安装路径5 行命令搞定两种部署方式二选一即可# 方式 A放进项目任何读取 CLAUDE.md 的工具都适用 git clone https://gitcode.com/GitHub_Trending/an/andrej-karpathy-skills cp andrej-karpathy-skills/CLAUDE.md your-project/ # 方式 B在 Claude Code 中装成全局插件 /plugin marketplace add forrestchang/andrej-karpathy-skills /plugin install andrej-karpathy-skillskarpathy-skills一条定制建议别用它替换你现有的 CLAUDE.md而是追加一个项目特定指南小节写清两三条硬规则例如 TypeScript 严格模式、所有 API 必须有测试、错误处理沿用某个既有文件的模式——这份准则在设计上就是为与项目规则合并而存在的。这个项目的价值在于把AI 表现不稳定从玄学问题变成可控变量一份文本文件零依赖无迁移成本。下次派活给 AI 之前不妨先丢一份 CLAUDE.md 进去看看 diff 能小多少。【免费下载链接】andrej-karpathy-skillsA single CLAUDE.md file to improve Claude Code behavior, derived from Andrej Karpathys observations on LLM coding pitfalls.项目地址: https://gitcode.com/GitHub_Trending/an/andrej-karpathy-skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考