
让 Claude Code 少犯错的编码行为指南【免费下载链接】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 修一个空邮箱导致崩溃的 bug它顺手把整个函数的引号重排了加了一堆没人要的类型注解diff 里三百行改动只有一行和 bug 有关。andrej-karpathy-skills 就是为这种场面准备的一个源自 Karpathy 对 LLM 编码陷阱观察的指南用单一的 CLAUDE.md 文件约束 Claude Code 的编码行为。 这是一个什么文件的项目andrej-karpathy-skills 仓库里没有什么框架核心是一份可以直接合并进任何项目的说明文件。它的来源是 Andrej Karpathy 的公开观察模型会代你做错误假设然后不假思索地执行偏爱堆砌抽象把一百行能解决的事写成一千行的臃肿架构还会改动自己并不理解的注释和代码。这个项目的做法很直接把四条行为准则写进 CLAUDE.md让 Claude Code 在开始编码前先读到它。你不需要理解 LLM 的内部机制把文件放进项目助手就会按这份纪律行事。把 CLAUDE.md 放进项目根目录下一条指令就会受影响。 你可能见过的四个症状需求有歧义时AI 默默选一种解释直接开写方向偏差到代码评审时才暴露一个三十行的计算被包成抽象类加配置对象没人敢读也没人敢改修一个小 bug 的 diff 混入格式重排、注释改写、无关重构审查成本翻倍验收标准是让它能跑AI 反复循环却说不清做到哪一步你也无法判断下次 diff 超出预期先对照这份清单找原因。️ 四条原则如何联动四条原则分别卡在流程的四个关口想清楚、写简单、改精准、验到位。**前两条管写什么后两条管改多少、何时算完。**对照这张图你可以检查 AI 是否跳过了提问环节。 三分钟落地两种安装方式# 方式一Claude Code 插件推荐全局生效 /plugin marketplace add forrestchang/andrej-karpathy-skills /plugin install andrej-karpathy-skillskarpathy-skills # 方式二CLAUDE.md 放进单个项目 git clone https://gitcode.com/GitHub_Trending/an/andrej-karpathy-skills cp andrej-karpathy-skills/CLAUDE.md 你的项目路径/CLAUDE.md方式一把指南装成 Claude Code 插件你机器上的所有项目都能用方式二只影响单个项目但文件随仓库分发团队共享同一套纪律。已有 CLAUDE.md 的项目把内容追加到文件末尾即可指南本身设计为可合并。落地方式生效范围适合谁Claude Code 插件全局跨项目主力使用 Claude Code 的开发者CLAUDE.md 放项目根目录单个项目随仓库分发想让团队共享同一套编码纪律的项目把上面对应的命令粘进终端今天就能用上。 四个真实场景里的表现场景一模糊需求导出用户数据你只说了加个导出功能AI 默认导出全部用户、猜了文件格式和字段写完才发现敏感字段也被导出了。装上指南后它先抛出四个问题导出范围、交互形态、包含哪些字段、数据量级然后给出最简方案——一个分页 JSON 接口——等你确认再动手。场景二加一个折扣计算AI 习惯性地搬出策略模式、抽象基类、配置对象几十行代码只为了算一次乘法。指南要求先自问资深工程师会不会说这太复杂结果收敛成一个三行函数真出现多种折扣类型时再重构不迟。场景三修一下空邮箱崩溃AI 顺手给整个校验函数加了类型注解和文档字符串还给用户名补了一堆没人要求的校验。指南规定每行改动都要能追溯到你的原始请求所以最终 diff 只有修空值的两行它顺带发现的无关死代码只会在对话里提一句不会直接删。场景四修认证系统的 bug让它工作是弱标准AI 会不停回头问或盲目改代码。指南把它翻译成可验证目标先写一个能复现 bug 的测试改到测试通过再跑全量测试确认没有回归。每一步都有明确的验证动作你可以只看结果。把你最常踩的场景直接告诉 AI并要求按 karpathy 四原则处理。⚖️ 同一个需求两种交付没装指南时的典型产物from abc import ABC, abstractmethod class DiscountStrategy(ABC): abstractmethod def calculate(self, amount: float) - float: ... class PercentageDiscount(DiscountStrategy): def __init__(self, pct): self.pct pct def calculate(self, amount): return amount * self.pct / 100装了指南之后def calculate_discount(amount: float, percent: float) - float: 计算折扣金额。percent 取 0-100。 return amount * (percent / 100) # 使用 discount calculate_discount(100.0, 10.0) # 10 美元折扣两者功能一样差别在代码能否一眼读懂、三行改完。验收时问一句每一行改动能追溯到我的需求吗。✅ 指南生效的信号diff 里只剩下你要求的改动没有顺带的格式和注释调整第一版代码就是简单版本不用为过度设计返工重写澄清问题出现在动手之前而不是错误修复之后PR 干净精简没有夹带的重构或改进把这四条贴进你的 PR 模板当作合入前的验收项。 一个反直觉的判断过度工程化的代码其实不算错——它遵循设计模式符合最佳实践。问题出在时机复杂性被提前塞进不需要它的地方代码更难读、测试更难写改动更慢。简单版本反而更容易理解和测试需要时随时可以重构。另一个反直觉点给 LLM 步骤清单不如给它成功标准。修好它会让它不断回头问写一个复现 bug 的测试并让它通过能让它自己循环验证直到结束。好的代码是简单解决今天的问题而不是提前解决明天的问题。下个大任务开工前先花两分钟把成功标准写出来。 仓库里该看哪几个文件CLAUDE.md主指南文件四原则的完整条文放进项目根目录即可生效EXAMPLES.md四组真实前后对照每个原则配完整案例README.zh.md中文说明与安装步骤skills/karpathy-guidelines/SKILL.md技能化定义文件插件安装时加载的就是它CURSOR.md在 Cursor 中应用同一套指南的方法先从 CLAUDE.md 读起十分钟就能通读。今晚就能开始diff 变小代码评审时间省在刀刃上第一版代码更简单减少过度设计导致的返工澄清前移需求偏差在写代码之前就被拦下验收有测试背书修好了不再靠感觉把 CLAUDE.md 放进你手头最乱的那个项目下一个任务就能见效。【免费下载链接】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),仅供参考