<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>CLAUDE-Md on 奇诺分享 | 重在分享</title>
        <link>https://blog.ccino.org/tags/claude-md/</link>
        <description>Recent content in CLAUDE-Md on 奇诺分享 | 重在分享</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh-cn</language>
        <lastBuildDate>Thu, 21 May 2026 08:00:00 +0800</lastBuildDate><atom:link href="https://blog.ccino.org/tags/claude-md/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>一个文件，140K Stars：Karpathy 观察到的 LLM 编程陷阱被做成了 CLAUDE.md</title>
        <link>https://blog.ccino.org/p/karpathy-claude-md-140k-stars-2026/</link>
        <pubDate>Thu, 21 May 2026 08:00:00 +0800</pubDate>
        
        <guid>https://blog.ccino.org/p/karpathy-claude-md-140k-stars-2026/</guid>
        <description>&lt;img src="https://blog.ccino.org/p/karpathy-claude-md-140k-stars-2026/imgs/cover.png" alt="Featured image of post 一个文件，140K Stars：Karpathy 观察到的 LLM 编程陷阱被做成了 CLAUDE.md" /&gt;&lt;p&gt;GitHub Trending 今天排第一的项目叫 &lt;code&gt;multica-ai/andrej-karpathy-skills&lt;/code&gt;，截至今日已有 140,750 个 Star，昨天单日新增 2,679 个。&lt;/p&gt;
&lt;p&gt;它的全部内容就是一个文件：&lt;code&gt;CLAUDE.md&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;项目描述说得很直白：&amp;ldquo;A single CLAUDE.md file to improve Claude Code behavior, derived from Andrej Karpathy&amp;rsquo;s observations on LLM coding pitfalls.&amp;quot;（一个改善 Claude Code 行为的单文件配置，提炼自 Andrej Karpathy 对 LLM 编程陷阱的观察。）&lt;/p&gt;
&lt;p&gt;这件事有两层意思值得分开看。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;claudemd-是什么&#34;&gt;CLAUDE.md 是什么
&lt;/h2&gt;&lt;p&gt;如果你用过 Claude Code，可能见过项目根目录里的 &lt;code&gt;CLAUDE.md&lt;/code&gt; 文件。Claude Code 在启动时会自动读取这个文件，把里面的内容当成对话上下文的一部分——相当于在每次对话开始前，先给 AI 念一份&amp;quot;工作守则&amp;rdquo;。&lt;/p&gt;
&lt;p&gt;它不是提示词工程里那种一次性的 system prompt，而是持久的项目级行为配置。你在里面写什么，Claude Code 在这个项目里就倾向于怎么工作。&lt;/p&gt;
&lt;p&gt;这种机制存在已经有一段时间了，但真正被广泛使用是在 Claude Code 从邀请制转向公开测试之后。大量开发者开始摸索：写什么样的 CLAUDE.md，能让 AI 编程的结果更可控？&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://blog.ccino.org/p/karpathy-claude-md-140k-stars-2026/imgs/claude-md-workflow.png&#34;
	width=&#34;1376&#34;
	height=&#34;768&#34;
	srcset=&#34;https://blog.ccino.org/p/karpathy-claude-md-140k-stars-2026/imgs/claude-md-workflow_hu_3055126ff4f24a56.png 480w, https://blog.ccino.org/p/karpathy-claude-md-140k-stars-2026/imgs/claude-md-workflow_hu_41a41fef6d791a86.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;CLAUDE.md 被 Claude Code 自动读取，规则在整个项目范围内持久生效&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;179&#34;
		data-flex-basis=&#34;430px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;andrej-karpathy-skills&lt;/code&gt; 给了一个答案。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;文件里写了什么&#34;&gt;文件里写了什么
&lt;/h2&gt;&lt;p&gt;这个 CLAUDE.md 的核心是四条规则。每条规则背后，都对应一类已经被反复观察到的 LLM 编程失误。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Think Before Coding（编码前先想清楚）&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;规则原文：&amp;ldquo;State your assumptions explicitly. If uncertain, ask.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Karpathy 曾多次指出，LLM 最容易犯的错误之一是&amp;quot;沉默地做出假设&amp;quot;。你问的是 A，AI 理解成了 A&amp;rsquo;，然后在错误理解的基础上写出完整的代码，等你发现的时候已经走偏了很远。这条规则的意图是强制 AI 在开始工作前把自己的理解说出来，而不是直接动手。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Simplicity First（最简原则）&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;ldquo;Minimum code that solves the problem. Nothing speculative.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;这是另一个经典陷阱：AI 会自动补全你没要求的功能。你让它写一个读取文件的函数，它顺手加了错误处理、日志记录、配置项、类型注解……代码变长了，但你需要的只是那个核心逻辑。这条规则要求：只写被要求的，不写&amp;quot;可能有用&amp;quot;的。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Surgical Changes（外科手术式修改）&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;ldquo;Touch only what you must. Clean up only your own mess.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;AI 在修改代码时有重构冲动。让它改一个 bug，它可能顺带把整个函数的命名风格、缩进格式全都重写了——哪怕你的原始风格没有问题。这条规则限制改动范围：只碰需要改的那行，不把周边代码一起&amp;quot;顺手优化&amp;quot;。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Goal-Driven Execution（目标驱动执行）&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;ldquo;Define success criteria. Loop until verified.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;这条解决的是验证问题。很多时候 AI 写完代码就算完事，但&amp;quot;写完&amp;quot;不等于&amp;quot;正确&amp;quot;。这条规则要求把任务转化成可验证的目标，写完后要有确认步骤，而不是生成代码后直接交给你。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://blog.ccino.org/p/karpathy-claude-md-140k-stars-2026/imgs/four-rules-cards.png&#34;
	width=&#34;1376&#34;
	height=&#34;768&#34;
	srcset=&#34;https://blog.ccino.org/p/karpathy-claude-md-140k-stars-2026/imgs/four-rules-cards_hu_de07ddaefaf11206.png 480w, https://blog.ccino.org/p/karpathy-claude-md-140k-stars-2026/imgs/four-rules-cards_hu_f18962368dc26298.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;四条规则：编码前先想清楚 / 最简原则 / 外科手术式修改 / 目标驱动执行&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;179&#34;
		data-flex-basis=&#34;430px&#34;
	
