news 2026/8/28 13:10:32

andrej-karpathy-skills:CLAUDE.md 完整拆解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
andrej-karpathy-skills:CLAUDE.md 完整拆解

andrej-karpathy-skills:CLAUDE.md 完整拆解

【免费下载链接】andrej-karpathy-skillsA single CLAUDE.md file to improve Claude Code behavior, derived from Andrej Karpathy's observations on LLM coding pitfalls.项目地址: https://gitcode.com/GitHub_Trending/an/andrej-karpathy-skills

让 AI 修一个空值崩溃,它顺手把注释、引号、类型注解全翻新,diff 比功能本身还大——这场景熟不熟悉?andrej-karpathy-skills 就是冲着它来的:把 Andrej Karpathy 对 LLM 编码陷阱的观察,压成一份 65 行的 CLAUDE.md,四组行为准则专治瞎假设、堆抽象、乱改不相干代码这三类毛病,diff 从此干净到只剩你要的改动。

拆出一份 65 行的 CLAUDE.md 📐

Karpathy 吐槽过 LLM 写代码的四种毛病:替用户瞎假设还不问、一百行能写完的活堆上千行、顺手改掉自己也没完全看懂的注释和代码、任务没有验收标准只能蒙。这个项目把吐槽翻成了行为文件:CLAUDE.md 全文 65 行,MIT 协议,丢进项目根目录即生效,给所有用 Claude Code 写代码的人兜底。

核心资产就这一个文件,其余都是镜像:skills/karpathy-guidelines/SKILL.md 是插件形态,EXAMPLES.md 是配套的案例与反模式集。

把四条原则拆成一条链 🔧

四条原则不是平铺的清单,而是按编码流程排好的:先管住输入,再管住产出,最后管住验收。

1. 编码前思考(把隐藏假设逼到台面上)

管的是"输入"。模型遇到歧义会默默选一个解释直接开干,困惑藏起来不说。准则要求:假设必须写出来,不确定就问;存在多种解释就都摆出来,不许默默挑一个;发现更简单的路,直说并顶回去。效果是澄清问题出现在动手之前,而不是踩坑之后。

2. 简洁优先(用解决问题的最小代码)

管的是"产出"。为算一个折扣写出抽象基类加策略模式,是 LLM 最爱的炫技。准则列了四道禁令:

  • 不加没要的功能
  • 不给单一用途的代码做抽象
  • 不加没人要的配置与"灵活性"
  • 不防不可能发生的场景

200 行能压到 50 行就重写。验收标准一句话——资深工程师会觉得过于复杂吗?是,就砍。

3. 外科手术式修改(只动必须动的行)

管的是"改动"。修 bug 的路上顺手翻新注释、引号、docstring,是 diff 变脏的头号原因。准则划线:不改进相邻代码,不重构没坏的东西,匹配现有风格哪怕自己不爱,发现无关死代码只提一嘴不删;自己这次改动弄出的孤儿导入才清理。判据一句话:每一行改动都应能直接追溯到那次请求

4. 目标驱动执行(把指令翻译成可验证目标)

管的是"验收"。"修一下登录"这种任务没有终点线,模型只能边做边问。准则把命令式任务改写成测试先行的目标,多步骤任务列成"步骤 → 验证"清单:

1. 写复现测试 → 验证:测试失败(说明复现成功) 2. 实现修复 → 验证:该测试通过 3. 回归检查 → 验证:全量测试绿

成功标准越强,模型越能独立循环推进,不用人一直盯着确认。

命令式说法可验证目标
"加个校验""为非法输入写测试,再让它通过"
"修这个 bug""写一个能复现它的测试,再让它通过"
"重构 X""确保重构前后测试都通过"

对比同一个 bug 的两种 diff ✅

任务:修复空 email 导致校验器崩溃。

❌ 常见写法——修 bug 的路上顺手把整个函数翻新:

def validate_user(user_data): - # Check email format - if not user_data.get('email'): + """Validate user data.""" + email = user_data.get('email', '').strip() + if not email: raise ValueError("Email required") + username = user_data.get('username', '').strip()

注释改了,docstring 加了,连 username 分支也被重写——而崩溃只发生在 email 那条路径上。

✅ 外科手术式:只碰崩溃路径。

def validate_user(user_data): # Check email format - if not user_data.get('email'): + email = user_data.get('email', '') + if not email or not email.strip(): raise ValueError("Email required")

