当前位置: 首页 > news >正文

大模型应用开发实战(19)——Andrej Karpathy Skills 为什么突然火了?一份 CLAUDE.md,把 Claude Code 从“会写”拉回“会做事”

🤵‍♂️ 个人主页:小李同学_LSH的主页

✍🏻 作者简介:LLM学习者
🐋 希望大家多多支持,我们一起进步!😄
如果文章对你有帮助的话,
欢迎评论 💬点赞👍🏻 收藏 📂加关注+

目录

一、这个项目到底是什么?

二、它为什么会火?因为它戳中的问题太真实了

三、四条原则,其实对应四种最常见的翻车方式

1. Think Before Coding:先别急着写,先别替我脑补

2. Simplicity First:不要把 50 行能解决的事写成 200 行

3. Surgical Changes:只改你必须改的地方

4. Goal-Driven Execution:不要只接任务,要定义成功条件

四、它真正厉害的地方,不是“更会写”,而是“更会约束”

五、最实用的部分:这个仓库到底怎么装、怎么用?

方式 1:作为 Claude Code 插件安装(推荐)

六、这东西到底“好用”到什么程度?README 给了一个很实在的判断标准

七、怎么把它真正用出效果?关键不是“装上”,而是“和项目规则一起用”

一个很实用的组合方式

八、小结


如果你这两个月一直在看 Claude Code 相关内容,大概率已经见过这个仓库:forrestchang/andrej-karpathy-skills。它不是一个复杂框架,也不是某种新模型,而是一个很克制的东西:一份单独的CLAUDE.md文件,目标是改善 Claude Code 的行为方式。这个项目的 README 直接写明:它来自 Andrej Karpathy 对 LLM 编程常见问题的观察;截至当前仓库页面,项目已经有55.5k stars4.7k forks,传播速度非常夸张。


这件事之所以值得单独写一篇,不是因为它“又一个 prompt 技巧”,而是因为它抓住了 AI 编程工具最真实的痛点:
模型不是不会写代码,而是太容易替你做错误假设、太容易过度设计、太容易顺手改到不该改的地方。README 里直接总结了这些问题:模型会在没确认的情况下自行脑补,会过度复杂化代码和 API,会改动自己并不真正理解的注释或代码,还会带来一些与任务无关的副作用修改。

所以这篇文章,我不想把它写成“仓库推荐”,而是想讲清楚一个更实在的问题:

为什么一份看起来很简单的CLAUDE.md,能让这么多人觉得 Claude Code 终于“像个靠谱同事”了一点?

一、这个项目到底是什么?

一句话说清楚:

它不是插件堆料,也不是复杂工程,而是把一套行为约束压缩成了一份 Claude Code 可以长期遵守的规则文件。README 里给出的核心说法就是:这是一份单独的CLAUDE.md文件,用来改善 Claude Code 的行为,并且已经支持作为 Claude Code 插件安装,也支持直接放到项目里按CLAUDE.md使用。

它的切入点非常直接:
不是再去追求“模型更聪明一点”,而是先把模型最容易犯的错,强行收回来。

这就和很多人用 Claude Code 一段时间后的真实感受非常一致:
真正费时间的,不是模型不会补代码,而是它:

  • 没问清楚就开写
  • 一写就写大
  • 顺手改旁边
  • 不先验证就说自己搞定了

这个仓库的意义就在于,它不是泛泛说“要谨慎”,而是把这些问题拆成了四条可执行原则。

二、它为什么会火?因为它戳中的问题太真实了

README 里引用的那些问题,几乎每个用过 AI 编程工具的人都见过:

  • 模型会默默选一个解释然后一路跑下去
  • 模型会把事情做复杂
  • 模型会改到不该改的地方
  • 模型会把“做了点事”当成“任务完成”

这几个问题放在一起,其实对应的是同一个本质:

模型并不天然具备“工程纪律”。

它会生成,会补全,会重写,但它不天然知道:

  • 什么时候该停下来问
  • 什么时候该保守
  • 什么时候不该顺手重构
  • 什么时候必须先定义验收标准

这个仓库火就火在这里:
它没有试图“让模型更有创造力”,而是先让模型少犯低级的工程错误。这对真正把 Claude Code 当生产工具的人,比再多一个花哨能力重要得多。README 里“四个原则直接对应四类问题”的设计,本身就说明它走的是非常工程化的路线。

三、四条原则,其实对应四种最常见的翻车方式

README 里把核心方案压成了四条原则:

  1. Think Before Coding
  2. Simplicity First
  3. Surgical Changes
  4. Goal-Driven Execution

这四条看起来很简单,但每条都非常“对症”。

1. Think Before Coding:先别急着写,先别替我脑补

