Update avaliable. Click RELOAD to update.
📱 安装应用到主屏幕,获得更好体验
目录

Karpathy的4条CLAUDE.md规则减少30%错误,我加了4条后降到5%

背景

超过200行的提示词,AI的遵从率直线下降,Agent会默默地忽略你的规则。

2026年1月,Andrej Karpathy 公开发难,剖析了 Claude Code 在生产代码库中的失败模式:静默假设、过度工程、正交损害

一位开发者把他的抱怨打包成4条 CLAUDE.md 规则,发布到 GitHub。结果它成了今年增长最快的仓库——一夜之间传遍开发者社区。

但现在是5月。AI 生态在加速进化。我们正在运行越来越多的多步骤、自主 Agent 工作流。

当我在部署自主 Agent 重构数据摄入层时,遇到了新的摩擦:Agent 前三步完美执行,第四步开始产生幻觉,然后静默地覆盖了工作代码

Karpathy 的原始规则无法防御多步骤退化。

通过精确设计4条额外规则——专门针对现代 Agent 编排——错误率进一步降低。

基础层:Karpathy的4条规则

这4条规则封堵了大约40%的标准单次提示失败模式:

规则1:先思考,再编码

不准静默假设。 如果存在更简单的方案,Agent 必须提出质疑。不确定就要问。

这是最基础的规则。大多数 AI 错误始于一个错误的前提假设——”我认为用户想要X”——然后基于它构建整个方案。

规则2:简单优先

最少代码解决问题。 没有推测性功能。不需要抽象就不要创造抽象。

这条规则专门针对 AI 的”过度工程”倾向——花哨的泛化、提前优化的抽象层、永远不会被调用的辅助函数。

规则3:手术式修改

只动你必须动的。 不要”改进”相邻的格式、注释、代码风格。

Karpathy 说的”正交损害”——AI 在修一个 bug 时顺手改了30行无关代码的格式。

规则4:目标驱动执行

定义成功标准,循环直到验证通过。 不要盲目遵循固定步骤,而是定义成功标准并独立迭代。

为什么这些规则在今天会失效? 这些规则对多步骤流水线沉默不语。它们不给 Agent 设定 Token 预算,不强制检查点,而且假设 Agent 已经理解了周围的代码库。

执行层:4条新的Agent规则

规则5:硬性 Token 预算

没有预算的 Agent 会在同一个错误消息上消耗5万 Token 的上下文,直到它崩溃。

具体规则:

# 在 CLAUDE.md 中的 Token 预算配置
budget:
  per_task: 4000      # 每个独立任务
  per_session: 30000  # 每次会话
  on_breach: summarize_and_restart

我自己的经验:上线这条规则后,API 账单直接砍掉了一半。不是因为用的少了,而是因为 Agent 不再在一个死循环里浪费 Token。

规则6:先读后写

Karpathy 的规则说”不要碰相邻代码”,但它们没有说”理解相邻代码”。这导致 AI 盲目地编写重复函数——而同样的功能已经存在于30行之外。

具体规则:

## Rule 6 — Read Before You Write
Before adding code to any file:
1. Read the file's exports and public API
2. Read immediate callers of the function you're modifying
3. Check shared utilities in the same module
If unsure why code is structured a certain way, ASK before writing.

规则7:每步检查点

如果一个6步重构在第4步出错,Agent 会愉快地在错误状态上执行第5步和第6步,破坏整个分支,最终只能手动 git reset

具体规则:

## Rule 7 — Checkpoint After Every Significant Step
After each operation step:
✓ Summarize what was done
✓ State what was verified 
✓ State what remains
→ Stop and restate if you can't describe the current state back to me

这是最具杀伤力的一条。多步骤流水线中的错误传播是 Agent 中最常见的失败模式——一条链的强度取决于最薄弱的环节

规则8:大声失败

