multica-ai/andrej-karpathy-skills 保姆级部署教程:源自 Karpathy 视角的 Claude Code 行为优化技能
一句话定位:GitHub 开源项目
multica-ai/andrej-karpathy-skills是一个单文件CLAUDE.md行为规范库,内容源自 Andrej Karpathy 对 LLM 编码痛点的观察与吐槽,用来给 Claude Code 装上「编码前先想、写完先简化、改动只动该动的、目标驱动循环验证」四条行为约束,从而减少 AI 写代码时的过度假设、过度工程和顺手乱改。slogan:One CLAUDE.md file, four principles, directly fixing Karpathy's list of LLM coding pitfalls.
仓库地址:https://github.com/multica-ai/andrej-karpathy-skills · 许可证:MIT · ⭐ 227,471 · 语言:Markdown(无构建、无依赖)

▲ 图 1:multica-ai/andrej-karpathy-skills 仓库在 GitHub 上的官方 OG 预览横幅(仓库名 + 描述,官方生成)
一、项目简介
Andrej Karpathy(前 OpenAI 创始成员、前特斯拉 AI 总监)曾在 X 上发过一条长推文,把 LLM 写代码时的常见毛病列得非常直白:模型会默默替你做错误假设然后一路狂奔;不管理自己的困惑、不主动澄清、不暴露矛盾、不在该反驳的时候反驳;喜欢把代码和 API 搞复杂,堆抽象、不清理死代码,明明 100 行能搞定的事非要写成 1000 行;还会在做正交任务时顺手改动或删除自己没读懂的注释和代码。
这个仓库就是把上面这段吐槽翻译成一份可以直接喂给 Claude Code 的 CLAUDE.md 行为规范。它不是一个库、不是一个 CLI、不是一个服务——它就是一个 Markdown 文件,65 行,四组原则,直接放进项目根目录或作为 Claude Code 插件安装,Claude Code 在每次会话开始时会自动读取并遵循。仓库同时提供了 Cursor 规则文件 .cursor/rules/karpathy-guidelines.mdc,让同一套规范在 Cursor 里也生效。
项目以 MIT 许可证开源,纯 Markdown,无运行时依赖、无构建步骤、无网络请求。当前在 GitHub 上已收获超过 22.7 万 Star,是「用提示词工程约束编码智能体行为」这一类 skill 仓库里传播最广的一份。
二、功能特点
| 原则 | 对应解决的痛点 | 关键动作 |
|---|---|---|
| 🧠 Think Before Coding(编码前思考) | 错误假设、隐藏困惑、缺少权衡 | 把假设显式说出来;存在多种解释时不要默默选一种;有更简单方案就提出来;困惑时停下来问 |
| ✂️ Simplicity First(简洁优先) | 过度复杂、臃肿抽象 | 不加需求之外的功能;不为一次性代码抽抽象;不加没要求的「灵活性」;不为不可能发生的分支写错误处理;200 行能压到 50 行就重写 |
| 🔪 Surgical Changes(精准修改) | 无关编辑、顺手改了不该改的代码 | 不顺手「优化」相邻代码、注释、格式;不重构没坏的东西;匹配现有风格;看到无关死代码只提不删;只清理因自己改动而产生的孤儿引用 |
| 🎯 Goal-Driven Execution(目标驱动执行) | 指令型任务反复返工 | 把「加个校验」翻译成「给非法输入写测试并让它通过」;多步任务先列计划并写明每一步的验证方式;用强成功标准让模型自己循环到通过 |
仓库还附了一份 「怎么知道它生效了」 的自检清单:diff 里只剩你要求的改动、代码第一次就足够简单、模型在动手前先问澄清问题、PR 干净紧凑没有顺手重构——看到这四条,说明 CLAUDE.md 已经在起作用。
三、环境要求
- 宿主编辑器 / 智能体:Claude Code(Anthropic 官方命令行编码智能体)为主目标;Cursor 等支持
.cursor/rules/或CLAUDE.md约定的编辑器同样可直接读取。 - 运行时:无。这是一份 Markdown 提示词文件,不需要 Node、Python、Docker、不需要编译、不需要联网运行。
- 文件位置约定:Claude Code 会自动读取项目根目录下的
CLAUDE.md;用户级全局规则可放到~/.claude/CLAUDE.md(按 Claude Code 官方约定)。 - Git:可选。如果你用 git clone 方式拉取仓库才需要;直接用 curl 下载单文件则不需要 Git。
- 网络:仅在首次下载
CLAUDE.md时需要能访问 raw.githubusercontent.com;运行时完全离线。
四、保姆级部署步骤
4.1 方式 A:作为 Claude Code 插件安装(推荐,全局生效)
打开 Claude Code,在对话框里依次执行下面两条斜杠命令(第一条添加插件市场,第二条安装插件):
/plugin marketplace add forrestchang/andrej-karpathy-skills
/plugin install andrej-karpathy-skills@karpathy-skills安装完成后,这套规范会作为 Claude Code 插件在所有项目里自动生效,无需每个项目单独复制文件。这是 README 官方推荐的安装方式。
4.2 方式 B:单文件下载到项目根目录(每个项目一份)
如果你只想在某一个项目里启用这套规范,直接 cd 到项目根目录,用 curl 把 CLAUDE.md 拉下来(URL 见上方仓库链接,进入 CLAUDE.md 文件页点击 Raw 按钮即可复制真实地址):
cd /your/project
curl -o CLAUDE.md <CLAUDE.md 文件的 Raw 地址>如果你已经有 CLAUDE.md(比如里面写了项目自己的规范),不要覆盖,改成追加方式:
cd /your/project
echo "" >> CLAUDE.md
curl <CLAUDE.md 文件的 Raw 地址> >> CLAUDE.md写完后用编辑器打开 CLAUDE.md,确认文件末尾出现了 # CLAUDE.md 开头的四个原则段落,就说明追加成功。重启 Claude Code 会话,新会话会自动加载这份文件。
4.3 方式 C:Git Clone 整个仓库(便于阅读与二次定制)
git clone <仓库地址>/andrej-karpathy-skills.git
cd andrej-karpathy-skills
cat CLAUDE.md这种方式适合想通读全文、在上面 fork 出自己版本的同学。仓库里同时附带 README.zh.md(简体中文说明)和 .cursor/rules/karpathy-guidelines.mdc(Cursor 规则文件)。
4.4 在 Cursor 中启用
仓库已经自带 .cursor/rules/karpathy-guidelines.mdc,直接 clone 仓库后用 Cursor 打开该目录,规则会自动生效;想在其他项目里复用,把这个 .mdc 文件复制到目标项目的 .cursor/rules/ 目录即可。
五、配置说明
这套规范的设计哲学是「直接合并到你已有的 CLAUDE.md」,而不是取代它。官方建议在文件末尾追加你自己的项目专属小节,例如:
## Project-Specific Guidelines
- Use TypeScript strict mode
- All API endpoints must have tests
- Follow the existing error handling patterns in `src/utils/errors.ts`也就是说,CLAUDE.md 是一份可自由编辑、可自由裁剪的提示词文件。你可以:
- 删掉某一条你不认同的原则(比如团队已经有很完善的测试流程,就可以弱化 Goal-Driven Execution 里「先写测试」的强制语气)。
- 把英文原文改写成你团队的内部黑话,让模型更容易听懂。
- 在文件顶部加一段
Tradeoff提示,告诉模型「这些原则偏向谨慎而非速度,琐碎任务(改个 typo、补一行日志)按常识判断即可,不要每次都走完整流程」。
README 明确提醒:这套规范是偏向谨慎而不是速度的,对于简单 typo、显而易见的一行修复,不需要每次都走完整四条原则;它的目标是在非平凡任务上减少昂贵的返工,而不是给小改动拖后腿。
六、使用方法
部署完成后,不需要任何额外命令。下次在项目里启动 Claude Code 会话,它会自动读取 CLAUDE.md 并把四条原则作为系统级行为约束。你正常提需求即可,例如:
- 「给这个函数加一个空入参校验」——模型会按 Goal-Driven Execution 先给非法输入写测试,再让测试通过,而不是直接改函数。
- 「修一下这个 bug」——模型会先写一个能复现 bug 的测试,再让测试转绿。
- 「重构一下这个模块」——模型会先保证重构前测试是绿的、重构后仍然是绿的,并且只动这个模块,不顺手改旁边的文件。
判断是否生效,对照 README 给的四条观察:
- diff 里无关改动变少了——只剩你要求改的那些行。
- 不再因为过度设计而返工重写——代码第一次就足够简洁。
- 模型在动手前先问澄清问题——而不是做错之后再道歉。
- PR 干净紧凑——没有 drive-by refactor、没有顺手「改进」注释和格式。
七、常见问题 FAQ
问一:这个仓库到底装了什么?是一个 npm 包还是一个 CLI?
答:都不是。它就是一个 65 行的 Markdown 文件 CLAUDE.md,外加一份 Cursor 规则文件。没有代码、没有依赖、没有构建产物。它的本质是「给 Claude Code 看的一份行为说明书」,靠 Claude Code 启动时自动加载 CLAUDE.md 的约定生效。
问二:装了之后会不会让我的简单任务变慢?
答:README 自己已经承认这一点——这套规范偏向谨慎而非速度。对于改 typo、补一行日志、显而易见的一行修复,模型会按常识走,不需要每次都列计划、写测试。但对于非平凡的功能开发、重构、修 bug,它会多花一点前置思考时间,换来的是更少的返工和更小的 diff。
问三:我已经有自己的 CLAUDE.md 了,会不会被覆盖?
答:不会。官方文档明确推荐用追加方式(echo "" >> CLAUDE.md 然后 curl 追加),不要用 curl -o 覆盖已存在的文件。你自己写的项目规范(TS strict、必须写测试、错误处理风格等)应该保留在文件里,Karpathy 四条原则作为行为约束叠加在上面。
问四:为什么 README 里的 plugin marketplace 命令写的是 forrestchang/andrej-karpathy-skills,而不是 multica-ai?
答:forrestchang/andrej-karpathy-skills 是原作者的上游仓库,multica-ai/andrej-karpathy-skills 是基于该上游的镜像 / 维护分支。走插件市场方式安装时,按 README 原文执行 forrestchang/andrej-karpathy-skills 即可;如果你想直接用本仓库的版本,用 4.2 节的 curl 命令拉 multica-ai 的 raw 文件就行,内容同源。
问五:除了 Claude Code,Cursor / GitHub Copilot / 其他编辑器能用吗?
答:Cursor 开箱即用,仓库自带 .cursor/rules/karpathy-guidelines.mdc。其他支持 CLAUDE.md 约定或类似「项目级规则文件」的工具,直接把 CLAUDE.md 内容贴进它们的规则文件即可——它本质就是一段 Markdown 提示词,不绑定任何特定工具。
相关链接
- 项目仓库(本篇教程对应的镜像):multica-ai/andrej-karpathy-skills
- 原作者上游仓库:forrestchang/andrej-karpathy-skills
- 简体中文说明:README.zh.md
- 核心规则文件:CLAUDE.md
- 灵感来源(Karpathy 原推文):Andrej Karpathy on X
- 作者其他项目 Multica:multica-ai/multica
- Claude Code 官方文档:anthropic.com/claude-code