## Andrej Karpathy 对 LLM 编程的吐槽,被浓缩成了一份 CLAUDE.md
如果你经常用 Claude Code 写代码,大概率经历过这种抓狂时刻:AI 擅自替你做了假设,然后头也不回地一路错下去;你说要 100 行能解决的事,它给你堆出 1000 行的抽象;改一个 bug,结果顺手把旁边不相干的注释和代码也”优化”掉了。
这些问题不是你的错觉,而是 Andrej Karpathy 本人点名过的 LLM 编程顽疾。他在 X 上发过一段广为流传的观察:
> “模型会替你做出错误假设,然后不加验证地一路跑下去。它们不管理自己的困惑、不主动澄清、不暴露矛盾、不呈现权衡、也不在该反驳的时候反驳。”
>
> “它们特别喜欢把代码和 API 过度复杂化,堆砌抽象,清理不掉死代码……明明 100 行能搞定,非要写 1000 行的臃肿结构。”
>
> “它们有时还是会改动、删除那些自己并不完全理解、甚至与任务无关的注释和代码。”
现在有人把这段吐槽落成了实打实的工具——**andrej-karpathy-skills**,一份只有单个 CLAUDE.md 文件的项目,把 Karpathy 的观察提炼成四条可直接套用的原则。
### 核心功能
整个项目就做一件事:给你一份精心设计的 CLAUDE.md,用来约束 Claude Code 的行为,让它别再犯那些经典毛病。四条原则分别是:
| 原则 | 针对的问题 |
|——|———–|
| **Think Before Coding**(先想再写) | 错误假设、被藏起来的困惑、缺失的权衡 |
| **Simplicity First**(简单优先) | 过度设计、臃肿的抽象 |
| **Surgical Changes**(外科手术式改动) | 正交编辑、碰不该碰的代码 |
| **Goal-Driven Execution**(目标驱动执行) | 用测试先行、可验证的成功标准来驱动 |
这四条原则环环相扣,直接对治 LLM 写代码时的常见病。
### 技术特色
**1. Think Before Coding —— 别假设,别藏困惑**
LLM 常常悄悄选一种理解方式就闷头执行。这条原则强制它显式推理:把假设讲清楚、有歧义时给出多种解读、该反驳时反驳、卡住时点名困惑并主动提问。
**2. Simplicity First —— 最少代码解决问题**
坚决抵制过度工程:不做超出需求的功能、不为单次使用的代码造抽象、不做没人要的”灵活性”、不为不可能的场景写错误处理。检验标准就一句话——如果资深工程师觉得这代码过度复杂了,就简化它。
**3. Surgical Changes —— 只碰必须碰的**
改现有代码时:不去”改进”相邻的代码、注释或格式;不去重构没坏的东西;匹配现有风格。而自己改动造成的孤儿代码(无用的 import/变量/函数)则要清理干净。检验标准:每一行被改的代码,都要能追溯到用户的需求。
**4. Goal-Driven Execution —— 定义成功标准,循环到验证通过**
把命令式任务转化成可验证目标:”加个校验” → “为非法输入写测试,再让它通过”;”修 bug” → “先写一个能复现它的测试,再让它通过”。多步任务要列简短的步骤计划,每步带验证点。Karpathy 的原话是:”别告诉它做什么,给它成功标准,看它自己跑。”
### 详细使用步骤
有两种安装方式,任选其一:
**方式 A:Claude Code 插件(推荐)**
在 Claude Code 中,先添加插件市场:
“`
/plugin marketplace add forrestchang/andrej-karpathy-skills
“`
然后安装插件:
“`
/plugin install andrej-karpathy-skills@karpathy-skills
“`
安装后,这套指南会成为 Claude Code 插件,跨所有项目生效。
**方式 B:直接使用 CLAUDE.md(按项目)**
新项目直接下载:
“`
curl -o CLAUDE.md https://raw.githubusercontent.com/forrestchang/andrej-karpathy-skills/main/CLAUDE.md
“`
已有项目则追加到现有 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`),用 Cursor 打开项目时同样会生效。
### 适用场景
这套指南最适合以下人群和场景:
– **重度 Claude Code / Cursor 用户**:每天和 AI 结对编程,受够了它自说自话和过度设计的人,几乎是刚需。
– **维护大型既有代码库的开发者**:Surgical Changes 原则能显著减少”改一处带崩一片”的意外。
– **希望 AI 代码更可控的团队**:把这份 CLAUDE.md 并入团队已有的项目规范,能统一 AI 产出的代码风格和边界。
– **想让 AI 自主跑完多步任务的场景**:Goal-Driven Execution 原则让 AI 有了清晰的验证闭环,减少反复澄清。
也可以把它和项目自己的规则合并——在文件里加一段 `## Project-Specific Guidelines`,比如”必须用 TypeScript strict 模式””所有 API 端点都要有测试”,就能兼顾通用约束和项目特殊性。
一个值得注意的设计取向:这套指南**偏向谨慎而非速度**。对于琐碎任务(改个拼写、明显的一行式修复),作者也明确说要用判断力,不必每处都套全套严格流程——目标是减少非琐碎工作上的昂贵错误,而不是拖慢简单任务。
—
这个项目上线后在 GitHub Trending 上一路蹿升,几天内就积累了 20 多万 star,足见它戳中了多少开发者的痛点。如果你也被 AI 写代码时”想当然”的毛病困扰过,不妨装一份试试——毕竟让 Karpathy 的观察替你打工,成本也就是一份 CLAUDE.md 而已。
仓库地址:https://github.com/multica-ai/andrej-karpathy-skills
















cqlbgzs@163.com 1年前0
d好879445037@qq.com 2年前0
购买了 无法下载Alexcc 3年前0
强大Alexcc 3年前0
看不了教程Alexcc 3年前0
雷刺下载Alexcc 3年前0
下载Alexcc 3年前0
下载dsa456159 3年前0
下载