README 对这一条的解释非常明确:
不要假设,不要隐藏困惑,要把 trade-off 摆出来;如果不确定,就问,而不是猜;如果有多种解释,不要默默选一个;如果更简单的方法更好,要敢于指出来。

这条原则背后,其实是在打掉模型最典型的坏习惯:
“先写了再说。”

很多 AI 编程事故都不是代码能力不够,而是开局就理解错了题。

2. Simplicity First:不要把 50 行能解决的事写成 200 行

README 里这条也写得很狠:
不加用户没要的功能,不为单次使用代码做抽象,不加没被要求的灵活性和可配置性,不对不可能发生的场景过度做错误处理;如果 200 行能压成 50 行,那就重写。

这条原则实际上是在限制模型最常见的“显得自己很努力”的方式:
通过堆结构来制造完成感。

3. Surgical Changes:只改你必须改的地方

README 对这一条的要求非常细:
不要顺手改旁边的代码、注释、格式;不要修与当前任务无关的“看起来不爽”的地方;保持现有风格;如果只是因为你自己的改动造成某些 import 或变量没用了,可以清理,但不要顺手删掉早就存在的 dead code。甚至 README 直接给了一个判断标准:每一行改动都应该能直接追溯到用户请求。

这一条其实特别关键,因为 AI 工具最容易让人崩溃的不是“写错”,而是写对一部分,同时多动了别的地方

4. Goal-Driven Execution:不要只接任务,要定义成功条件

README 里这一条是我觉得最值钱的。它给了非常具体的转换方式:

  • “加校验” → “先写非法输入测试,再让它通过”
  • “修 Bug” → “先写复现测试,再让它通过”
  • “重构 X” → “确保改前改后测试都通过”

这其实是在逼模型从“执行命令”转向“完成目标”。

原则它解决的核心问题最典型的坏习惯
Think Before Coding错误假设、模糊理解不确认就直接开写
Simplicity First过度设计、抽象膨胀用复杂结构证明自己“做了很多”
Surgical Changes误伤无关代码顺手重构、顺手清理、顺手改风格
Goal-Driven Execution没有验证闭环觉得“写完了”就等于“成功了”

四、它真正厉害的地方,不是“更会写”,而是“更会约束”

很多人对这类项目会有一个误解,觉得它本质上还是 prompt engineering。

但这个仓库真正厉害的地方,不在于“教 Claude 写什么”,而在于:

先规定 Claude 不该怎么乱来。

这点很像工程里的约束设计。
一个系统变可靠,往往不是因为它无所不能,而是因为它知道:

  • 哪些情况必须停
  • 哪些改动不能碰
  • 哪些事情必须验证
  • 哪些任务不值得复杂化

如果把它抽象成一个非常简单的“代码代理质量函数”,可以写成:

这里:

  • Clarity对应 Think Before Coding
  • Simplicity对应 Simplicity First
  • Locality对应 Surgical Changes
  • Verifiability对应 Goal-Driven Execution

这条式子不是仓库原文,而是对那四条原则的一个工程化抽象:
它们合在一起,构成了一种“更像靠谱工程师”的最小行为约束。

五、最实用的部分:这个仓库到底怎么装、怎么用?

README 里给了两种安装方式。

方式 1:作为 Claude Code 插件安装(推荐)

先加 marketplace:

/plugin marketplace add forrestchang/andrej-karpathy-skills

再安装插件:

/plugin install andrej-karpathy-skills@karpathy-skills

方式 2:直接作为CLAUDE.md使用

curl -o CLAUDE.md https://raw.githubusercontent.com/forrestchang/andrej-karpathy-skills/main/CLAUDE.md

已有项目追加:

echo "" >> CLAUDE.md curl https://raw.githubusercontent.com/forrestchang/andrej-karpathy-skills/main/CLAUDE.md >> CLAUDE.md

六、这东西到底“好用”到什么程度?README 给了一个很实在的判断标准

README 没有吹得很玄,而是给了几个很接地气的观察指标。它说,这些 guidelines 生效时,你应该会看到:

  • diff 里不必要的改动更少
  • 因为过度设计导致的重写变少
  • 澄清问题会出现在实现之前,而不是犯错之后
  • PR 会更干净,不会出现路过式重构和“顺手优化”

这其实特别像一个工程团队真正会在意的效果标准。

它不是说“模型更聪明了”,而是说:

你的改动更干净了。

这句话很朴素,但对于 AI 编程工具来说,反而非常重要。

七、怎么把它真正用出效果?关键不是“装上”,而是“和项目规则一起用”

README 里有一个特别重要但容易被忽略的点:
它说这些 guidelines 是设计成可以和项目特定规则合并使用的,你可以把它们加进现有CLAUDE.md,再加上项目自己的约束,比如:

  • TypeScript strict mode
  • 所有 API endpoint 都必须有测试
  • 错误处理遵循某个已有模式

