
3步实战 andrej-karpathy-skills一个文件治好 AI 编程的过度工程化与自作主张【免费下载链接】andrej-karpathy-skillsA single CLAUDE.md file to improve Claude Code behavior, derived from Andrej Karpathys observations on LLM coding pitfalls.项目地址: https://gitcode.com/GitHub_Trending/an/andrej-karpathy-skills让 AI 改代码你要一行修复它顺手重构成 200 行你要个折扣计算它搭出抽象基类加两个策略类。andrej-karpathy-skills 把 Karpathy 观察到的 LLM 编码陷阱提炼成 4 条行为准则装进一份 CLAUDE.md。装上之后Claude Code 会先确认假设、保持代码简单、只改该改的行。 项目定位这个文件到底解决什么问题它针对的是 LLM 写代码的三类典型毛病默默替你做假设然后跑偏、把简单需求过度工程化、顺手改动与任务无关的代码。它不是工具也不是框架就是一份 CLAUDE.md 行为准则文件外加给 Cursor 用的规则文件和一份示例集。适合所有在用 Claude Code 或 Cursor 写代码的人。和同类做法相比它的位置很轻自己写行为规则往往写几百行还漏项这个项目把规则压缩到几十行、可直接合并进现有配置几分钟就能生效。 核心机制3个误解与正确理解误解AI 会自己把歧义想清楚常见错觉是需求写得模糊点没关系AI 总能领会。实际上 LLM 更常见的做法是悄悄选一种解释然后执行下去从不确认。正确理解是编码前思考假设要显式说出来多种解释摆出来让你选拿不准就停下提问。比如你说导出用户数据规范的反应是先问清三件事——导出全量还是子集、文件格式、包含哪些字段——而不是直接写一个全量导出函数。误解设计模式多 代码更好AI 特别爱在 50 行能解决的地方上策略模式。对比一下# 为算折扣搭出 DiscountStrategy 抽象基类 两个策略子类 配置类30 多行 class DiscountStrategy(ABC): ...正确理解是简单优先只解决当前问题不预置没被要求的灵活性。def calculate_discount(amount: float, percent: float) - float: return amount * (percent / 100)判断标准写在文件里一位资深工程师会不会说这写复杂了会就简化。误解指令写得细AI 就不会跑偏修好这个 bug这类指令没有终点AI 只能自己猜什么叫修好。正确理解是目标驱动把任务改写成可验证的目标。模糊说法推荐改法加个验证为无效输入写测试然后让它通过修复这个 bug写一个能复现 bug 的测试然后让它通过重构 X确保重构前后测试都通过成功标准强的时候AI 能自己循环迭代标准弱的让它能跑就得全程盯着问。 逐步上手3步完成安装与验证第1步在 Claude Code 里装插件推荐在 Claude Code 中依次输入两条命令/plugin marketplace add forrestchang/andrej-karpathy-skills /plugin install andrej-karpathy-skillskarpathy-skills目的是让准则以插件形式对你所有项目全局生效不用每个项目单独配。装完后随便提一个小任务如果它先陈述假设或反问成功标准说明准则已挂载。第2步给单个项目放 CLAUDE.md不想装插件就用按项目的方式先把仓库拉到本地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验证方法在项目里跑grep ^## CLAUDE.md应看到 Think Before Coding、Simplicity First、Surgical Changes、Goal-Driven Execution 四节齐全。第3步验证准则生效挑一个真实任务跑一遍重点看两个信号diff 里是否只有请求的改动、澄清问题是否出现在动手之前。文件里写了四条自检信号包括重写变少、PR 干净对照着看即可。 完整示例修复空邮箱崩溃bug场景你只要求修复空邮箱导致校验器崩溃这一个 bug。没装准则时常见的改动顺手的改进占了大半def validate_user(user_data): - if not user_data.get(email): Validate user data. email user_data.get(email, ).strip() # Validate email if not email: raise ValueError(Email required) - if not in user_data[email]: if not in email or . not in email.split()[1]: raise ValueError(Invalid email) # 还加了没人要的 username 长度与格式校验 ...推荐改法只动和 bug 相关的行注释和原有风格全部保留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) # Basic email validation - if not in user_data[email]: if not in email: raise ValueError(Invalid email) # Check username (保持不变) if not user_data.get(username): raise ValueError(Username required) return True对照仓库里 EXAMPLES.md 的更多例子能清楚看到外科手术式修改和顺手重构的差别。❓ 常见坑4个高频问题我用 CursorCLAUDE.md 不起作用Cursor 默认不读 CLAUDE.md。把仓库里的.cursor/rules/karpathy-guidelines.mdc拷到目标项目的.cursor/rules/目录即可该规则带alwaysApply: true拷完自动生效。会让简单任务变慢吗准则文件开头就声明了偏谨慎而非速度。改错别字、明显的一行修复直接做就行不是每个改动都需要完整流程靠判断力取舍。我已经有 CLAUDE.md会冲突吗设计上就是为合并准备的。追加到现有文件末尾再加一节你自己的项目规则两者互不干扰。装完了 AI 还是过度工程化准则是行为引导不是硬约束。配合目标驱动的做法一起用——给可验证的成功标准比如测试通过效果比单纯装文件更明显。进阶定制3个扩展入口项目专属规则在 CLAUDE.md 里加一节 Project-Specific Guidelines写类型检查、测试覆盖之类的硬性要求。Cursor 多项目复用把.cursor/rules/karpathy-guidelines.mdc拷进任意项目即可套用同一套准则。个人技能库把skills/karpathy-guidelines/SKILL.md拷进你的技能目录跨项目复用。下一步做什么在 Claude Code 里执行/plugin marketplace add forrestchang/andrej-karpathy-skills和/plugin install andrej-karpathy-skillskarpathy-skills全局装上准则。给当前项目补一份git clone https://gitcode.com/GitHub_Trending/an/andrej-karpathy-skills后执行cp andrej-karpathy-skills/CLAUDE.md ./。拿一个真实 bug 试跑一次看它是否先写复现测试再动手同时打开 EXAMPLES.md 对照错误与正确示例。这份文件的价值是把 AI 编程从信它假设变成有标准、可验证的过程。【免费下载链接】andrej-karpathy-skillsA single CLAUDE.md file to improve Claude Code behavior, derived from Andrej Karpathys observations on LLM coding pitfalls.项目地址: https://gitcode.com/GitHub_Trending/an/andrej-karpathy-skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考