博亚(中国)体育app 用12条规则将AI诞妄率缩短4倍!

——本文在顶级大神Andrej Karpathy 广为流传的 AI 编码规则基础上进行了扩张,引入了 8 条突出准则,旨在大幅缩短 Claude 在处理复杂、多法子 Agent 任务时的诞妄率。
4 条 CLAUDE.md 规则将 Claude 出错率从 41% 降至 11%——历经 30 个代码库,我又补充了 8 条
经由 6 周、覆盖 30 个代码库的实测,将出错率从 41% 压缩到 3%。以下是圆善的 12 条规则、每一条背后确切切训戒,以及原始 4 条规则悄然失效的 4 个场景。
配景
2026 年 1 月底,Andrej Karpathy 公开怀恨 Claude 写代码的三大恶疾:寡言作念出诞妄假定、过度复杂化、以及误伤不该动的代码。
Forrest Chang 读完帖子后,把这些怀恨索取成 4 条活动规则,打包进一个 CLAUDE.md 文献并发布到 GitHub。第一天就收货了 5,828 个 Star,两周内被储藏 6 万次,现在已打破 12 万 Star——2026 年增长最快的单文献仓库。

我在 30 个代码库上实测了 6 周。
4 条规则如实有用。在它们能覆盖的场景里,原先约 40% 的出错率降到了 3% 以下。但这套模板是为确立 1 月份的代码编写问题而生的。
2026 年 5 月的 Claude Code 生态已迥然相异——Agent 彼此骚动、Hook 级联触发、妙技加载冲突、跨会话多法子职责流断链。
于是我突出补充了 8 条规则。下文将一一拆解:圆善的 12 条 CLAUDE.md、每条规则背后的世代相承,以及原始 Karpathy 模板悄然失效的 4 个盲区。
若是只想径直复制使用,圆善文献在文末。
为什么值得喜爱
CLAUDE.md 是通盘 AI 编程器用链中被严重低估的一个文献。大大皆开导者要么:
把它当成偏好垃圾桶,堆到 4,000+ Token,降服率跌至 30%;
统统跳过,每次手动提醒——Token 浪费 5 倍,会话间毫无一致性;
复制一个模板就放着岂论。能用两周,然后随代码库变化偷偷失效。
Anthropic 官方文档明确讲解:CLAUDE.md 是建议性的,Claude 的降服率约为 80%。逾越 200 行后,降服率会急剧下落,因为报复规则被褪色在杂音里。
Karpathy 的模板用一个文献、65 行、4 条规则处分了这个问题。这是下限。
上限还更高。再加 8 条规则,覆盖的就不仅仅 Karpathy 其时怀恨的代码编写问题,还包括那时还不存在的 Agent 编排问题。
原始 4 条规则
规则 1 — 先想了了再动手 不作念隐性假定。把假定说出来。点明衡量弃取。遭逢概略情的先问,而不是猜。有更简便的决策时主动提议。
规则 2 — 简便优先 用最少的代码处分问题。不加投契性功能。单次使用的代码不要搞概述。若是一个资深工程师会说"过度策画"——就简化。
规则 3 — 精确蜕变 只动必须动的场合。不要"顺遂优化"临近代码、扫视或时局。不重构莫得问题的东西。保握现存立场。
规则 4 — 方针导向实践 界说告捷标准。轮回直到考据通过。不要告诉 Claude 该走哪些法子,告诉它告捷是什么花式,让它我方迭代。
这四条关闭了约 40% 的失控场景。剩下约 60% 藏不才面的盲区里。

