GitHub Trending 今天排第一的项目叫 multica-ai/andrej-karpathy-skills,截至今日已有 140,750 个 Star,昨天单日新增 2,679 个。
它的全部内容就是一个文件:CLAUDE.md。
项目描述说得很直白:“A single CLAUDE.md file to improve Claude Code behavior, derived from Andrej Karpathy’s observations on LLM coding pitfalls."(一个改善 Claude Code 行为的单文件配置,提炼自 Andrej Karpathy 对 LLM 编程陷阱的观察。)
这件事有两层意思值得分开看。
CLAUDE.md 是什么
如果你用过 Claude Code,可能见过项目根目录里的 CLAUDE.md 文件。Claude Code 在启动时会自动读取这个文件,把里面的内容当成对话上下文的一部分——相当于在每次对话开始前,先给 AI 念一份"工作守则”。
它不是提示词工程里那种一次性的 system prompt,而是持久的项目级行为配置。你在里面写什么,Claude Code 在这个项目里就倾向于怎么工作。
这种机制存在已经有一段时间了,但真正被广泛使用是在 Claude Code 从邀请制转向公开测试之后。大量开发者开始摸索:写什么样的 CLAUDE.md,能让 AI 编程的结果更可控?

andrej-karpathy-skills 给了一个答案。
文件里写了什么
这个 CLAUDE.md 的核心是四条规则。每条规则背后,都对应一类已经被反复观察到的 LLM 编程失误。
Think Before Coding(编码前先想清楚)
规则原文:“State your assumptions explicitly. If uncertain, ask.”
Karpathy 曾多次指出,LLM 最容易犯的错误之一是"沉默地做出假设"。你问的是 A,AI 理解成了 A’,然后在错误理解的基础上写出完整的代码,等你发现的时候已经走偏了很远。这条规则的意图是强制 AI 在开始工作前把自己的理解说出来,而不是直接动手。
Simplicity First(最简原则)
“Minimum code that solves the problem. Nothing speculative.”
这是另一个经典陷阱:AI 会自动补全你没要求的功能。你让它写一个读取文件的函数,它顺手加了错误处理、日志记录、配置项、类型注解……代码变长了,但你需要的只是那个核心逻辑。这条规则要求:只写被要求的,不写"可能有用"的。
Surgical Changes(外科手术式修改)
“Touch only what you must. Clean up only your own mess.”
AI 在修改代码时有重构冲动。让它改一个 bug,它可能顺带把整个函数的命名风格、缩进格式全都重写了——哪怕你的原始风格没有问题。这条规则限制改动范围:只碰需要改的那行,不把周边代码一起"顺手优化"。
Goal-Driven Execution(目标驱动执行)
“Define success criteria. Loop until verified.”
这条解决的是验证问题。很多时候 AI 写完代码就算完事,但"写完"不等于"正确"。这条规则要求把任务转化成可验证的目标,写完后要有确认步骤,而不是生成代码后直接交给你。

为什么 140K 人觉得值得 Star
这个数字的规模有些反直觉。一个 CLAUDE.md 文件,不涉及任何框架、不提供任何可安装的包,凭什么能超过很多有实质功能的工具库?
原因大概有两个。
第一个是时机。Karpathy 在这个项目走红的同一周刚刚加入 Anthropic,他本人也是这个工具的潜在用户和观察者。Claude Code 的活跃用户群此刻正处于某种共鸣状态:大家都在摸索 CLAUDE.md 怎么写,突然出现一份据说来自 LLM 领域最有影响力的研究者的观察总结,传播速度自然快。
第二个是可操作性。这份文件没有任何使用门槛。你不需要理解背后的原理,只需要把文件复制到你的项目根目录,Claude Code 下次启动时就会自动读取。对于很多人来说,它是"我在 Claude Code 上遇到的问题有了一个现成的解决方案",而不是"我需要学一套新方法"。
HackerNews 上有个评论说得比较直接:“It’s basically a distilled version of ‘don’t let the LLM do more than you asked.’"(这基本上是"别让 LLM 做超出你要求的事"的提炼版。)
怎么用
最直接的用法:
- 打开 GitHub 项目页,找到
CLAUDE.md文件 - 复制全部内容
- 在你的项目根目录创建
CLAUDE.md,粘贴进去 - 重启 Claude Code(或开始新对话)
如果你的项目根目录已经有 CLAUDE.md,可以把这四条规则追加进去,而不是完全替换——CLAUDE.md 支持叠加,你可以在里面同时写项目特定的约定(比如"这个项目用 TypeScript strict mode,不要用 any”)和通用的 LLM 行为规则。
Claude Code 还支持 ~/.claude/CLAUDE.md(用户级配置),写在这里的规则对所有项目生效。如果你认同这四条规则的逻辑,可以把它放到用户级配置,不用在每个项目里重复复制。
CLAUDE.md 的边界
这个文件本身的传播,也暴露了一个开放问题:CLAUDE.md 对 LLM 行为的影响有多稳定?
写进配置文件的规则不像硬编码的系统提示那样必然生效。AI 在处理复杂任务时会有上下文优先级的权衡,如果任务要求和规则约束产生冲突,规则不一定总是赢。这个项目的描述里也承认了这一点:“these guidelines bias toward caution over speed, recognizing that trivial tasks may warrant less rigor."(这些规则偏向谨慎而非速度,对于简单任务可能显得过于严格。)
换句话说,这四条规则是观察性的总结,不是铁板钉钉的保证。它减少了 LLM 编程里的某些常见失误,但没有消除失误本身。
真正有价值的,大概不只是这个文件的内容,而是它所代表的思路:你可以用 CLAUDE.md 给 AI 编程工具建立项目级的行为边界,这个机制本身值得每个认真用 Claude Code 的人花时间研究。
参考来源: