Andrej Karpathy Skills — 65 行约束如何改变 AI 编码
> 在 Agent 能力爆炸的 2026 年,一个只有 65 行纯文本的 CLAUDE.md 文件,成为 GitHub 历史上最高 Star 增长率的项目之一。不是因为它让模型更强,而是因为它让模型懂得克制。
基本档案
| 项目 | 值 |
|---|---|
| **仓库** | github.com/multica-ai/andrej-karpathy-skills |
| **创建者** | Forrest Chang(forrestchang)→ 镜像到 multica-ai 组织 |
| **创建时间** | 2026 年 1 月 27 日 |
| **内容** | 一个 **CLAUDE.md** 文件(65 行纯文本) |
| **Star 数** | 个人 ~109K + 组织镜像 ~132K = **合计 220K+ ⭐** |
| **日增** | 2026-05-21 GitHub Trending #2,+2,679⭐/日 |
这是 GitHub 历史上少有的纯文本文件达到 10 万+ Star 的现象——没有代码、没有演示、没有文档站,只有 65 行行为准则。
起源:Karpathy 的 LLM 编码四大缺陷
Andrej Karpathy(前 Tesla AI 总监、OpenAI 创始成员、前 Anthropic 成员)在 2025–2026 年间多次公开讨论 LLM 编码的四个系统性弱点:
1. 🧠 跳过思考,直接编码
LLM 被问到一个问题时,几乎从不花时间理解领域或需求约束。大部分错误来自假设错误而非能力不足。
2. 🏗️ 过度工程化
LLM 倾向于生产超出需求范围的抽象。不必要的工厂模式、嵌套配置层、"以防万一"的灵活性。一个排序需求可能产出 200 行的泛型排序框架。
3. 🔧 连带修改(Scope Creep)
修改一处代码时,LLM 经常"顺手":
- 重写周围注释
- 重构没坏的部分
- 删除看起来"多余"的代码
- 调整代码格式
导致 diff 膨胀,把简单 bugfix 变成全文件重写。
4. 🎯 缺乏目标驱动
LLM 不擅长自我验证。"修复 bug" → 改完就说好。"加功能" → 写完就说完成。缺少"我写了个测试来验证它真的好了"的闭环。
> Karpathy 没有写这个文件。他以 Twitter/X 上的系列推文形式描述了这些问题。Forrest Chang 将这些观察编译成了可操作的提示。
四条铁律
1️⃣ Think Before Coding
> Don't assume. Don't hide confusion. Surface tradeoffs.
核心指令:
- 写出你的假设,不确定就问
- 如果有多种解释,列出来——不要默默选一个
- 如果有更简单的方法,说出来
- 如果某件事不清楚,停下来,说出什么在困惑,然后问
这条解决的是 LLM 最常见的错误:乱猜。模型宁可写一个基于错误假设的完整实现,也不愿意承认需要更多信息。
2️⃣ Simplicity First
> Minimum code that solves the problem. Nothing speculative.
禁止列表:
- ❌ 超出需求的功能
- ❌ 为单次使用场景设计的抽象
- ❌ 没被要求的"灵活性"或"可配置性"
- ❌ 不可能发生的错误处理
一条自检原则:"资深工程师会说这太复杂了吗?如果是,简化。"
这条解决的是 LLM 的过度工程倾向。模型天然倾向于提供"完整"而非"够用"的解决方案。
3️⃣ Surgical Changes
> Touch only what you must. Clean up only your own mess.
编辑规则:
- 不"改进"相邻代码、注释或格式
- 不重构没坏的东西
- 匹配现有风格,即使你会用不同方式写
- 发现无关死代码→提一下→不要删
- 只有因你的改动产生的冗余才需要清理
测试:每行改动必须直接追溯到用户的需求。
这条可能最受资深开发者欢迎——它解决了 LLM 在代码库中"打喷嚏引发雪崩"的破坏性问题。
4️⃣ Goal-Driven Execution
> Define success criteria. Loop until verified.
具体方法:
- "添加验证" → "为无效输入写测试,然后让它们通过"
- "修复 bug" → "写一个重现它的测试,然后让它通过"
- "重构 X" → "确保测试在执行前后都通过"
多步骤任务配验证计划:
1. [步骤] → 验证:[检查项]
2. [步骤] → 验证:[检查项]
这条解决的不仅是质量——它让 Agent 能够独立循环迭代。弱目标("让它工作")需要频繁确认;强目标让 Agent 可以自己判断何时完成。
> 这些规则在什么情况下有效:diff 中不必要的改动减少、因过度复杂而重写的次数减少、疑问在实施前提出而非在错误后提出。
为什么它能火
时机
2026 年是 AI 编码 Agent 的爆发之年:
- Claude Code、Codex、Aider、Cursor Agent 等工具已经成熟
- 开发者发现瓶颈不是模型能力不足,而是模型太愿意干活了
- Agent 生成的 PR 经常是全文件重写,review 变成一场灾难
做减法胜过加功能
andrej-karpathy-skills 是 2026 年的反内卷宣言:
| AI 编码的主流趋势 | 这个项目的取向 |
|---|---|
| 更大窗口 | 更少假设 |
| 更多工具 | 更少抽象 |
| 更强推理 | 更多克制 |
| 全自动 | 先问再动 |
一条基准线
这些规则虽然是"给 Claude Code"的,但本质上是通用 Agent 行为基线——可以被复制到任何 AI 编码工具的提示中。它的通用性让它能跨模型工作。
数据
| 指标 | 数值 |
|---|---|
| GitHub Star(原始仓库) | ~109,000 |
| GitHub Star(组织镜像) | ~132,000 |
| 合计 | **220,000+** |
| 文件长度 | 65 行 / 2,345 字符 |
| Pull Requests | 68 |
| 创建→ 220K Star | ~4 个月 |
| 媒体提及 | TechTimes、MiraFlow 等 |
开发者社区反应
MiraFlow 评论:
> "让它成为 GitHub 历史上 Star 最多的仓库之一的,不是代码,而是理念。"
TechTimes:
> "四条规则阻止 AI 破坏代码。"
HN / 社区普遍反应:
- 大多数开发者认同"LLM 过度工程"是最烦人的问题
- 有人反馈复制到根目录后,Agent 生成的 PR 减少了 70% 的不必要改动
- 也有声音表示太严格的约束会让 Agent 在某些场景下犹豫不决
对我们自己的启发
Karpathy Skills 的核心思想完全可以应用到 OpenClaw 的 AGENTS.md 或 .claude.md 风格中:
1. 先问再干 — 对复杂需求,应该先列出假设再写代码
2. 不做多余的事 — 不改没坏的东西、不加没要的抽象
3. 每行改动有用户需求的证据
4. 配验证计划 — 让 Agent 能在独立会话中迭代验证
潜在风险:过度约束可能降低 Agent 在简单任务上的速度。原始文件也在开头标注:"这些指导偏向谨慎而非速度。对于简单任务,请自行判断。"
总结
> 2026 年,AI 编码 Agent 的能力已经足够强。最大的提升空间不在让模型更聪明,而在让模型知道什么时候该停下来,什么时候该问问题,什么时候该少写代码。
andrej-karpathy-skills 用一个 65 行的纯文本文件,定义了 AI 编码的新行为基线。它不是新模型、新框架、新语言——只是一份写得很好的约束。
🔗 参考链接
- GitHub 仓库:https://github.com/multica-ai/andrej-karpathy-skills
- CLAUDE.md 原文:https://raw.githubusercontent.com/multica-ai/andrej-karpathy-skills/main/CLAUDE.md
- TechTimes 报道:http://www.techtimes.com/articles/316798/20260518/karpathy-inspired-claudemd-passes-220000-combined-github-stars-four-rules-that-stop-ai-breaking.htm
- MiraFlow 分析:https://miraflow.ai/blog/karpathy-claude-md-100k-github-stars-ai-coding-2026
- 原始仓库(forrestchang):https://github.com/forrestchang/andrej-karpathy-skills
报告生成于 2026-05-21|基于 GitHub、TechTimes、MiraFlow 公开信息