我补充的 8 条规则(过甚原因)
每一条皆源于 Karpathy 那 4 条不够用确切切时刻。
规则 5 — 不要让模子作念非谈话职责
Karpathy 的规则对此只字未提。当模子被拿来决定"该不该重试 API 调用"、"怎样路由音书"、"何时升级处理",升天是每周给出不同决定——用 $0.003/Token 的价钱买了一堆迅速 if-else。
触发时刻: 调用 Claude 来"判断 503 要不要重试"的代码运行精致了两周,然后初始抽风——因为模子初始把央求体算作决策高下文来读,重试计谋变得统统迅速。
规则 6 — 树立硬性 Token 预算,莫得例外
莫得预算的 CLAUDE.md 是一张空缺支票。每个轮回皆可能螺旋成 5 万 Token 的高下文垃圾场。模子不会自动停。
触发时刻: 一次调试会话跑了 90 分钟。模子适意地在褪色份 8KB 报错信息上反复迭代,逐淡健无私方照旧试过哪些确立决策。到临了,它在建议我 40 条音书前就拒却过的修法。Token 预算会在第 12 分钟就把它掐死。
规则 7 — 显式裸露冲突,不要取均值
现代码库里两个部分存在不对,Claude 会试图双方皆凑趣儿。升天是一团不连贯的东西。
触发时刻: 代码库里并存两套诞妄处理模式——一套是 async/await 配显式 try/catch,另一套用全局 error boundary。Claude 写的新代码两套皆用了。双重诞妄处理器。我花了 30 分钟才搞清亮为什么诞妄会被吞掉两次。
规则 8 — 先读再写
Karpathy 的"精确蜕变"告诉 Claude 不要碰临近代码,但莫得告诉 Claude 先露出临近代码。莫得这条,Claude 写的新代码会和 30 行外的现存代码打架。
触发时刻: Claude 在一个现存的同名函数傍边又加了一个一模相似的函数——因为它压根没读傍边的代码。两个函数作念的是褪色件事。新的因为 import 限定优先顺利了,而旧的才是 6 个月以来的泰斗起首。
规则 9 — 测试不可或缺,但测试自己不是方针
Karpathy 的方针导向实践暗含了"测试通过"作为告捷标准。但在实践中,Claude 会把"测试通过"算作唯独方针,写出能让浅层测试通过、却把其他一切搞坏的代码。
触发时刻: Claude 为一个鉴权函数写了 12 个测试,沿途通过。鉴权在坐褥环境是坏的。那些测试仅仅在考据函数"复返了某个东西",而不是"复返了正确的东西"——函数靠复返一个常量就过了总共测试。
规则 10 — 永劫操作需要查抄点
Karpathy 的模板假定的是一次性交互。确切的 Claude Code 职责是多法子的——跨 20 个文献的重构、在一个会话里构立功能、跨多个提交调试。莫得查抄点,一次误操作会让总共程度付之东流。
触发时刻: 一次 6 步重构在第 4 步出了问题。等我发现的时候,Claude 照旧在诞妄现象上链接完成了第 5、6 步。把这团乱麻理了了花的时候,比从新重来还要长。查抄点会在第 4 步就拿获问题。
规则 11 — 商定优于立异
在一个有训导模式的代码库里,Claude 心爱引入我方的立场。即使它的方式"更好",两种模式并存带来的危害也逾越任何一种单独存在。
触发时刻: Claude 在一个全是 Class 组件的代码库里引入了 React Hooks。功能上是对的,但也把代码库的测试模式搞坏了——那套测试假定了 componentDidMount 的存在。花了半天时候删掉重写。
规则 12 — 失败要高声,不可偷偷
最贵的 Claude 失败,是那些看起来告捷了的失败。函数"运行以前"但复返了诞妄数据。迁徙"完成"但跳过了 30 笔纪录。测试"通过"但断言自己等于错的。
触发时刻: Claude 说数据库迁徙"已告捷完成"。实践上它偷偷跳过了 14% 触发拘谨冲突的纪录。跳过活动被写进了日记,但莫得浮出水面。11 天后报表初始出现荒谬,博亚(中国)体育app才发现问题。
数据升天
在 30 个代码库上跟踪褪色组 50 个代表性任务,历时 6 周,三种树立对比:
树立
出错率
规则降服率
无 CLAUDE.md
41%
—
Karpathy 原始 4 条
11%
78%
圆善 12 条
3%
76%

出错率 = 任务需要改进或重写才调合乎意图。计入:寡言作念诞妄假定、过度工程化、误伤代码、静默失败、违背商定、冲突取均值、遗漏查抄点。
降服率 = Claude 在规则适用时,有明如实践该规则的比例。
专门念念的论断不是从 41% 降到 3% 这个大标题,而是:从 4 条扩张到 12 条,降服率险些莫得损耗(78% → 76%),出错率却又下落了 8 个百分点。新规则覆盖的是原有 4 条未波及的失败模式,二者不争褪色块注主意预算。

Karpathy 模板的 4 个隐性失效场景
即使不加多新规则,原始 4 条模板在以下情况也不够用:
1. 永劫候运行的 Agent 任务 Karpathy 的规则针对的是 Claude 写代码的陡然。对 Claude 运行多法子 Pipeline 时发生的事情只字未提。莫得预算规则,莫得查抄点规则,莫得"高声报错"规则。Pipeline 会偷偷跑偏。
2. 多代码库一致性 "匹配现存立场"假定只消一种立场。在包含 12 个劳动的 Monorepo 里,Claude 必须领受用哪种立场。原始规则莫得告诉它该奈何选——它会迅速选,大略取均值。
3. 测试质地 方针导向实践把"测试通过"当成告捷。但莫得说测试必须是成心念念的。升天是测了个沉寂孤身一人,但 Claude 对此充满信心。
4. 坐褥代码 vs 原型代码 褪色套保护坐褥代码免于过度工程化的规则,也会把那些合理需要 100 行投契性脚手架来探索宗旨的原型搞坏。Karpathy 的"简便优先"在早期探索阶段会误触发。

