乐于分享
好东西不私藏

一个文件治好AI编程“多动症”

一个文件治好AI编程“多动症”

封面图

用过 AI 编程助手的人,想来都遇到过这样的场景:让它改 A,它顺手把 B 也改了;让它加功能,它给你搭了一整套框架;三天前提的要求,今天已经忘干净了。大多数人把这些当作基线接受了。Andrej Karpathy 没有。


Karpathy 是谁,已无需多介绍。前 Tesla AI 总监,OpenAI 创始成员,现在做 AI 教育。他观察 LLM 编程助手的方式和大多数人不同,不是看它能做什么,而是记录它什么时候搞砸。

1月27日凌晨,他在 X 上发了一条帖子:

Andrej Karpathy X 帖子

说是 “A few random notes”,实则编目了 Claude Code 的几种典型失败模式:

LLM 会在没有确认的情况下假设需求,然后沿着错误方向一路狂奔。它不会管理自己的困惑,不会寻求澄清,不会呈现不一致之处。它特别喜欢把代码搞复杂,一百行能解决的问题非要写一千行,还附带一堆根本没用的抽象层。更烦人的是,它经常改动或删除自己没完全理解的代码,哪怕那些代码和当前任务毫无关系。

这条帖子获得了数千次转帖、数万喜欢。


同一天晚上,Jiayuan (JY) Zhang 把 Karpathy 的观察写进了一个文件。

Jiayuan Zhang X 帖子

Jiayuan 是 Multica 的创始人兼 CEO,一位 AI-native 创业者。他看到了 Karpathy 的帖子,决定把那些观察整理成可执行的准则。仓库名叫 andrej-karpathy-skills,核心是一个叫 CLAUDE.md 的文件。

四条准则写在里面:

Think Before Coding —— 编码前先思考。不要假设,不要隐藏困惑,要把权衡摆到桌面上。如果需求有歧义,先停下来问清楚,而不是默默选一个解释然后埋头写代码。

Simplicity First —— 简洁优先。最小代码解决问题,不做任何推测性的实现。不要为只用一次的代码建抽象层,不要加没被要求的”灵活性”或”可配置性”,不要为不可能出现的场景写错误处理。写了两百行发现五十行就能搞定,那就重写五十行。

Surgical Changes —— 精准改动。不要”顺手改进”旁边的代码、注释或格式,不要重构没坏的东西,要匹配现有风格哪怕你不喜欢。改 A 就只改 A,哪怕 B 明显有问题,那也是另一个任务。

Goal-Driven Execution —— 目标驱动。把任务变成可验证的目标。”加个验证”要变成”先写无效输入的测试,再让测试通过”。多步骤任务要列出计划和验证点,而不是模糊的”把它搞定”。


文件的使用方式简单得近乎粗暴:扔到项目根目录,Claude Code 每次会话自动读取。不需要每次请求都写提示词,不需要 babysitting。行为改变一次,就保持下去。

一个文件。每个项目。


真正的爆发是在 4月11日。

Sharbel 发了一条 X 帖子,把这个项目介绍给了更广泛的开发者社区。帖子收获了数百次转帖、数千喜欢、数十万浏览。当时仓库一周新增超 3,000 stars。

Sharbel X 帖子

在 Sharbel 的帖子后,项目经历了爆发式增长。短短两周内,stars 从几万暴涨至突破 8 万,多次登上 GitHub Trending 榜首,单周增速一度超过 6,000。

Stars 增长趋势

这种简洁让它很容易扩散。仓库目前有数十个 open pull request,其中大部分是在把它适配到其他工具。Cursor 的版本已经合并,GitHub Copilot 的适配在讨论中,Codex、Trae IDE、OpenCode 的 PR 正在排队。还有人在做中文、越南语、印地语的翻译。

社区里出现了一些有趣的争论。有人提议加第五条准则”Documents over Documentation”,被作者直接关闭,理由是低价值改动。还有人质疑”Simplicity”本身是否危险,为了简单而简单可能写出难以维护的代码。这些争论说明社区不是在盲目接受,而是在消化和反思。

更实际的使用反馈来自那些”融合派”用户。他们不是直接套用,而是让 Claude 读取这个仓库,然后把它和自己的指令合并。一位用户在 GitHub 评论里说,他把这个仓库的内容和 agents-md 的内容一起合并到自己的配置里,效果比之前好很多,还能按自己的偏好调整。


不过,这套准则并非万能药。

在高度规范化的企业代码库中,”Simplicity First”可能与现有的架构规范冲突。”Surgical Changes”要求不动无关代码,但遗留系统中的耦合度往往让这成为不可能。更根本的问题在于:这些准则本质上是在约束 LLM 的天性。LLM 的优势在于联想和生成,而准则要求它克制和精简。这种张力在某些创意探索场景下,反而可能限制 AI 的价值。


这个项目火起来的触发点,是 X 上 Sharbel 那条帖子。但真正让它从”有趣项目”变成”本周 GitHub 第一”的,是它解决了一个足够普遍的痛点。

Karpathy 的贡献在于编目了这些模式,Jiayuan Zhang 的贡献在于把它们变成了可执行的文件。


这个方案的形式也很聪明。不是一个插件,不是一个平台,就是一个 markdown 文件。这意味着它不绑定任何工具,不受任何平台的控制,可以被任何人修改和分发。这种去中心化的设计,让它在各种 AI 编程工具之间形成了一种共识。


本周的爆发,说明开发者社区对 AI 编程助手的期待正在从”能写代码”转向”能写好代码”。写对功能已经不够了,要写得简洁、可维护、不添乱。Karpathy 的四条准则,碰巧在这个转折点上给出了一个清晰的坐标。

如果想试,curl 一下那个 CLAUDE.md 文件,扔到项目根目录。成本不到三分钟。效果可能需要几天才能完全显现,因为 LLM 的行为模式改变需要时间,就像纠正一个习惯。


参考来源

  1. 1. andrej-karpathy-skills GitHub 仓库[1]
  2. 2. Andrej Karpathy X 帖子[2]
  3. 3. Sharbel X 帖子[3]

引用链接

[1] andrej-karpathy-skills GitHub 仓库: https://github.com/forrestchang/andrej-karpathy-skills[2] Andrej Karpathy X 帖子: https://x.com/karpathy/status/2015883857489522876[3] Sharbel X 帖子: https://x.com/sharbel/status/2042914348859867218