Loading...

文章背景图

multica-ai/andrej-karpathy-skills 保姆级部署教程:源自 Karpathy 视角的 Claude Code 行为优化技能

2026-11-01
0
- 字
- 分钟
|

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(无构建、无依赖)

multica-ai/andrej-karpathy-skills 仓库官方 OG 横幅

▲ 图 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 给的四条观察:

  1. diff 里无关改动变少了——只剩你要求改的那些行。
  2. 不再因为过度设计而返工重写——代码第一次就足够简洁。
  3. 模型在动手前先问澄清问题——而不是做错之后再道歉。
  4. 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 提示词,不绑定任何特定工具。

相关链接

评论交流

文章目录