12万Star的Karpathy skills:四原则修正 LLM 编码行为
项目地址https://github.com/forrestchang/andrej-karpathy-skills许可证MIT核心文件单个 CLAUDE.md一、项目背景Andrej Karpathy 在社交媒体上指出了 LLM 编码的三大顽疾模型替你做错误假设然后一错到底、过度复杂化代码和抽象、作为副作用随意删除或修改它不完全理解的代码。本项目将 Karpathy 的观察浓缩为四条原则写入一个 CLAUDE.md 文件直接修正 Claude Code 的行为模式。与试图拥有流程的框架GSD、BMAD 等不同这套指南偏向谨慎而非速度通过约束代理行为而非接管流程来提升输出质量。二、四大原则原则一Think Before Coding先想后写核心不要假设不要隐藏困惑呈现权衡。LLM 倾向于默默选择一种解释然后一路跑下去。本原则强制代理进行显式推理不确定时主动提问而非猜测存在歧义时呈现多种解读而非静默选择更简单的方案存在时必须反推困惑时停下来命名不清楚之处并请求澄清。这一原则将事后修正转化为事前对齐。原则二Simplicity First简单优先核心用最少的代码解决问题不做投机性开发。对抗过度工程化的倾向不实现未被要求的功能不为单次使用的代码创建抽象不添加未被请求的灵活性或可配置性不为不可能发生的场景写错误处理。检验标准一个资深工程师会说这段代码过度复杂吗如果是就简化它。原则三Surgical Changes外科手术式变更核心只触碰必须触碰的代码只清理自己制造的混乱。编辑现有代码时不改进相邻代码、注释或格式不重构没坏的东西匹配已有风格发现无关死代码时只提及不删除。变更产生孤立项时移除自己的变更导致的无用导入/变量/函数但不删除预先存在的死代码。检验标准每一行变更都应能追溯到用户请求。原则四Goal-Driven Execution目标驱动执行核心定义成功标准循环直至验证。将命令式任务转化为可验证目标“添加验证” → “为无效输入写测试然后让测试通过”“修复 bug” → “写一个能复现的测试然后让测试通过”“重构 X” → “确保重构前后测试通过”。多步任务要求声明简短计划每步附带验证检查点。强成功标准让 LLM 独立循环弱标准则需要不断人工干预。三、安装方式方式命令适用场景Claude Code 插件推荐/plugin install andrej-karpathy-skillskarpathy-skills跨项目全局生效CLAUDE.md新项目curl -o CLAUDE.md raw-url单项目使用CLAUDE.md已有项目追加到现有 CLAUDE.md与项目规则合并Cursor使用.cursor/rules/karpathy-guidelines.mdcCursor 用户四、效果验证指南生效的标志diff 中不必要的变更减少因过度复杂导致的重写减少澄清问题出现在实现之前而非之后PR 干净最小无顺手重构或改进。五、适用与不适用适用于大多数需要 AI 代理修改代码的场景尤其是代码审查和协作开发。对于简单的 typo 修复或显而易见的单行变更可酌情跳过完整流程——指南偏向谨慎但不意味着每个变更都需要全套仪式。