@jiayuan_jy: andrej-karpathy-skills 成为了 GitHub 历史前 50 的项目。 https://github.com/multica-ai/andrej-karpathy-skills…
摘要
Andrej Karpathy 关于 LLM 编码问题的观察被整理成一个 CLAUDE.md 文件,旨在改进 Claude Code 的行为,该项目已进入 GitHub 历史前 50。
查看缓存全文
缓存时间: 2026/05/23 14:12
andrej-karpathy-skills 已成为 GitHub 历史上前 50 的项目。https://github.com/multica-ai/andrej-karpathy-skills…
multica-ai/andrej-karpathy-skills
来源:https://github.com/multica-ai/andrej-karpathy-skills
受 Karpathy 启发的 Claude Code 指南
来看看我的新项目 Multica (https://github.com/multica-ai/multica) —— 一个用于运行和管理可复用技能的编码 Agent 的开源平台。
在 X 上关注我:https://x.com/jiayuan_jy
一份单一的 CLAUDE.md 文件,用于改善 Claude Code 的行为,灵感来源于 Andrej Karpathy 对 LLM 编码陷阱的观察 (https://x.com/karpathy/status/2015883857489522876)。
English | 简体中文
存在的问题
摘自 Andrej 的帖子:
“模型会替你做出错误的假设,并直接按照假设执行,而不进行验证。它们不会管理自己的困惑,不会主动寻求澄清,不会指出矛盾之处,不会呈现权衡取舍,在应该坚持己见时也不会反驳。”
“它们非常喜欢把代码和 API 搞得过于复杂,充斥臃肿的抽象,不清理死代码…… 明明 100 行就够了,却非要搞出一个 1000 行的庞大结构。”
“它们有时仍会作为副作用,更改或删除自己并不完全理解的注释和代码,即使这些与任务无关。”
解决方案
在一个文件中总结了四条原则,直接针对这些问题:
| 原则 | 针对的问题 |
|---|---|
| 先思考再编码 | 错误假设、隐藏的困惑、缺失的权衡 |
| 简洁优先 | 过度复杂、臃肿的抽象 |
| 精细改动 | 无关的编辑、碰了不该碰的代码 |
| 目标驱动执行 | 通过测试优先、可验证的成功标准来发挥优势 |
四条原则详解
1. 先思考再编码
不要假设。不要隐藏困惑。呈现权衡。
LLM 通常会默默地选择一种解释并直接执行。这条原则迫使进行显式推理:
- 明确陈述假设 —— 如果不确定,就提问,而不是猜测
- 呈现多种解释 —— 当存在歧义时,不要默默选择
- 在必要时反驳 —— 如果存在更简单的方法,直接说出来
- 感到困惑时停下来 —— 指出不明确之处,并请求澄清
2. 简洁优先
用最少的代码解决问题。不要做推测性的工作。
对抗过度工程的倾向:
- 不添加未被要求的特性
- 不为一次性使用的代码引入抽象
- 不搞未被请求的“灵活性”或“可配置性”
- 不为不可能发生的场景编写错误处理
- 如果 200 行可以用 50 行完成,就重写它
检验标准: 资深工程师会认为这过于复杂吗?如果是,就简化。
3. 精细改动
只动你必须动的地方。只清理你自己的烂摊子。
编辑现有代码时:
- 不要“改进”相邻的代码、注释或格式
- 不要重构没出问题的地方
- 与现有风格保持一致,即使你自己会采用不同的方式
- 如果注意到无关的死代码,提一下——但不要删掉它
当你的改动造成了孤立代码:
- 删除因你的改动而变得未使用的导入/变量/函数
- 除非被要求,否则不要删除之前就存在的死代码
检验标准: 每一行被改动的代码都应该能直接追溯到用户的请求。
4. 目标驱动执行
定义成功标准。循环执行直至验证。
将命令式任务转化为可验证的目标:
| 与其这样… | 不如转化为… |
|---|---|
| “添加验证” | “先编写针对无效输入的测试,然后让测试通过” |
| “修复 bug” | “先编写一个能复现它的测试,然后让测试通过” |
| “重构 X” | “确保重构前后的测试都能通过” |
对于多步骤任务,陈述一个简短的计划:
``
- [步骤] → 验证:[检查项]
- [步骤] → 验证:[检查项]
- [步骤] → 验证:[检查项] ``
强成功标准能让 LLM 独立循环。弱标准(比如“让它工作”)则需要不断的澄清。
安装
选项 A:Claude Code 插件(推荐)
在 Claude Code 中,首先添加市场:
/plugin marketplace add forrestchang/andrej-karpathy-skills
然后安装插件:
/plugin install andrej-karpathy-skills@karpathy-skills
这会将指南作为 Claude Code 插件安装,使得该技能在您的所有项目中可用。
选项 B:CLAUDE.md(按项目)
新项目:
bash curl -o CLAUDE.md https://raw.githubusercontent.com/forrestchang/andrej-karpathy-skills/main/CLAUDE.md
已有项目(追加内容):
bash echo "" >> CLAUDE.md curl https://raw.githubusercontent.com/forrestchang/andrej-karpathy-skills/main/CLAUDE.md >> CLAUDE.md
在 Cursor 中使用
此仓库包含一个已提交的 Cursor 项目规则(.cursor/rules/karpathy-guidelines.mdc),因此当您在 Cursor 中打开项目时,同样的指南会生效。关于设置、在其他项目中使用此规则以及它与 Claude Code 的关系,请参阅 CURSOR.md。
关键见解
摘自 Andrej:
“LLM 极其擅长循环执行直到达成特定目标…… 不要告诉它该做什么,给它成功标准,然后看着它自己完成。”
“目标驱动执行”原则体现了这一点:将命令式指令转化为带有验证循环的声明式目标。
如何知道它有效
如果出现以下情况,说明这些指南正在生效:
- 差异对比中不必要的改动减少 —— 只出现被请求的改动
- 因过度复杂而导致的改写减少 —— 代码首次就写得简洁
- 澄清性问题出现在实现之前 —— 而不是在出错之后
- 干净、最小的 PR —— 没有顺带的重构或“改进”
定制化
这些指南设计为可以与项目特定的指令合并。将它们添加到您现有的 CLAUDE.md 中,或者创建一个新的。
对于项目特定的规则,可以添加以下部分:
``markdown
项目特定指南
- 使用 TypeScript 严格模式
- 所有 API 端点必须有测试
- 遵循
src/utils/errors.ts中现有的错误处理模式 ``
权衡说明
这些指南偏向于谨慎而非速度。对于琐碎的任务(简单的拼写修复、明显的一行代码),请自行判断——并非每个改动都需要完整的严谨流程。
目标是在重要工作上减少代价高昂的错误,而不是拖慢简单任务。
许可证
MIT
相似文章
@yaohui12138: Karpathy 发布了一个github开源项目,狠狠让我惊艳到了 这个项目叫 andrej-karpathy-skills,GitHub 13 万+ star,我愿称之为2026 最有用的 AI 工程项目 它解决的问题极其精准:让 Cl…
Karpathy 发布了名为 andrej-karpathy-skills 的开源项目,核心是一个 4KB 的 CLAUDE.md 文件,包含 4 条行为准则(先思考再动手、极简实现优先、手术式精准修改、目标驱动执行),能显著降低 AI 编码错误率(最高下降 90%),提升代码质量和开发效率。
@akshay_pachaar:一个 𝗖𝗟𝗔𝗨𝗗𝗘.𝗺𝗱 文件刚刚获得了 192k GitHub 星标。(源自 Karpathy 的编码规则)Andrej Karpathy 观察到…
一个单一的 CLAUDE.md 文件为 Claude Code 提供了结构化的行为指南,源自 Andrej Karpathy 对常见 LLM 编码陷阱的观察,已获得 192k GitHub 星标。它旨在防止过度工程化、减少错误假设,并在 AI 生成的代码中贯彻简洁。
@InduTripat82427:OpenAI 联合创始人 Karpathy 的 CLAUDE.md 占据 GitHub 趋势榜第一名。其内容既不是一个库,也...
Andrej Karpathy 的 CLAUDE.md 文件,一份只有 65 行的文本文件,概述了编码原则,已成为 GitHub 上趋势排名第一的仓库,获得了超过 10 万颗星。
@Voxyz_ai:刚看了 GitHub Trending,本周第一是一个 CLAUDE.md 文件,一周新增 44,465 star。把 Andrej Karpathy 的 LLM 编程忠告蒸馏成 4 条原则……
仅凭一份 CLAUDE.md 文件,本周斩获 44k star 登顶 GitHub Trending,将 Andrej Karpathy 的 LLM 编程避坑指南浓缩为四大原则。
@cyrilXBT: Andrej Karpathy 在一个 CLAUDE.MD 文件中写了 65 行代码,并且它刚刚登顶 GitHub Trending 第一名。编码准确率大幅提升…
Andrej Karpathy 为 Claude Code 编写的 65 行 CLAUDE.md 配置文件在 GitHub 上成为热门第一,通过提供清晰的操作原则,将编码准确率从 65% 提升到 94%。