AI编程防错指南:Karpathy四条编码原则
【免费下载链接】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
你需要的那个文件上传功能是 50 行,AI 给你交回来 200 行,还带抽象工厂和重试策略。——同事指着屏幕说了这么一句。他其实只说了“帮我写个上传功能”。这个仓库就是从 Karpathy 对 LLM 写代码易踩的坑里提炼出的4 条 AI 编程防错原则,用来给 AI 协作划护栏:先划边界,再动手。
🔧 四条防错原则逐条说
四条都是关于“AI 该怎么干活”的规则,不涉及具体技术,但条条可执行。
把假设摆到桌面上
**Think before coding(编码前思考)**就是别闷头选一个解释就往下写,把你打算做的假设写出来,拿不准的就问。
你:加个用户验证。 AI:验证到哪一步?只查邮箱格式,还是整套 OAuth?只查格式的话 10 行就够。 你:查格式就行。
规则:动手写第一行代码前,先列出你做了哪些假设;任何一条假设验证不了,先问,别猜。
只写必需的 50 行
**Simplicity first(简单优先)**就是只写能解决眼前问题的最少代码,不为“万一”预置抽象和可配置项。
你:写个头像文件上传函数,架构上有什么讲究吗? AI:50 行,存磁盘、返回 URL。目前只有一个上传入口,不需要模式。 AI:以后真加了第二种上传类型,再抽公共逻辑,现在不预建。
规则:写完问自己一句“资深同事会不会说这写复杂了”,会的话,就压回最短的那版。
改完只看自己那三行
**Surgical changes(手术式修改)**就是改代码时只碰必须碰的部分,隔壁的屎山代码指出来,但不伸手。
你:登录这里空指针,修一下。 AI:改了 3 行,只删掉我这次改动弄出来的孤儿 import。 AI:旁边那段旧的密码加密代码看着像死代码,我没动,写在 PR 备注里。
规则:每一行改动都要能对应到你说的某一句要求,对应不上的,别急着改回去交差。
把“修一下”变成可验证的目标
**Goal-driven(目标驱动)**就是先说清楚什么算“完成”,AI 才能自己跑验证循环,不用每步都来问你。
你:这个排序 bug 修一下。 AI:先写个能稳定复现的测试,再修,然后跑全量测试。 AI:完成标准:新测试通过,存量测试无一失败。标准要是“让它能跑”,我得每步都问你一遍。
规则:任务开始先写下“完成”的标准——哪些测试要过、什么指标要达标,写不出来就先别开工。
🚀 原则怎么嵌进日常工作流
旧流程四步,结果你我都熟:
- 你提需求
- AI 直接生成代码
- 你跑起来发现问题
- 来回改几轮
新流程多了两步,但能一次到位:
- 你提需求
- AI 列出假设,把没想清楚的地方问回来
- 你确认需求细节
- AI 给出实现计划和验证方式
- AI 分步实现,每步验证
- 你拿到的是已验证的代码
把这个仓库里的 CLAUDE.md 拷到你项目根目录,AI 开工前就会读到它。整个仓库可以用git clone https://gitcode.com/GitHub_Trending/an/andrej-karpathy-skills拿到,核心条目长这样:
# CLAUDE.md 核心条目 1. Think Before Coding:先列假设,不确定就问 2. Simplicity First:最小实现,200 行能压到 50 行就重写 3. Surgical Changes:只改必须改的,只清理自己弄乱的 4. Goal-Driven:先定验证标准,循环到通过📌 高频场景速查
三个最常用的场景,每个一句话:
修 bug
遇到线上报错一行 → 先让 AI 写个能复现的测试,而不是直接改代码 → 验收看新测试通过、存量测试无一失败、diff 里只有和 bug 相关的行。
写新接口
遇到“加个查询接口” → 先让 AI 把分页、权限、错误返回格式这些假设列出来逐条确认 → 验收看只实现了你要的端点,且每个错误分支都有对应测试。
重构旧代码
遇到老模块太厚想拆开 → 先跑一遍现有测试留底,让 AI 说出风险点和计划 → 验收看重构前后测试全绿、对外行为不变。
🧭 划的是边界,不是锁能力
这四条原则的本质,是给 AI划边界,而不是锁它的发挥:哪里可以假设、哪里必须问、代码可以碰多远、什么状态不能算完成,边界画清楚,它反而跑得更快。完整规则文本在 CLAUDE.md,逐条的使用场景在 skills/karpathy-guidelines/SKILL.md,下次写 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),仅供参考