两处修复的第一刀几乎一样,差距全在"顺手"二字。判据很简单:diff 里每一行都要能回答"这一行是为什么改的",答不上来的就是夹带的。

60 秒把准则装进项目 🚀

$ git clone https://gitcode.com/GitHub_Trending/an/andrej-karpathy-skills $ cp andrej-karpathy-skills/CLAUDE.md 你的项目/CLAUDE.md $ cat andrej-karpathy-skills/CLAUDE.md >> CLAUDE.md # 已有 CLAUDE.md 的项目

三行搞定:clone、新项目直拷、老项目追加。

按需进阶:在 Claude Code 里先加插件市场再安装插件,两步让准则跨项目生效,省去每个仓库手动拷贝;用 Cursor 的话,仓库里附了 CURSOR.md,同一套规则换个壳就能接上。

看出准则在起作用的四个信号 ✅

  • diff 里只剩请求的改动,没有顺手的格式翻新与 docstring
  • 实现之前先收到澄清问题(范围、格式、字段),而不是踩坑之后
  • 代码第一次就保持简单,不用为过度抽象返工重写
  • PR 干净,没有夹带的重构和"改进"

Karpathy 留下这个项目最有分量的一句话:"别告诉模型该做什么,给它成功标准,看它自己跑。" LLM 本来就擅长朝明确目标循环,这份 65 行的准则只是把"明确"两个字提前到了动手之前——下次 diff 比功能还大的时候,先想想是哪里没给它成功标准。

【免费下载链接】andrej-karpathy-skillsA single CLAUDE.md file to improve Claude Code behavior, derived from Andrej Karpathy's observations on LLM coding pitfalls.项目地址: https://gitcode.com/GitHub_Trending/an/andrej-karpathy-skills

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/28 13:09:42

996引擎-实战笔记:双击类道具触发之●盟重回城石●

996引擎-实战笔记:双击类道具触发之●盟重回城石● 问题 解决方案 补充:回城卷 摘自:996M2引擎帮助文档 参考资料 问题 今天添加了个新地图,怎么搞都回不到新地图的回城点。 (由于这个版本只有盟重回城石没设计回城卷。当时也是懵逼了把它当回城卷用了半天) 分析 先看一…

作者头像 李华
网站建设 2026/8/28 13:09:12

FPGA Xilinx 7系列高速收发器GTP通信

说明: FPGA:A7系列,例如:xc7a35tfgg484; FPGA开发板通过SFPA(光口)与SFPB(光口)通过光纤相连进行GTP的数据还回通信; 运行环境:Vivado2018.3。 所用IP核:7 Series FPGAs Transceivers Wizard(…

作者头像 李华
网站建设 2026/8/28 13:06:47

编码面试怎么高效准备:3个月软工面试备战指南

编码面试怎么高效准备:3个月软工面试备战指南 【免费下载链接】tech-interview-handbook Curated coding interview preparation materials for busy software engineers 项目地址: https://gitcode.com/GitHub_Trending/te/tech-interview-handbook 晚上11点…

作者头像 李华
网站建设 2026/8/28 13:06:15

Apalis i.MX8X + Torizon Linux:容器化嵌入式开发实战指南

拿到 Apalis i.MX8X 模块的时候,我其实没抱太大期望,毕竟嵌入式 Linux 的开发流程,大家心里都有数——板子到手、配交叉编译环境、编内核、做根文件系统、再折腾启动加载,一轮下来小半个月没了。但这次不一样,厂商直接…

作者头像 李华
网站建设 2026/8/28 13:02:25

Kotlin 笔记

简介 Kotlin 是一种现代化的静态类型编程语言,具有以下优势: 与java互操作性强:Kotin 可以与现有的 Java 代码无缝地互操作,允许开发者在现有的项目中逐步采用 Kotin,而不需要重写整个项目。这使得 Kotlin 成为 Android 应用开发的理想选择。 简洁易读:Kotin 的语法简洁并…

作者头像 李华
网站建设 2026/8/28 13:02:12

3 步用深度学习做材料性能预测:Python 算法库实操指南

3 步用深度学习做材料性能预测:Python 算法库实操指南 【免费下载链接】Python All Algorithms implemented in Python 项目地址: https://gitcode.com/GitHub_Trending/pyt/Python 实验室里验证一种新材料,往往要几个月。如果你手上有成分、结构…

作者头像 李华