92K+ Star!这个 GitHub 仓库揭示了让 AI 编码助手「靠谱」的秘密
一份仅 4 条原则的 CLAUDE.md 文件,为何能在短短 3 个月获得 92,466 个 Star?它捕捉了 Andrej Karpathy 对 LLM 编码的核心观察,直击痛点。
🔥 仓库背景
仓库地址: github.com/forrestchan…
| 数据 | 值 |
|---|---|
| Stars | ⭐ 92,466 |
| Forks | 🍴 8,882 |
| 创建时间 | 2026-01-27 |
| 文件数量 | 仅 1 个(CLAUDE.md) |
一句话描述:
A single CLAUDE.md file to improve Claude Code behavior, derived from Andrej Karpathy's observations on LLM coding pitfalls.
翻译过来就是:一个单独的 CLAUDE.md 文件,基于 Andrej Karpathy 对 LLM 编码陷阱的观察,用来改进 Claude Code 的行为。
🎯 Andrej Karpathy 是谁?
如果你不认识他,简单介绍一下:
- 前 Tesla AI 总监 — 负责 Autopilot 的深度学习系统
- OpenAI 创始成员 — 参与 GPT 系列模型的开发
- 教育家 — 制作了一系列深度学习教程(从零实现神经网络)
他有个特点:喜欢从零开始理解事物,追求简单、本质、可解释。
他的代表作:
- micrograd — 用 100 行 Python 实现自动求导
- makemore — 字符级语言模型教程
- llm.c — 用纯 C 训练 LLM(不用 Python)
- nanoGPT — 最简化的 GPT 实现
📝 核心 4 原则详解
这份 CLAUDE.md 只有 4 条原则,但每一条都精准击中 LLM 编码的痛点:
原则 1:Think Before Coding(先思考再编码)
核心思想:不要假设。不要隐藏困惑。呈现权衡。
实现之前:
- 明确陈述你的假设。如果不确定,就问。
- 如果有多种理解,把它们都呈现出来——不要悄悄选择一个。
- 如果有更简单的方法,说出来。必要时反驳。
- 如果不清楚,停下。说出困惑点。提问。
痛点: LLM 经常「假设」需求,然后悄悄执行一个可能错误的理解。
举例:
- 用户说「添加验证」
- LLM 直接加了一堆复杂的验证逻辑
- 但用户可能只需要一个简单的非空检查
原则 2:Simplicity First(简单优先)
核心思想:最小代码解决问题。不要投机。
- 不要添加超出要求的特性。
- 不要为单次使用的代码做抽象。
- 不要添加未被请求的「灵活性」或「可配置性」。
- 不要处理不可能发生的错误场景。
- 如果你写了 200 行但可以只写 50 行,重写它。
自检问题:
「资深工程师会说这太复杂了吗?」如果是,简化。
痛点: LLM 经常「过度设计」,加入一堆不必要的抽象、配置、错误处理。
原则 3:Surgical Changes(精准修改)
核心思想:只改必须改的。只清理自己留下的混乱。
编辑现有代码时:
- 不要「改进」相邻代码、注释或格式。
- 不要重构没坏的东西。
- 匹配现有风格,即使你会用不同方式。
- 如果你发现无关的死代码,提一下——不要删除它。
测试标准:
每行修改都能直接追溯到用户的请求。
痛点: LLM 经常「顺手」重构周围的代码,导致 diff 里全是无关改动,review 困难。
原则 4:Goal-Driven Execution(目标驱动)
核心思想:定义成功标准。循环直到验证。
把任务转化为可验证的目标:
- 「添加验证」 → 「为无效输入写测试,然后让它们通过」
- 「修复 bug」 → 「写一个能重现的测试,然后让它通过」
- 「重构 X」 → 「确保测试前后都通过」
多步骤任务,简述计划:
1. [步骤] → 验证: [检查]
2. [步骤] → 验证: [检查]
3. [步骤] → 验证: [检查]
痛点: LLM 经常只有一个模糊的目标「让它工作」,缺少验证标准,导致反复试错。
🌟 为什么这么受欢迎?
这份 skill 之所以能获得 92K+ Star,我认为有这几个原因:
1. 直击痛点
每个用过 AI 编码助手的人都遇到过这些问题:
- LLM 写的代码太复杂
- LLM 「顺便」改了一堆不该改的地方
- LLM 假设需求然后执行错误的理解
- LLM 缺少明确的验证标准
这份 skill 精准描述了这些痛点,并提出解决方案。
2. 极简主义
- 只有 4 条原则
- 每条原则都有具体的行动指南
- 没有废话,没有空洞的口号
这符合 Andrej Karpathy 的风格:简单、本质、可执行。
3. 可立即应用
你可以把这份 CLAUDE.md 直接放到项目根目录,Claude Code 就会自动遵循这些原则。
不需要配置,不需要学习,拿来即用。
🔧 社区正在如何扩展?
从 GitHub 的 PR 讨论中,我看到社区正在朝这些方向扩展:
1. 扩展为 10 原则
PR #112 提出了一个 10 原则的 fork:
- 添加了架构层面的规则(Test Semantics、API Contracts、Boundaries 等)
- 引入「Project Lessons」概念,创建持续学习循环
- 创建了 GEMINI.md 和 AGENTS.md 支持更多 AI 平台
2. 添加架构和代码纪律
PR #110 添加了两个新章节:
- Architecture & Boundaries:层规则、大小预算、类型作为契约、所有权等
- Code-Level Discipline:命名规范、注释策略、错误处理、日志、类型卫生等
3. 多语言支持
PR #105 添加了中文镜像文档:
CLAUDE.zh-CN.mdCURSOR.zh-CN.md- 还添加了「Programming Principles and Workflow」章节
4. 多平台支持
PR #104 添加了 Codex skill metadata:
- 支持 OpenAI Codex
- 支持 Cursor
- 保持各平台行为一致
💡 如何应用到实际工作?
方法 1:直接放到项目根目录
# 下载 CLAUDE.md
curl -o CLAUDE.md https://raw.githubusercontent.com/forrestchang/andrej-karpathy-skills/main/CLAUDE.md
# 或者手动创建
然后把 CLAUDE.md 放到你的项目根目录。
方法 2:合并到现有 CLAUDE.md
如果你已经有项目的 CLAUDE.md,可以把这 4 条原则追加进去:
# 项目特定指令...
---
## 编码原则(源自 Andrej Karpathy 观察)
### 1. 先思考再编码
...
### 2. 简单优先
...
### 3. 精准修改
...
### 4. 目标驱动
...
方法 3:创建自己的 fork
根据你的团队习惯,扩展或修改这些原则。
🎯 效果自检
这份 skill 生效的表现:
| 指标 | 效果 |
|---|---|
| diff 质量 | 减少不必要的修改 |
| 重写次数 | 因过度复杂导致的重写减少 |
| 沟通效率 | 澄清问题在实现之前,而非错误之后 |
📌 总结
这份 92K+ Star 的 skill,本质上是一份 「如何让 LLM 编码助手靠谱」的指南。
它捕捉了 Andrej Karpathy 对 LLM 编码的核心观察:
- LLM 经常过度复杂化代码 → 用「简单优先」对抗
- LLM 经常假设需求 → 用「先思考再编码」对抗
- LLM 经常「顺便改进」不该改的东西 → 用「精准修改」对抗
- LLM 经常缺少验证标准 → 用「目标驱动」对抗
简单、精准、可执行 —— 这就是它受欢迎的秘密。
🔗 相关链接
- GitHub 仓库:github.com/forrestchan…
- Andrej Karpathy 的 GitHub:github.com/karpathy
- Claude Code 官方文档:docs.anthropic.com
💡 如果你也在使用 AI 编码助手,不妨试试这份 skill。只需要一个文件,就能让你的 AI 助手更靠谱。