ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

3 步装好 andrej-karpathy-skills:4 条准则让 Claude Code 不再自作主张

3 步装好 andrej-karpathy-skills:4 条准则让 Claude Code 不再自作主张 3 步装好 andrej-karpathy-skills4 条准则让 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如果你也用 Claude Code 写过代码多半被它坑过让你加个小功能它顺手把旁边三行代码重构得你不认识一句话的需求它默默脑补出一整套没人要的可配置项。andrej-karpathy-skills 就是冲着这些毛病来的——它把 Andrej Karpathy 对 LLM 编码弊病的观察浓缩成一个 CLAUDE.md 文件写进 4 条行为准则让 AI 助手先想清楚再动手、只改该改的、做完能自己验证。下面从症状讲起到装好跑通大概 10 分钟读完。 先认症状AI 写代码最常见的 4 种自作主张在装任何东西之前先对照一下你是不是中过招。这 4 条症状就是这个项目要治的病藏着假设不吭声。需求有歧义它悄悄挑一种解释就开干错了才回来说我理解错了。过度工程化。一个 50 行能解决的事给你生成 300 行抽象层、策略模式、配置开关一应俱全——每个单独看都符合最佳实践但时机全错了。顺手乱改。修一个空指针diff 里却冒出注释被删、引号统一、类型标注被加进来全跟你的任务无关。没有成功标准。你说把这块优化一下它就开始改改到什么程度算完双方都没定义最后靠人肉验收。andrej-karpathy-skills 的思路很直接不训练新模型、不改工具就用一个约定文件把 AI 的行为往回拽。andrej-karpathy-skills 是什么一个文件四条规则这个项目的全部核心就是一个 CLAUDE.md——Claude Code 会自动读取项目根目录下的这个文件把它当作用户级指令。所以玩法很简单把 4 条准则放进 CLAUDE.mdAI 每次写代码前都会看到这套规矩。仓库里几个文件各司其职知道它们在哪后面排查问题时好查CLAUDE.md准则正文也就是真正生效的那份文件EXAMPLES.md每个准则对应的真实正反案例CURSOR.md给 Cursor 用户的配套说明仓库里已提交了一份 Cursor 规则文件skills/karpathy-guidelines/打包成 Claude Code 插件时用的技能定义它本质是行为补丁所以和你自己写的 CLAUDE.md 不冲突后面装的时候会说怎么合并。四条准则逐条拆误区、做法、判断标准准则一动手前先让它把假设说出口误区AI 默认自己猜对了。导出数据它替你决定了导谁、什么格式、存哪儿。做法CLAUDE.md 要求它在实现前明确列出假设有多个解释就摆出来让你选有更简单的方案要主动提卡住了就停下来说卡在哪。判断标准实现之前出现我假设了 X如果不对请告诉我这类话就算合格。准则二只写够用的代码拒绝提前设计误区为一次性的逻辑建抽象层为以后可能需要加配置项为不可能发生的场景写错误处理。做法只实现你要的功能单点使用的代码不抽象没被要求的灵活性一律不加200 行能压到 50 行就重写。判断标准问自己一个资深工程师会说这写复杂了吗会就让它砍掉。准则三外科手术式改动别顺手重构误区修 bug 时顺手把相邻代码格式化、换引号、加文档字符串diff 越滚越大。做法只改任务直接相关的行风格跟现有代码走哪怕你个人不喜欢发现无关死代码提一句就好别删。唯一例外它自己改出来的孤儿代码没用的导入、变量清掉。判断标准diff 里每一行改动都能一句话追溯到你的需求。追溯不到就是越界。准则四先定成功标准再让它自己循环Karpathy 原话的大意是LLM 特别擅长朝着明确目标反复循环所以别告诉它做什么给它做到什么算成。做法是把模糊指令翻译成可验证的目标模糊说法可验证的目标加个校验先写非法输入的测试再让它们通过修这个 bug先写一个能复现 bug 的测试再让它通过重构 X 模块重构前后现有测试全绿多步任务则要求它先报一个步骤 → 验证方式的短计划每一步都能单独验收。⚙️ 实战走一遍把订单超时自动取消做对拿一条中等难度的需求串一遍这 4 条准则。你提出帮我加个功能超过 24 小时没支付的订单自动取消。第一步它会先反问准则一。没装准则前AI 大概率直接开写。装了之后你更可能看到这样的开场动手前确认三点124 小时写死还是可配置2谁来触发——定时任务扫描还是查询时惰性判断3只改状态字段还是要通知用户如果只改状态我可以先给最小实现。问题问在动手之前就省掉了后面一整轮返工。第二步写最小实现准则二。这是典型的过度设计高发区两种写法的差距class CancelStrategy(ABC): abstractmethod def should_cancel(self, order) - bool: ... class TimeBasedStrategy(CancelStrategy): ... dataclass class CancelPolicy: # 策略宽限期通知渠道共120行 strategy: CancelStrategy grace_period: intdef cancel_stale_orders(max_age_hours24): 取消超过 max_age_hours 未支付的订单 stale db.orders.filter(paidFalse, created_ltnow() - hours(max_age_hours)) for order in stale: order.status cancelled order.save()上面那个策略模式没毛病问题在时机——今天只有一个取消规则抽象就是纯开销。等真出现第二种取消条件时再抽成本几乎为零。第三步控制改动面准则三。它应该只做两件事新增上面的函数在定时任务里挂一行调用。相邻代码的变量命名、注释、缩进一律不动如果它注意到调度模块里有个一直没被调用的旧函数正确反应是提一嘴而不是删掉。第四步闭环验证准则四。它给你一句收尾的话应该是测试已加构造一条 25 小时前的未支付订单断言状态变为 cancelled原有订单测试全部通过。 而不是我改完了应该没问题。 安装 andrej-karpathy-skills插件版和文件版方式一装成 Claude Code 插件推荐插件版一次安装所有项目生效。在 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.md 的老项目把准则内容追加到文件末尾就行——它明确设计为可以和你的项目规则共存比如你再补一节TypeScript 用严格模式所有接口必须有测试这类自己的条款。✅ 怎么判断准则真的在起作用装上之后不用盯着看过几天检查 diff 和对话记录看有没有这几个信号diff 里只剩你点名的改动附带改进消失了第一次生成的代码就是简单版不再反复推翻重写澄清问题出现在实现之前而不是翻车之后提交的 PR 干净、最小没有顺手重构有一点要心里有数这套准则整体偏谨慎而非速度。改个拼写、挪一行这种小事不用走完整流程它自己会用判断。设计目标就是减少非琐碎任务上的贵错误不是把简单任务拖慢。❓ 常见疑问会不会拖慢日常开发会稍微多几句确认但只发生在需求有歧义的时候。经验上一次动手前的确认比一次方向错的返工便宜得多。我已经有自己的 CLAUDE.md 了要覆盖吗不用覆盖。追加合并即可项目规则在前这套通用准则在后互不干扰。用 Cursor 的能装吗可以。仓库里已经提交了一份对应的 Cursor 规则文件照着 CURSOR.md 的说明把规则复制到你自己的项目规则里就行内容就是同样这 4 条。装完之后建议先只用准则四跑一次下次让 AI 修 bug别直接说修一下而是让它先写一个复现 bug 的失败测试。看到它真的按这个节奏走再决定要不要全量信任这套准则。【免费下载链接】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),仅供参考
返回列表