终极LLM编程指南如何让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助手写出过度复杂的代码或者在不该修改的地方顺手重构你是否发现AI经常做出错误的假设而你需要不断修正今天我将为你揭示Andrej Karpathy发现的LLM编程四大陷阱并分享一套完整的解决方案。这个名为andrej-karpathy-skills的项目提供了一套行为准则专门用于优化Claude Code等AI助手的编程表现帮助你提升LLM编程优化和代码质量提升。你知道吗大多数AI编程问题的根源不是技术能力不足而是缺乏正确的行为引导。通过本文的AI编码指南你将学会如何让AI助手写出更简洁、更准确、更符合需求的代码。问题诊断你的AI助手是否也有这些坏习惯让我先问你几个问题AI是否经常为简单功能创建复杂的类层次结构AI是否在修复bug时顺便修改了无关的代码格式AI是否在没有明确需求的情况下添加了以防万一的功能AI是否用模糊的方式描述任务让你难以验证完成情况如果你的答案大多是是那么你的AI助手可能正陷入Karpathy观察到的常见陷阱。让我通过实战案例为你展示这些问题及其解决方案。技巧一明确假设避免隐藏困惑错误做法AI的读心术问题想象一下这个场景你要求AI添加用户数据导出功能AI立即开始编码创建了完整的导出系统。但当你看到代码时发现AI假设了JSON格式、导出所有用户数据、并将文件保存在服务器上——这些都不是你想要的# AI自动假设的完整解决方案 def export_all_users(formatjson): 导出所有用户数据 users User.query.all() # 假设JSON格式 # 假设导出所有用户 # 假设文件保存在服务器 # ... 50行复杂代码正确做法主动提问明确边界真正的专业做法是在编码前澄清所有不确定性# 正确做法先提问再编码 关于添加用户数据导出功能我需要澄清 1. **导出范围**所有用户还是特定筛选条件 2. **数据格式**JSON、CSV还是其他格式 3. **导出方式**直接下载、邮件发送还是API返回 4. **字段选择**需要包含哪些用户字段是否有敏感数据 最简单的实现是添加一个返回分页JSON的API端点。 需要更多信息才能实现文件导出功能。 您的具体需求是什么 立即行动下次给AI任务时先让它列出所有假设确认后再继续。技巧二简单优先拒绝过度工程错误做法为单一功能创建复杂架构当要求添加折扣计算功能时AI可能会创建完整的策略模式# 过度工程策略模式 抽象类 配置类 from 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、BulkDiscount等 # 总共需要100行代码正确做法用最少代码解决问题# 简单优先一个函数解决当前问题 def calculate_discount(amount: float, percent: float) - float: 计算折扣金额百分比应为0-100 return amount * (percent / 100) # 使用一行代码搞定 discount calculate_discount(100.0, 10.0) # 10美元折扣你知道吗好的代码不是最聪明的代码而是最简单、最清晰、最能解决当前问题的代码。当确实需要多种折扣类型时再重构也不迟。技巧三精准修改只动必要代码错误做法修复bug时顺便改进一切当要求修复空邮箱验证问题时AI可能def validate_user(user_data): - # 检查邮箱格式 - if not user_data.get(email): 验证用户数据 email user_data.get(email, ).strip() # 验证邮箱 if not email: raise ValueError(邮箱必填) - # 基础邮箱验证 - if not in user_data[email]: if not in email or . not in email.split()[1]: raise ValueError(无效邮箱) - # 检查用户名 - if not user_data.get(username): # 验证用户名 username user_data.get(username, ).strip() if not username: raise ValueError(用户名必填) if len(username) 3: raise ValueError(用户名太短)正确做法只修改与问题相关的行def validate_user(user_data): # 检查邮箱格式 - if not user_data.get(email): email user_data.get(email, ) if not email or not email.strip(): raise ValueError(邮箱必填) # 基础邮箱验证 - if not in user_data[email]: if not in email: raise ValueError(无效邮箱) # 检查用户名 if not user_data.get(username): raise ValueError(用户名必填) return True常见陷阱AI经常顺便修改注释、格式化、添加类型提示甚至重构相邻代码。这可能导致新的bug也让代码审查变得困难。技巧四目标驱动定义可验证的成功标准错误做法模糊的任务描述改进认证系统是一个典型的模糊任务。AI可能会审查代码识别问题进行改进测试更改但问题是什么成功标准是什么这些都模糊不清。正确做法将模糊任务转化为具体目标任务修复认证系统 转化为 1. 编写测试修改密码 → 验证旧会话失效 验证测试失败重现bug 2. 实现密码修改时使会话失效 验证测试通过 3. 检查边界情况多个活跃会话、并发修改 验证额外测试通过 4. 验证无回归现有认证测试仍通过 验证完整测试套件绿色 当前认证测试覆盖率[显示覆盖率] 您遇到的具体认证问题是什么进阶建议对于多步骤任务使用步骤 → 验证格式1. 添加基础内存速率限制单一端点 验证100个请求中前10个成功其余返回429 2. 提取为中间件应用于所有端点 验证速率限制适用于/users和/posts端点 3. 添加Redis后端支持多服务器 验证重启应用后速率限制计数不重置 4. 添加端点特定配置 验证/search允许10次/分钟/users允许100次/分钟快速诊断你的AI助手需要改进吗回答这些问题评估你的AI编程质量假设透明度AI是否主动列出它的假设代码简洁性解决方案是否比需求更复杂修改精准度diff是否只包含必要的更改目标明确性成功标准是否可验证如果多数答案为否那么你的AI助手需要Karpathy指南的指导。立即应用三步上手指南第一步安装指南在你的项目中添加CLAUDE.md文件curl -o CLAUDE.md https://raw.githubusercontent.com/forrestchang/andrej-karpathy-skills/main/CLAUDE.md第二步检查清单每次AI编码前使用这个检查清单是否列出了所有假设解决方案是否简单直接是否只修改必要代码成功标准是否明确可验证第三步实战练习尝试这些练习任务观察AI行为的变化添加用户注册功能观察假设澄清修复排序bug观察测试先行方法优化数据库查询观察简单优先原则资源推荐官方文档CLAUDE.md - 完整的行为准则核心源码skills/karpathy-guidelines/ - 技能定义文件更多示例EXAMPLES.md - 实战代码对比常见陷阱与解决方案陷阱症状解决方案隐藏假设AI默默选择一种解释并继续强制AI明确列出所有假设过度工程为单一用途添加抽象层只实现请求的功能需要时再重构范围蔓延修复bug时顺便改进其他代码只修改与任务直接相关的行模糊目标我会改进代码的模糊方法定义具体的、可验证的成功标准下一步行动立即开始优化克隆项目git clone https://gitcode.com/GitHub_Trending/an/andrej-karpathy-skills阅读指南仔细阅读CLAUDE.md文件应用到当前项目将指南添加到你的CLAUDE.md中观察变化注意AI编程行为的改进分享经验与团队分享你学到的技巧记住提升AI编程效率的关键不是让AI更聪明而是让它的行为更可控。通过这套简单优先编码原则和目标驱动开发方法你将能够显著提高与AI协作的效率和代码质量。开始实践这些原则吧你的下一个编程任务就是最好的实验场。观察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),仅供参考