Karpathy 编程准则使用教程:提升 AI 代码质量
Karpathy 编程准则使用教程:提升 AI 代码质量
karpathy-skills 编程准则使用教程
karpathy-skills 是基于 Andrej Karpathy 对 LLM 编码陷阱的观察,专为 Claude Code 打造的AI 编程行为约束准则,通过单文件 CLAUDE\.md 或插件形式,根治 AI 编码瞎猜需求、过度复杂、随意修改、无验证交付等通病,让代码更简洁、改动更精准、结果可验证,采用 MIT 开源协议,零成本开箱即用。
官网地址:https://github.com/forrestchang/andrej-karpathy-skills
一、背景:LLM 编码的核心痛点
Karpathy 总结了大模型编码的典型问题,也是这套准则要解决的核心:
盲目假设:不经确认就自行解读需求,隐藏困惑,不暴露权衡
过度工程:代码臃肿、抽象泛滥,100 行能解决的问题写成 1000 行
无效改动:随意修改无关代码、注释、格式,带来非必要风险
目标模糊:只执行步骤不定义成功标准,无法验证交付结果
二、四大核心准则(实战详解)
1. 先思考再编码(Think Before Coding)
解决问题:错误假设、隐藏困惑、遗漏权衡
执行规则
明确陈述假设,不确定就提问,绝不瞎猜
存在歧义时列出多种解读,不私自做决定
发现更简单方案时主动提出,合理反驳不合理需求
遇到困惑立即停止,明确说明问题并请求澄清
实战示例
需求:“给用户数据加导出功能”
AI 会先确认:导出格式、数据范围、权限控制、是否异步处理,再开始编码。
2. 简洁优先(Simplicity First)
解决问题:过度复杂、臃肿抽象、冗余代码
执行规则
只实现需求明确的功能,不添加额外 “speculative 特性”
单次使用的代码不设计抽象,不做无必要的灵活配置
不为不可能的场景编写异常处理
能 50 行实现绝不写 200 行,以资深工程师的简洁标准自查
实战示例
需求:“写计算折扣的函数”
拒绝策略模式 + 工厂类的过度设计,直接用最简函数实现需求逻辑。
3. 精准修改(Surgical Changes)
解决问题:无关修改、随意重构、破坏原有代码
执行规则
只修改与需求直接相关的代码,不 “顺手优化” 相邻内容
不重构未损坏的模块,严格匹配项目现有代码风格
发现无关死代码仅提示,不擅自删除
只清理自身改动产生的冗余(导入、变量、函数),不碰原有冗余
校验标准:每一行修改都能直接追溯到用户需求。
4. 目标驱动执行(Goal-Driven Execution)
解决问题:目标模糊、无验证、虚假完成
执行规则
将命令式任务转为可验证的成功标准
多步骤任务必须给出分步计划 + 验证方式
测试先行,用测试闭环保证交付质量
转换示例
“添加校验”→“编写无效输入测试用例并让其全部通过”
“修复 Bug”→“编写复现测试,修改代码后测试通过”
“重构 X”→“保证重构前后测试全部通过”
多步骤模板
1. [步骤] → 验证:[检查项]
2. [步骤] → 验证:[检查项]
3. [步骤] → 验证:[检查项]三、安装与使用(两种方式)
方式 A:Claude Code 插件(推荐,全局生效)
在 Claude Code 中直接执行以下命令:
# 添加插件市场
/plugin marketplace add forrestchang/andrej-karpathy-skills
# 安装准则插件
/plugin install andrej-karpathy-skills@karpathy-skills安装后所有项目自动生效,无需额外配置。
方式 B:项目级 [CLAUDE.md](CLAUDE.md)(单项目生效,支持定制)
新项目(直接下载):
curl -o CLAUDE.md https://raw.githubusercontent.com/forrestchang/andrej-karpathy-skills/main/CLAUDE.md现有项目(追加到已有 [CLAUDE.md](CLAUDE.md)):
echo "" >> CLAUDE.md
curl https://raw.githubusercontent.com/forrestchang/andrej-karpathy-skills/main/CLAUDE.md >> CLAUDE.md将文件放在项目根目录,Claude Code 启动时自动读取。
四、如何判断准则已生效
当你看到以下表现,说明 karpathy-skills 正在正常工作:
Diff 干净:仅出现需求相关改动,无无关格式化、重构
少返工:一次产出简洁可用代码,无过度设计
先问后做:实现前主动确认歧义,而非出错后修正
可验证交付:输出包含测试结果、验证步骤,而非空泛完成提示
五、自定义与项目适配
可将准则与项目专属规范合并,直接在 CLAUDE\.md 中追加项目规则,例如:
## 项目专属规范
- 启用 TypeScript strict 模式
- 所有接口必须编写单元测试
- 错误处理遵循 src/utils/errors.ts 规范适配后 AI 会同时遵守通用准则与项目规范。
六、使用权衡与场景建议
这套准则偏向谨慎而非速度,优先用于非 trivial 的开发任务(功能开发、Bug 修复、重构)
简单场景(如修复 typo、单行修改)可酌情使用,不必严格遵循全流程
核心价值:降低复杂任务的返工成本与线上风险,而非加速简单操作
七、总结
karpathy -skills 用4 条极简准则,把 AI 编码从 “自由发挥” 变为 “可控交付”:先思考防瞎猜、简洁防臃肿、精准防乱改、目标防敷衍。无论是个人开发还是团队协作,只需一个文件或一行插件命令,就能显著提升 AI 生成代码的质量与可维护性,是 Claude Code 用户的必备效率工具。