这说明这套规则并不是为了替代项目规范,而是为了补一层更通用的“工程行为规范”。

最好的用法其实是:

  • 仓库里已有的项目规范继续保留
  • 再加上这四条更通用的代理行为约束

这样 Claude Code 才不只是“按你项目做事”,还会“按更合理的工程方式做事”。

一个很实用的组合方式

你完全可以把项目里的CLAUDE.md分成两层:

## Project-Specific Guidelines - 使用 TypeScript strict mode - API 改动必须补测试 - 不要改动 legacy 目录下文件 ## Agent Behavior Guidelines - Think Before Coding - Simplicity First - Surgical Changes - Goal-Driven Execution

八、小结

如果把这篇文章压缩成 5 句话,我会这样总结:

  • andrej-karpathy-skills不是复杂框架,而是一份单独的CLAUDE.md,目标是改进 Claude Code 的行为方式,并且已经传播得非常广。
  • 它真正抓住的不是“模型不会写代码”,而是“模型缺少工程纪律”这个更现实的问题。
  • 四条原则——Think Before Coding、Simplicity First、Surgical Changes、Goal-Driven Execution——基本把 Claude Code 最常见的翻车方式全打了一遍。
  • 它最值钱的地方不是增加能力,而是增加约束,让 Claude Code 更像一个稳一点的工程协作者。
  • 这类项目真正值得学的,不是“抄一份 prompt”,而是学会:怎么给代码代理加工程边界。这点是对 README 整体设计的一个总结性理解。

真正让 Claude Code 变靠谱的,往往不是再给它多一个技能,而是先让它少犯那几种最贵的错。

http://www.jsqmd.com/news/661866/

相关文章:

  • 2026年团鱼脚鱼甲鱼养殖基地推荐:中华鳖老鳖水鱼专业供应与回收服务选型指南 - 品牌推荐官
  • ContextMenuManager:Windows右键菜单终极解决方案,3个核心功能重塑你的操作效率
  • 别再傻傻地直接扫了!手把手教你用wafw00f在Windows和Kali上优雅地“试探”网站防火墙
  • Intel RealSense D435i数据采集避坑指南:Python脚本获取相机内参、外参并同步保存多传感器图像
  • TMSpeech:Windows本地实时语音识别工具终极配置指南
  • 2026年台式净饮机推荐:碧云泉G7S万相凭实力问鼎年度榜首 - 品牌企业推荐师(官方)
  • 设计模式系列目录
  • 如何用Open-Lyrics实现AI字幕生成与语音翻译:3步完成多语言转换
  • Mysql--基础知识点--101--在线扩容
  • 给企业开发者的MFI指南:当你的App需要连接Honeywell扫描枪时,info.plist和PPID该怎么填?
  • Infinity图像合成实战:如何用比特级建模提升你的AI画质(附GitHub代码)
  • 【技术解析】SwAV:用在线聚类与最优运输破解无监督视觉特征学习难题
  • 考不上高中怎么办,上海华科学校铸就别样精彩 - 品牌企业推荐师(官方)
  • 别再手动传数据了!用MatrikonOPC连接Matlab和NX MCD,实现自动化联合仿真
  • 远程生理信号监测终极指南:rPPG框架的完整实践教程
  • MOTR:基于Transformer的端到端多目标跟踪框架深度剖析
  • 仅限首批200家企业的AGI治理合规工具包泄露(源自2026奇点大会技术委员会内部推演)
  • ESP32 UI美化秘籍:手把手教你从阿里图标库(iconfont)扒图标,集成到LVGL界面里
  • ESP32的GPIO不够用?手把手教你用I2C和PCA9557扩展8个IO(附完整代码)
  • Wan2.2-I2V-A14B效果对比评测:YOLOv11目标检测框引导下的精准视频生成
  • 2026年西安上门安装空调/中央空调维修公司推荐:陕西创翔建达建筑工程有限公司,提供空调安装、移机、维修等多类服务 - 品牌推荐官
  • 3个步骤实现iOS 15-16激活限制解除:applera1n完整实用指南
  • 为什么同一篇论文不同平台AIGC检测结果差异很大:平台差异解读 - 还在做实验的师兄
  • 从/dev/watchdog到系统守护:Linux看门狗实战编程指南
  • 校园小情书小程序源码 _ 社区小程序前后端开源 _ 校园表白墙交友小程序
  • 中考落榜能上什么学校,上海华科学校为你开启新征程 - 品牌企业推荐师(官方)
  • STM32F103定时器PWM驱动MG996舵机:从寄存器配置到精准角度控制
  • FanControl中文设置终极指南:5分钟搞定风扇控制本地化
  • 瑞萨RL78掉电保存实战:用FDL库搞定200个参数的瞬间存储(附完整代码)
  • 从零构建4线I2C OLED驱动:头文件与C文件详解及实战应用