Andrej Karpathy Skills:Karpathy 式 AI 编码准则 — 让 LLM 像资深工程师那样写代码
项目介绍
Andrej Karpathy Skills(仓库:multica-ai/andrej-karpathy-skills)不是一个传统的代码工具,而是一份精心设计的 CLAUDE.md 文件,将 AI 先驱 Andrej Karpathy 关于 LLM 编码缺陷的深刻观察系统化为四 条可执行的编码准则。
项目由 Forrest Chang(Multica)创建,基于 Karpathy 在 X(Twitter)上发表的对 LLM 编码问题的观察帖。截至目前,该项目已获得 139,897 Stars,单日增长 2,620 Stars,成为 GitHub 当日最受关注的"思想驱动型"开源项目。
核心动机:Karpathy 观察到的四大问题
Karpathy 认为当前 LLM 在编码中存在四个核心缺陷:
- 错误的假设——模型会擅自替你做假设而不验证
- 过度复杂化——把 100 行能解决的问题写成 1000 行
- 附带损害——修改不该改的代码,删除不理解的内容
- 缺乏目标感——完成任务不校验结果
“它们真的喜欢过度复杂化代码和 API,堆砌抽象层,不清除死代码……当 100 行就够的时候,实现一个臃肿的 1000 行结构。”
四个核心原则
1️⃣ 先思考再编码(Think Before Coding)
- 明确陈述假设——不确定时间问,不要猜测
- 呈现多种解释——歧义存在时不要默默选择一种
- 必要时要反驳——如果存在更简单的方案,要指出来
- 困惑时停下——指出不明确之处并请求澄清
2️⃣ 简约优先(Simplicity First)
- 不添加超出需求的功能
- 不为单次使用的代码创建抽象层
- 不添加未要求的"灵活性"
- 不处理不可能发生的错误场景
- 如果 200 行能写成 50 行,重写它
检验标准: 资深工程师会觉得这个实现过于复杂吗?如果是,简化它。
3️⃣ 精准修改(Surgical Changes)
- 只动必须改的代码
- 不要"改进"相邻的代码或注释
- 不要重构没有问题的代码
- 匹配现有风格,即使你会有不同做法
- 如果你注意到不相关的死代码,提出来——但不要删除
检验标准: 每一行修改都应该直接追溯到用户的请求。
4️⃣ 目标驱动执行(Goal-Driven Execution)
将命令式任务转化为可验证的目标:
| 不要这样说 | 要这样转化 |
|---|---|
| “添加验证” | “先写无效输入的测试,然后让它们通过” |
| “修复 Bug” | “先写复现 Bug 的测试,然后让测试通过” |
| “重构 X” | “确保重构前后测试都通过” |
Karpathy 关键洞见:“LLM 在循环迭代直到达成特定目标方面异常出色……不要告诉它做什么,给它成功标准,然后看它自己完成。”
安装方式
方式 A:Claude Code 插件(推荐)
/plugin marketplace add forrestchang/andrej-karpathy-skills
/plugin install andrej-karpathy-skills@karpathy-skills
方式 B:CLAUDE.md(按项目)
# 新项目
curl -o CLAUDE.md https://raw.githubusercontent.com/forrestchang/andrej-karpathy-skills/main/CLAUDE.md
# 已有项目(追加)
echo "" >> CLAUDE.md
curl https://raw.githubusercontent.com/forrestchang/andrej-karpathy-skills/main/CLAUDE.md >> CLAUDE.md
Cursor 用户
仓库包含已提交的规则文件(.cursor/rules/karpathy-guidelines.mdc),可跨项目使用。
实用效果与权衡
使用效果:
- 不必要的 diff 显著减少
- 更少的代码重写
- 实施之前主动提出澄清问题
- 生成更干净、更简洁的 PR
权衡: 偏重谨慎而非速度。对于简单任务(拼写修正、一行改动),需要人工判断——并非每次修改都需要完整的四步流程。
类似项目对比
| 项目 | 相似点 | 差异 |
|---|---|---|
| obra/superpowers | 都是 AI 编码方法论 | Superpowers 是完整的开发流程方法论,内容更丰富但更重;Karpathy Skills 仅一个 CLAUDE.md,极简 |
| mattpocock/skills | 都是 AI Agent 技能集合 | mattpocock/skills 更注重工程实操(diagnose、tdd 等具体命令);Karpathy Skills 更注重思维原则 |
| anthropics/skills | Anthropic 官方技能库 | 官方出品,内容更全面但缺少 Karpathy 独特的"简约主义"视角 |
结合当前 AI 发展背景的分析
2026 年 5 月,AI 编码工具已经度过了"能不能生成代码"的阶段,进入了"如何生成高质量代码"的新阶段。Andrej Karpathy Skills 的爆火并非偶然:
- Token 经济学的驱动——RTK 和 CodeGraph 从技术层面优化 Token 消耗,而 Karpathy Skills 从行为层面减少无意义的代码修改——两者相辅相成
- "质量焦虑"的体现——开发者发现 AI 虽然能写很多代码,但这些代码往往过度设计。Karpathy 的核心批评准确击中了这一痛点
- 思想框架的重要性——在一个框架泛滥的时代(GSD、BMAD、Spec-Kit),Karpathy Skills 通过一份简单的 MD 文件,用 4 条原则影响 AI 的行为——这是"极简主义方法论"的胜利
对开发者的启示: 与其找更"智能"的模型,不如给现有模型更好的行为指南。一个精心设计的 CLAUDE.md 文件,可能比换更大的模型带来更显著的编码质量提升。
更新记录(2026-05-20)
- 首次上榜,当日 Stars 增长 2,620+
- 总 Stars 达到 139,897
- 进入 GitHub Trending 今日榜 Top 3