十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

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

andrej-karpathy-skills实操避坑指南:4条规则让AI不再乱改你的代码

andrej-karpathy-skills实操避坑指南:4条规则让AI不再乱改你的代码 andrej-karpathy-skills实操避坑指南4条规则让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-skillsandrej-karpathy-skills 是把 Karpathy 对 LLM 编码陷阱的观察浓缩成一份 CLAUDE.md 行为规则文件的项目。如果你的 AI 曾悄悄做出假设就把功能写完、100 行能解决的事给你 1000 行、或顺手改了你没让它动的代码这份文件是对症的。 AI 背叛你的 3 种常见姿势你大概没少遇到AI 自作主张加类型注解、把单引号统一成双引号还顺手润色了旁边的注释或者你只让它算个折扣它回你一个策略模式加配置类。别慌这不是你的运气问题。Karpathy 的原话很直接模型会替你做出错误假设然后不验证就一路跑下去不管理自己的困惑不寻求澄清不展示权衡特别喜欢搞复杂代码和 API1000 行本 100 行就够哪怕与任务无关也会顺手改掉它并不充分理解的注释和代码。对应到你最常踩的 3 类错误行为悄悄假设只说加个导出功能它自己选定格式、字段、范围一路做完过度工程抽象提前建好需求从没提过没人用误伤修个 bug相邻代码的格式、注释、风格全变了没法 review。这个项目把这些问题压成 4 条规则装进一份 CLAUDE.md。它不是工具只是 AI 写代码前先读的一份行为契约。⚡ 先看对比30 行折扣代码 vs 3 行让它加一个折扣计算函数它经常交出这样的东西❌ 典型的过度实现摘自 EXAMPLES.mdfrom abc import ABC, abstractmethod class DiscountStrategy(ABC): abstractmethod def calculate(self, amount: float) - float: pass class PercentageDiscount(DiscountStrategy): def __init__(self, percentage: float): self.percentage percentage def calculate(self, amount: float) - float: return amount * (self.percentage / 100) # ……省略无关部分FixedDiscount、DiscountConfig、 # DiscountCalculator 及上下限校验还有 30 多行注意设计本身没有错策略模式、配置对象、上限校验全是教科书做法。问题在时机这些抽象对应的需求根本没出现过。✅ 应该长这样def calculate_discount(amount: float, percent: float) - float: 计算折扣金额percent 应在 0-100 之间。 return amount * (percent / 100) # 使用 discount calculate_discount(100.0, 10.0) # 优惠 10 美元好的代码是简单解决今天的问题而不是提前解决明天的问题。真到了需要多种折扣类型的那天再重构加一个函数的成本远低于拆一套抽象。 4 条规则三段落地想清楚、改准、验证过4 条规则对应你和 AI 协作的三个阶段。认知层编码前思考不要假设不要隐藏困惑把权衡摆到台面上——这是排第一的规则。要求是明确列出假设存在多种解释时逐条列出而不是默默选一条有更简单的做法就说不懂就停下说出哪里不懂。加上这条规则后你说让搜索更快AI 应该回你更快可能是三件事① 响应时间低于 100ms加索引和缓存② 扛更多并发上异步③ 感知更快渐进加载。各自工作量不同你最在意哪个而不是默默写 200 行优化代码。操作层简单优先 外科手术式修改操作层两条一内一外简单优先对内不实现没要求的功能不做单次使用的抽象不为不可能的场景写错误处理200 行能压到 50 行就重写。外科手术式修改对外不碰相邻代码匹配现有风格发现无关死代码只提一句、不删。标准是每一行改动都能追溯回你的请求。EXAMPLES.md 里修 bug的例子很典型任务是修复空邮件导致崩溃❌ AI 常见的返回def validate_user(user_data): - # Check email format - if not user_data.get(email): Validate user data. email user_data.get(email, ).strip() if not email: raise ValueError(Email required) - # Basic email validation - if not in user_data[email]: if not in email or . not in email.split()[1]: raise ValueError(Invalid email) # ……省略无关部分附带的用户名长度、字符校验✅ 外科手术式修改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)第一份 diff 里真正的修复只有几行其余全是附带的改进。review 时你得逐行分辨哪些是修复、哪些是自我发挥成本立刻爆炸。验证层目标驱动执行LLM 特别擅长循环直到达成明确目标。这条规则要求把任务翻译成可验证的目标加校验 → 为无效输入写测试然后让它通过修 bug → 先写一个能复现 bug 的测试再让它通过重构 X → 保证重构前后测试都通过。多步任务则要求先给出计划每步带验证方式1. 单端点加内存限流 → 验证100 次请求只有前 10 次通过 2. 抽成中间件 → 验证其他端点测试不回归 3. 换 Redis → 验证重启后计数不丢失弱目标让它能跑需要你不停确认强目标让 AI 自己循环。这就是杠杆。 3 个高频场景 × 各自该盯什么只记一条决策路径的话记这个规则落到你最高的三个场景场景最容易翻车点规则逼 AI 做什么一句话自查写新功能假设蔓延、投机性功能列出假设只做被要求的事每行代码是否来自我明确提出的需求修 Bug不复现就改、改完说不清先写复现测试修完确认无回归diff 里是否只有与本 bug 相关的行改老代码顺手重构、风格漂移匹配现有风格只清理本次产生的孤儿代码每处改动能否追溯到请求 上手给 CLAUDE.md 追加规则的正确姿势仓库很小核心就 4 个文件CLAUDE.md主规则文件你要装的就是它EXAMPLES.md每条规则的正反代码对比skills/karpathy-guidelines/SKILL.md同样内容打包成的可复用技能CURSOR.mdCursor 规则接入说明。方式 AClaude Code 插件一次安装、所有项目可用/plugin marketplace add forrestchang/andrej-karpathy-skills /plugin install andrej-karpathy-skillskarpathy-skills方式 B按项目安装适合任何读根目录指令文件的工具git clone https://gitcode.com/GitHub_Trending/an/andrej-karpathy-skills cp andrej-karpathy-skills/CLAUDE.md 你的项目根目录/已有 CLAUDE.md 就追加进去规则文件本来就是设计来与项目专属规则合并的。用 Cursor 的话把仓库里的.cursor/rules/karpathy-guidelines.mdc拷进项目即可它带alwaysApply: true开箱生效。 什么时候不用较真这套规则整体偏向谨慎而非速度目标是非平凡任务上少犯昂贵错误不是拖慢简单任务。这几种情况可以松一松修拼写、改一行明显的笔误绿地项目没有存量风格需要匹配你本来就希望 AI 把多种架构方案列出来给你挑。怎么确认规则生效了看三个可观察信号diff 里与请求无关的改动变少、因过度复杂而返工变少、澄清问题出现在实现之前而不是出错之后。下一步clone 这个仓库把 CLAUDE.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),仅供参考
返回列表