什么没用
在详情这 12 条之前,我尝试过:
从社区搬来的规则:大大皆要么是换了说法的 Karpathy 原版,要么是不可泛化的限度特定例则("耐久使用 Tailwind 类")。全删了。
逾越 12 条:测到 18 条。降服率从 76% 跌到 52%。200 行天花板是确切存在的。超事后 Claude 初始模式匹配到"规则存在",而不是确切读规则。
依赖可能不存在的器用的规则:"耐久使用 eslint"在 eslint 未装配时静默失败。改为与智商无关的表述:"匹配代码库强制实践的立场"。
在 CLAUDE.md 里用例子代替规则:例子比规则重得多。三个例子浪掷的高下文相配于约 10 条规则,何况 Claude 会对例子过拟合。规则是概述的,例子是具体的,用规则。
"要小心"/"得当念念考"/"确切专注":纯杂音。降服率跌到 30%,因为这些要求无法被测试。改成具体的号令式表述("显式讲解假定")。
告诉 Claude 要阐述得"像资深工程师":没用。Claude 照旧以为我方是资深的。差距在于"想"和"作念"之间。号令式规则能弥合这个差距,身份提醒莫得这个遵守。
圆善 12 条 CLAUDE.md(可径直复制)
# CLAUDE.md — 活动公约
## 规则 1:先想了了再动手
在写代码之前,显式讲解你作念出的假定。点明衡量弃取。遭逢概略情的,先问而不是猜。
若是存在更简便的决策,主动提议。
## 规则 2:简便优先
用能处分问题的最少代码。不加投契性功能。单次使用的代码不要搞概述。
若是资深工程师会说"过度策画"——就简化。
## 规则 3:精确蜕变
只动必须动的场合。不要"顺遂优化"临近代码、扫视或时局。
不重构莫得问题的东西。保握现存代码立场。
## 规则 4:方针导向实践
初始前界说告捷标准。轮回实践直到考据通过。
告诉我告捷是什么花式,而不是该走哪些法子。
## 规则 5:谈话职责归模子,详情趣职责归代码
重试逻辑、路由规则、升级条目——用代码完了,不要让模子在运行时动态决定。
## 规则 6:硬性 Token 预算
每次会话最多 X 次器用调用 / Y 个 Token(凭据技俩填写具体数字)。
到达预算上限时停驻来,禀报程度,恭候指示。不要链接螺旋下去。
## 规则 7:显式裸露冲突
若是代码库的两个部分彼此矛盾——模式、商定、诞妄处理——在链接之前先指出来。
不要双方皆凑趣儿或取均值,这会产生不连贯的代码。
## 规则 8:先读再写
在向文献添加代码之前,先读褪色文献里临近的代码。
在跨文献引入内容之前,先了解它的商定。不要在没读过傍边代码的情况下添加函数。
## 规则 9:写成心念念的测试
测试要考据正确的活动,而不仅仅考据函数"复返了某个东西"。
断言必须有可能失败。告捷标准是"测试能拿获确切的 bug",而不是"测试通过了"。
## 规则 10:多法子任务需要查抄点
在逾越 3 步的任务里,每完成一个逻辑阶段就停驻来考据现象,然后再链接。
不要在未资格证的现象表层叠后续法子。
## 规则 11:商定优于立异
使用代码库里已有的模式、库和立场,即使你知说念更好的决策。
有更好决策的话,先指出来,等阐明再引入,不要径直就用。
## 规则 12:失败要高声
若是操作失败、跳过了纪录、遭逢了诞妄——把它浮出来,不要偷偷纪录后链接。
"部分告捷"等同于失败。把它算作失败来禀报。
装配模范:
# 1. 将 Karpathy 的 4 条规则基线追加到你的 CLAUDE.md
curl https://raw.githubusercontent.com/forrestchang/andrej-karpathy-skills/main/CLAUDE.md >> CLAUDE.md
# 2. 将本文中的规则 5-12 粘贴到底下
保存在代码库根目次。在 12 条规则下方添加技俩专属规则(时候栈、测试号令、诞妄模式)。沿途加起来不要逾越 200 行,超事后降服率会显耀下落。
心智模子
CLAUDE.md 不是愿望清单,而是一份活动公约——用来关闭你亲目击过的具体失败模式。
每一条规则皆应该能酬劳:这条规则能戒备什么诞妄?

原始 4 条戒备的是经典失败模式: 隐性假定、过度工程化、误伤代码、告捷标准蒙眬。它们是地基,不要跳过。
新增 8 条戒备的是进化出来的失败模式: 莫得预算的 Agent 轮回、莫得查抄点的多法子任务、测了沉寂孤身一人的测试、静默告捷遮掩的静默失败。它们是补丁。
开云KaiYun体育中国官网实践遵守因东说念主而异。若是你不跑多法子 Pipeline,规则 10 对你没用。若是你的代码库只消一种经 Lint 强制实践的立场,规则 11 等于过剩的。读完这 12 条,留住能映射到你确切犯过的诞妄的那些,删掉其余的。
结 语
Karpathy 2026 年 1 月的帖子不外是一次吐槽。Forrest Chang 把它酿成了 4 条规则。12 万开导者给这个升天点了 Star。他们中的大大皆今天仍在跑 4 条规则。
模子进化了,生态变了。多法子 Agent、Hook 级联、妙技加载、多代码库职责——这些在 Karpathy 写帖子时皆不存在。4 条规则无法应酬这些场景。它们莫得错,仅仅不圆善。
8 条新规则。6 周、30 个代码库的测试博亚(中国)体育app。出错率从 41% 降至 3%。