最昂贵的失败看起来和成功一模一样。”迁移完成”是一句谎言——如果30条数据库记录因为约束违规被静默跳过。

具体规则:

## Rule 8 — Fail Loud
- "Completed" is WRONG if anything was silently skipped
- "Tests pass" is WRONG if any were skipped
- Default to surfacing uncertainty, not hiding it
- When in doubt, over-communicate: tell me what you're unsure about

完整 CLAUDE.md 模板

将以下内容保存为项目根目录的 CLAUDE.md,然后在下方向追加你项目的具体技术栈信息:

# CLAUDE.md — 8条规则架构

以下规则适用于本项目中的每个任务,除非被显式覆盖。
偏向:在非琐碎工作上谨慎优先于速度。琐碎任务上使用判断。

## 规则1 — 先思考再编码
- 显式陈述假设。如果不确定,提问而不是猜测。
- 当存在更简单的方案时,提出质疑。困惑时停下来。

## 规则2 — 简单优先
- 解决问题的最少代码。不做推测性功能。
- 不超出需求范围的功能。不为一次性代码做抽象。

## 规则3 — 手术式修改
- 只动你必须动的。只清理你自己的混乱。
- 不要"改进"相邻代码、注释或格式。匹配现有风格。

## 规则4 — 目标驱动执行
- 定义成功标准。循环直到验证。
- 不遵循固定步骤。定义成功并独立迭代。

## 规则5 — Token 预算不是建议
- 每个任务:4,000 Token。每个会话:30,000 Token。
- 接近预算时,总结并重新开始。报告超支情况。

## 规则6 — 先读后写
- 添加代码前,读取导出接口、直接调用方、共享工具函数。
- 如果不确定代码为什么是某种结构,提问。

## 规则7 — 每步检查点
- 每个重要步骤后:总结做了什么、验证了什么、还剩什么。
- 不要从一个你无法描述的状态继续。停下来重新陈述。

## 规则8 — 大声失败
- "完成"是错的——如果任何内容被静默跳过。
- "测试通过"是错的——如果有任何测试被跳过。
- 默认暴露不确定性,而不是隐藏它。

我的看法

我从3周前开始使用这套8规则架构。变化是立竿见影的。

Token 预算是救命稻草。 之前我的 Agent 有时会在同一个问题上反复循环——修改代码→测试→失败→修改代码→测试→失败。每次循环吃掉几千 Token,直到我手动停下来。规则5强制 Agent 在接近预算时主动报告,让我从旁观者变成了管理者

每步检查点规则彻底改变了代码质量。 以前 Agent 完成6步操作后给我看结果,我经常发现第3步就有问题。现在每分钟收到一次状态更新,可以在Agent继续之前纠正方向。

“大声失败”帮我抓到了一个数据迁移 bug。 Agent 报告”迁移完成”,但规则8强制它检查是否所有记录都已转换。结果发现了30条被约束违规跳过记录——手动 review 永远发现不了的那种。

Karpathy 定义了自动补全编码的问题。我们正在编排自主、多步骤 Agent——需要不同的约束体系。

说人话的总结

Karpathy的4条规则 → 堵住单次交互的坑(约40%)
我的4条新规则     → 堵住多步骤流水线的坑(再降约25%)
8条规则一起用     → 错误率降到5%以下

CLAUDE.md 不是一个一次性文件。它是一个严格的行为合约,旨在关闭特定的、代价高昂的失败模式。把它放到你的项目根目录,加上你的技术栈细节,然后看你的 Agent 表现大幅提升。

锁住环境、强制执行 Token 预算、要求检查点——这三点就能把 AI Agent 从”玩具”变成”工具”。

版权所有,本作品采用知识共享署名-非商业性使用 3.0 未本地化版本许可协议进行许可。转载请注明出处:https://www.wangjun.dev//2026/06/karpathy-claude-md-rules/
📝 此页面已自动翻译为英文 · 查看原文
EN | 中文