&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;为什么-140k-人觉得值得-star&#34;&gt;为什么 140K 人觉得值得 Star
&lt;/h2&gt;&lt;p&gt;这个数字的规模有些反直觉。一个 CLAUDE.md 文件，不涉及任何框架、不提供任何可安装的包，凭什么能超过很多有实质功能的工具库？&lt;/p&gt;
&lt;p&gt;原因大概有两个。&lt;/p&gt;
&lt;p&gt;第一个是时机。Karpathy 在这个项目走红的同一周刚刚加入 Anthropic，他本人也是这个工具的潜在用户和观察者。Claude Code 的活跃用户群此刻正处于某种共鸣状态：大家都在摸索 CLAUDE.md 怎么写，突然出现一份据说来自 LLM 领域最有影响力的研究者的观察总结，传播速度自然快。&lt;/p&gt;
&lt;p&gt;第二个是可操作性。这份文件没有任何使用门槛。你不需要理解背后的原理，只需要把文件复制到你的项目根目录，Claude Code 下次启动时就会自动读取。对于很多人来说，它是&amp;quot;我在 Claude Code 上遇到的问题有了一个现成的解决方案&amp;quot;，而不是&amp;quot;我需要学一套新方法&amp;quot;。&lt;/p&gt;
&lt;p&gt;HackerNews 上有个评论说得比较直接：&amp;ldquo;It&amp;rsquo;s basically a distilled version of &amp;lsquo;don&amp;rsquo;t let the LLM do more than you asked.&amp;rsquo;&amp;quot;（这基本上是&amp;quot;别让 LLM 做超出你要求的事&amp;quot;的提炼版。）&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;怎么用&#34;&gt;怎么用
&lt;/h2&gt;&lt;p&gt;最直接的用法：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;打开 &lt;a class=&#34;link&#34; href=&#34;https://github.com/multica-ai/andrej-karpathy-skills&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;GitHub 项目页&lt;/a&gt;，找到 &lt;code&gt;CLAUDE.md&lt;/code&gt; 文件&lt;/li&gt;
&lt;li&gt;复制全部内容&lt;/li&gt;
&lt;li&gt;在你的项目根目录创建 &lt;code&gt;CLAUDE.md&lt;/code&gt;，粘贴进去&lt;/li&gt;
&lt;li&gt;重启 Claude Code（或开始新对话）&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;如果你的项目根目录已经有 &lt;code&gt;CLAUDE.md&lt;/code&gt;，可以把这四条规则追加进去，而不是完全替换——CLAUDE.md 支持叠加，你可以在里面同时写项目特定的约定（比如&amp;quot;这个项目用 TypeScript strict mode，不要用 any&amp;rdquo;）和通用的 LLM 行为规则。&lt;/p&gt;
&lt;p&gt;Claude Code 还支持 &lt;code&gt;~/.claude/CLAUDE.md&lt;/code&gt;（用户级配置），写在这里的规则对所有项目生效。如果你认同这四条规则的逻辑，可以把它放到用户级配置，不用在每个项目里重复复制。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;claudemd-的边界&#34;&gt;CLAUDE.md 的边界
&lt;/h2&gt;&lt;p&gt;这个文件本身的传播，也暴露了一个开放问题：CLAUDE.md 对 LLM 行为的影响有多稳定？&lt;/p&gt;
&lt;p&gt;写进配置文件的规则不像硬编码的系统提示那样必然生效。AI 在处理复杂任务时会有上下文优先级的权衡，如果任务要求和规则约束产生冲突，规则不一定总是赢。这个项目的描述里也承认了这一点：&amp;ldquo;these guidelines bias toward caution over speed, recognizing that trivial tasks may warrant less rigor.&amp;quot;（这些规则偏向谨慎而非速度，对于简单任务可能显得过于严格。）&lt;/p&gt;
&lt;p&gt;换句话说，这四条规则是观察性的总结，不是铁板钉钉的保证。它减少了 LLM 编程里的某些常见失误，但没有消除失误本身。&lt;/p&gt;
&lt;p&gt;真正有价值的，大概不只是这个文件的内容，而是它所代表的思路：你可以用 CLAUDE.md 给 AI 编程工具建立项目级的行为边界，这个机制本身值得每个认真用 Claude Code 的人花时间研究。&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;参考来源&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/multica-ai/andrej-karpathy-skills&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;GitHub 项目：multica-ai/andrej-karpathy-skills&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/trending&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;GitHub Trending（2026-05-21）&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://x.com/karpathy/status/2056753169888334312&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Karpathy 加入 Anthropic 公告（X）&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        
    </channel>
</rss>
