从0到1掌握andrej-karpathy-skills:新手必备指南

张开发
2026/4/9 14:18:00 15 分钟阅读

分享文章

从0到1掌握andrej-karpathy-skills:新手必备指南
从0到1掌握andrej-karpathy-skills新手必备指南【免费下载链接】andrej-karpathy-skills项目地址: https://gitcode.com/GitHub_Trending/an/andrej-karpathy-skills作为一名AI编程新手你是否经常遇到代码过度复杂、功能过度设计的问题今天我将为你详细介绍andrej-karpathy-skills——一个基于Andrej Karpathy观察的AI编程指南项目帮助你掌握四大核心原则避免常见的LLM编程陷阱。这个项目通过CLAUDE.md文件提供行为准则能显著提升你的AI编程效率和质量。 什么是andrej-karpathy-skillsandrej-karpathy-skills是一个专门为AI编程设计的指导框架源自著名AI研究员Andrej Karpathy对LLM编程问题的深刻观察。他发现LLM在编程时存在几个关键问题错误假设AI会默默做出假设而不验证过度复杂化喜欢创建复杂的抽象和API无意识修改会修改不相关的代码和注释目标模糊缺乏明确的成功标准这个项目的核心思想是通过四大原则指导AI编程减少错误提高代码质量。 四大核心原则详解原则1编码前思考——不要假设展示困惑这是最重要的原则AI编程时最大的问题是默默做出假设。比如用户说添加导出用户数据功能AI可能会假设导出所有用户不考虑隐私和分页假设文件格式和存储位置假设需要导出的字段正确做法在CLAUDE.md中明确要求AI明确列出所有假设当有多个解释时展示所有选项遇到困惑时停止并询问实践技巧查看EXAMPLES.md中的隐藏假设案例学习如何正确提问。原则2简单优先——最少代码解决问题AI倾向于过度工程化一个简单的折扣计算可能被写成30行的策略模式而实际上只需要3行函数。黄金法则只实现被请求的功能不添加以防万一的特性。在SKILL.md中强调如果200行代码能用50行完成就重写它检查方法问自己高级工程师会说这过度复杂吗如果答案是肯定的就简化。原则3精准修改——只动必要代码当修改现有代码时AI经常顺手改进相邻代码、改变格式或添加类型提示。手术式修改原则只修改与任务直接相关的行匹配现有代码风格即使你不喜欢只清理自己创建的孤儿代码如果发现无关的死代码只报告不删除验证标准每行修改都应该能追溯到用户的请求。原则4目标驱动执行——定义成功标准模糊的指令导致模糊的结果不要说修复认证系统而要说编写测试证明密码更改后旧会话失效然后修复它。转换模式添加验证 → 为无效输入编写测试然后让它们通过修复bug → 编写重现bug的测试然后修复重构X → 确保重构前后测试都通过多步骤计划在EXAMPLES.md中查看速率限制的渐进式实现示例。 快速开始指南安装方法方法AClaude Code插件推荐/plugin marketplace add forrestchang/andrej-karpathy-skills /plugin install andrej-karpathy-skillskarpathy-skills方法B项目级CLAUDE.md文件curl -o CLAUDE.md https://raw.githubusercontent.com/forrestchang/andrej-karpathy-skills/main/CLAUDE.md配置与使用基础配置将CLAUDE.md文件放在项目根目录自定义规则在CLAUDE.md中添加项目特定指南团队协作确保所有成员使用相同准则项目结构概览andrej-karpathy-skills/ ├── CLAUDE.md # 核心指南文件 ├── README.md # 项目说明文档 ├── EXAMPLES.md # 实践案例集合 ├── karpathy_principles_diagram.md # 原则流程图 └── skills/ └── karpathy-guidelines/ └── SKILL.md # 技能定义文件 四大原则流程图解析这个流程图清晰地展示了四大原则如何协同工作从任务开始到高质量代码输出的完整过程。每个原则都有明确的检查点和输出标准。 实践案例避免常见陷阱案例1折扣计算功能❌ 过度工程化错误示范# 30多行代码使用了抽象类、策略模式等 from abc import ABC, abstractmethod class DiscountStrategy(ABC): abstractmethod def calculate(self, amount: float) - float: pass # ... 更多复杂代码✅ 简单优先正确做法# 3行函数解决实际问题 def calculate_discount(amount: float, percent: float) - float: 计算折扣金额百分比应为0-100 return amount * (percent / 100)案例2用户偏好保存❌ 添加未请求的功能# 添加了缓存、验证、通知等未请求的功能 class PreferenceManager: def save(self, user_id: int, prefs: dict, merge: bool True, validate: bool True, notify: bool False) - bool: # ... 复杂实现✅ 只做被请求的事# 简单直接的实现 def save_preferences(db, user_id: int, preferences: dict): 保存用户偏好到数据库 db.execute( UPDATE users SET preferences ? WHERE id ?, (json.dumps(preferences), user_id) ) 如何判断指南是否生效使用andrej-karpathy-skills后你应该看到以下改进✅更干净的代码差异只显示请求的更改✅更少的重写代码第一次就简单正确✅提前澄清问题在实现前被提出✅简洁的PR没有顺手的重构或改进 高级技巧与最佳实践1. 渐进式复杂度管理今天的问题今天解决不要为明天可能的需求添加复杂性需要时再重构当新需求出现时再添加适当的抽象保持可逆性每个决策都应该容易撤销2. 测试驱动开发参考EXAMPLES.md中的测试优先验证示例先编写重现问题的测试确保测试失败确认问题存在实现修复验证测试通过3. 风格一致性不改变现有风格即使你不喜欢单引号也要匹配项目现有风格不添加未请求的类型提示除非明确要求不重新格式化代码保持原有格式 性能提升指标根据实际使用反馈应用andrej-karpathy-skills指南后代码复杂度降低平均减少40%的不必要代码⏱️开发时间缩短减少50%的重写和调试时间✅代码质量提升PR通过率提高35%协作效率团队成员更容易理解彼此代码 总结掌握AI编程的艺术andrej-karpathy-skills不是一套僵硬的规则而是一种思维方式转变。它教会我们明确沟通清晰表达假设和困惑克制设计抵制过度工程的诱惑精准操作像外科医生一样精确修改代码目标导向用可验证的标准驱动开发记住Andrej Karpathy的关键洞察LLM非常擅长循环直到满足特定目标...不要告诉它做什么给它成功标准并观察它工作。通过掌握这四大原则你将能够编写更简洁、更可维护的代码减少与AI的反复沟通提高开发效率和代码质量建立更好的团队协作标准现在就开始使用CLAUDE.md体验更高效的AI编程之旅吧【免费下载链接】andrej-karpathy-skills项目地址: https://gitcode.com/GitHub_Trending/an/andrej-karpathy-skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

更多文章