为什么你的AI助手总是写出糟糕的代码?Karpathy四原则教你成为LLM编程高手

发布时间:2026/7/11 9:47:06

为什么你的AI助手总是写出糟糕的代码?Karpathy四原则教你成为LLM编程高手
为什么你的AI助手总是写出糟糕的代码Karpathy四原则教你成为LLM编程高手【免费下载链接】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助手编写代码结果它要么过度复杂化要么做出错误的假设或者在不该修改的地方乱改代码这正是Andrej Karpathy技能认证项目要解决的核心问题。这个开源项目基于AI领域专家Andrej Karpathy的观察提供了一套完整的Claude代码行为改进指南帮助你驯服AI助手让它成为你真正的编程伙伴。问题的根源AI编程的四大陷阱在深入解决方案之前让我们先看看AI助手在编码时常犯的典型错误。这些错误不仅浪费时间还会引入不必要的复杂性隐藏的假设陷阱AI经常默默做出假设而不验证。比如当你要求添加用户数据导出功能时它可能直接假设你需要导出所有用户数据而忽略了隐私和性能问题。过度工程化倾向AI喜欢为简单问题创建复杂的架构。一个简单的折扣计算功能可能被包装成抽象工厂模式、策略模式和配置管理器的组合体而实际上只需要一个简单的函数。盲目修改的恶习在不理解代码上下文的情况下AI可能会修改无关的注释、格式化风格甚至删除看似无用但实际重要的代码。模糊的执行目标当你说改进代码时AI不知道具体要改进什么结果往往是一堆无意义的更改。Karpathy四原则AI编程的黄金法则原则一编码前思考不要隐藏困惑想象一下你请一位资深工程师帮忙他应该先问清楚需求而不是直接开始编码。AI助手也应该这样工作。在CLAUDE.md文件中这个原则被定义为Think Before Coding。核心要求是当AI不确定时必须明确列出所有可能的解释而不是默默选择一个。比如当用户说让搜索更快时AI应该问你是指响应时间更快、并发处理能力更强还是用户体验上的感知速度更快原则二简单优先不要过度推测这是对抗AI过度工程化的关键武器。在skills/karpathy-guidelines/SKILL.md中这个原则强调用最少的代码解决问题不要推测性添加功能。一个典型的例子是折扣计算功能。过度工程化的版本可能包含抽象类、策略模式、配置管理器等30多行代码而简单版本只需要3行def calculate_discount(amount: float, percent: float) - float: 计算折扣金额百分比应为0-100 return amount * (percent / 100)黄金法则如果一位资深工程师会说这太复杂了那就简化它。原则三精准修改只清理自己的问题这个原则在EXAMPLES.md中有详细说明。AI在修改代码时应该像外科医生一样精准只处理与任务直接相关的部分。关键规则包括不要改进相邻的代码、注释或格式不要重构没有问题的东西匹配现有的代码风格即使你会有不同的做法如果发现无关的死代码只提及而不删除测试标准很简单每一行修改都应该能追溯到用户的请求。原则四目标驱动执行定义可验证的成功标准这是Karpathy最深刻的洞察之一LLM非常擅长循环直到达到特定目标……不要告诉它该做什么给它成功标准然后看着它工作。在CLAUDE.md中这个原则要求将模糊的指令转化为可验证的目标添加验证 → 为无效输入编写测试然后让它们通过修复bug → 编写重现bug的测试然后修复它重构X → 确保重构前后测试都通过实践案例从问题代码到优雅解决方案让我们看看一个真实的对比案例。假设你需要一个保存用户偏好的功能过度工程化的版本AI常犯的错误class PreferenceManager: def __init__(self, db, cacheNone, validatorNone): self.db db self.cache cache or InMemoryCache() self.validator validator or DefaultValidator() def save(self, user_id: int, prefs: dict, merge: bool True, validate: bool True, notify: bool False) - bool: # 50多行复杂的逻辑简单优先的版本遵循Karpathy原则def save_preferences(user_id: int, preferences: dict) - None: 保存用户偏好到数据库 db.execute( UPDATE users SET preferences ? WHERE id ?, (json.dumps(preferences), user_id) )简单版本的优势很明显更容易理解、实现更快、更容易测试而且当真正需要复杂性时可以进行重构。如何实施Karpathy技能认证方法一Claude Code插件推荐在你的Claude Code中首先添加市场/plugin marketplace add forrestchang/andrej-karpathy-skills然后安装插件/plugin install andrej-karpathy-skillskarpathy-skills这会将指南安装为Claude Code插件使技能在所有项目中可用。方法二CLAUDE.md文件每个项目对于新项目curl -o CLAUDE.md https://raw.githubusercontent.com/forrestchang/andrej-karpathy-skills/main/CLAUDE.md对于现有项目追加echo CLAUDE.md curl https://raw.githubusercontent.com/forrestchang/andrej-karpathy-skills/main/CLAUDE.md CLAUDE.md方法三与Cursor集成项目还包含一个Cursor项目规则文件你可以在.cursor/rules/karpathy-guidelines.mdc中找到它。详细设置说明在CURSOR.md文件中。四原则对比表快速掌握核心要点原则名称核心思想常见错误正确做法编码前思考不要假设不要隐藏困惑展示权衡默默选择一种解释并继续执行明确列出所有假设询问澄清展示多种方案简单优先用最少的代码解决问题不要推测为单一用途添加抽象层添加未请求的功能只实现请求的功能需要时再重构精准修改只修改必要内容只清理自己的问题重构相邻代码改变格式风格删除无关代码只修改与任务直接相关的行匹配现有风格目标驱动执行定义成功标准循环直到验证通过我会改进代码的模糊方法编写测试重现bug → 修复 → 验证无回归如何知道它正在生效当你应用这些指南时你会看到明显的改进✅更少的diff中不必要更改- 只有请求的更改出现✅更少因过度复杂化而重写- 代码第一次就简单✅澄清问题在实现前提出- 而不是在错误后✅干净、最小的PR- 没有附带的重构或改进关键洞察时间比复杂性更重要过度复杂的例子并不明显错误 - 它们遵循设计模式和最佳实践。问题在于时机它们在需要之前添加复杂性这会导致使代码更难理解引入更多bug需要更长时间实现更难测试好的代码是简单解决今天的问题而不是过早解决明天的问题。Karpathy指南偏向谨慎而非速度。对于简单任务简单的拼写错误修复、明显的一行代码更改请使用判断力 - 并非每个更改都需要完整的严谨性。目标是减少非平凡工作中的代价高昂的错误而不是减慢简单任务的速度。开始你的LLM编程专家之旅通过掌握Andrej Karpathy技能认证的四大原则你将能够编写更可靠的AI生成代码- 减少错误和过度工程化提高开发效率- 避免不必要的重写和澄清循环创建更干净的代码库- 只进行必要的更改建立可验证的工作流程- 明确定义成功标准今天就在你的项目中实施这些原则体验更高效、更可靠的AI辅助编程无论你是AI编程新手还是资深开发者这些技能都将帮助你在LLM编码领域脱颖而出。【免费下载链接】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),仅供参考

相关新闻

测试驱动开发终极指南:如何用RED-GREEN-REFACTOR循环写出高质量代码

测试驱动开发终极指南:如何用RED-GREEN-REFACTOR循环写出高质量代码

2026/7/11 6:31:50

测试驱动开发终极指南:如何用RED-GREEN-REFACTOR循环写出高质量代码 【免费下载链接】superpowers An agentic skills framework & software development methodology that works. 项目地址: https://gitcode.com/GitHub_Trending/su/superpowers 测试驱…

BlenderNeRF终极指南:如何在Blender中快速创建NeRF数据集

BlenderNeRF终极指南:如何在Blender中快速创建NeRF数据集

2026/7/11 3:31:37

BlenderNeRF终极指南:如何在Blender中快速创建NeRF数据集 【免费下载链接】BlenderNeRF Easy NeRF synthetic dataset creation within Blender 项目地址: https://gitcode.com/gh_mirrors/bl/BlenderNeRF BlenderNeRF是Blender中最简单、最快速的合成NeRF和…

DataMapper Core高级特性:集合链式操作与性能优化实战

DataMapper Core高级特性:集合链式操作与性能优化实战

2026/7/9 7:50:56

DataMapper Core高级特性:集合链式操作与性能优化实战 【免费下载链接】dm-core DataMapper - Core 项目地址: https://gitcode.com/gh_mirrors/dm/dm-core DataMapper Core是一款功能强大的对象关系映射(ORM)工具,为Ruby开…

Unity Addressable资源打包回流项目目录:自定义构建路径与工作流实践

Unity Addressable资源打包回流项目目录:自定义构建路径与工作流实践

2026/7/11 9:42:44

1. 项目概述与核心痛点最近在项目里折腾Unity的Addressable系统,发现一个挺有意思但又容易踩坑的需求:如何把通过Addressable打包出来的资源,直接保存在项目工程目录里,而不是一股脑全扔到构建输出路径(比如Library或S…

【大数据毕业设计】基于 Python 爬虫的网络热点舆情监测系统的设计与实现 基于文本挖掘算法的舆情情感分析系统(源码+文档+远程调试,全bao定制等)

【大数据毕业设计】基于 Python 爬虫的网络热点舆情监测系统的设计与实现 基于文本挖掘算法的舆情情感分析系统(源码+文档+远程调试,全bao定制等)

2026/7/11 9:42:44

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

辉光管驱动电路实测:K155ID1耐压65.7V,搭配170V升压模块的3个设计要点

辉光管驱动电路实测:K155ID1耐压65.7V,搭配170V升压模块的3个设计要点

2026/7/11 9:42:44

辉光管驱动电路实战:K155ID1芯片与170V升压模块的协同设计1. 辉光管驱动系统架构解析在复古电子设备复兴的浪潮中,辉光管因其独特的视觉效果和机械美感备受创客青睐。一套完整的辉光管驱动系统通常包含三个核心模块:控制单元(如Ar…

大数据毕业设计-基于 Python 的广东旅游数据分析系统的设计与实现 基于 Python 的广东省文旅数据可视化分析系统(源码+LW+部署文档+全bao+远程调试+代码讲解等)

大数据毕业设计-基于 Python 的广东旅游数据分析系统的设计与实现 基于 Python 的广东省文旅数据可视化分析系统(源码+LW+部署文档+全bao+远程调试+代码讲解等)

2026/7/11 9:42:44

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

数字电路上拉与下拉电阻设计及PIC18F86J11应用

数字电路上拉与下拉电阻设计及PIC18F86J11应用

2026/7/11 9:42:44

1. 信号上拉与下拉的基础概念解析在数字电路设计中,上拉(Pull-up)和下拉(Pull-down)是两种基本的信号处理技术。它们通过在信号线上添加电阻连接到电源(VCC)或地(GND)&am…

游戏出海必看!APP推广必懂的ASO优化秘籍

游戏出海必看!APP推广必懂的ASO优化秘籍

2026/7/11 9:32:43

无论你如何通过游戏盈利,获得更多下载量始终是增加收入的好方法,而自然增长(无需为每次下载付费)是实现这一目标的绝佳途径。在 App Store 和 Google Play 上的自然增长,来自于在搜索结果中的曝光度。这背后有着一套相…

解锁AMD Ryzen处理器深层性能:SMU Debug Tool完全指南

解锁AMD Ryzen处理器深层性能:SMU Debug Tool完全指南

2026/7/10 22:32:48

解锁AMD Ryzen处理器深层性能:SMU Debug Tool完全指南 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https://gi…

6个月转型AI工程师:实战路径与核心技能

6个月转型AI工程师:实战路径与核心技能

2026/7/9 18:28:30

1. 项目概述:6个月转型AI工程师的可行性路径在2023年大模型技术爆发的背景下,AI工程师岗位需求同比增长217%(LinkedIn数据)。不同于传统算法工程师需要3-5年培养周期,现代AI工程师更侧重工程化落地能力。我在硅谷科技公…

YOLOv5模型剪枝与量化实战:边缘设备部署优化

YOLOv5模型剪枝与量化实战:边缘设备部署优化

2026/7/10 6:57:56

1. 项目背景与核心价值在计算机视觉领域,YOLOv5因其出色的实时检测性能成为工业界宠儿。但当我们尝试将其部署到边缘设备(如树莓派、Jetson Nano或手机终端)时,立刻会遇到两个致命问题:模型体积庞大(原始YO…

WechatDecrypt技术解析:深入理解微信数据库AES-256-CBC解密机制

WechatDecrypt技术解析:深入理解微信数据库AES-256-CBC解密机制

2026/7/11 0:02:03

WechatDecrypt技术解析:深入理解微信数据库AES-256-CBC解密机制 【免费下载链接】WechatDecrypt 微信消息解密工具 项目地址: https://gitcode.com/gh_mirrors/we/WechatDecrypt 在数字隐私日益重要的今天,微信聊天记录作为个人数字资产的重要组成…

5分钟搞定Kodi字幕难题:智能字幕插件让你追剧无忧 [特殊字符]

5分钟搞定Kodi字幕难题:智能字幕插件让你追剧无忧 [特殊字符]

2026/7/11 0:02:03

5分钟搞定Kodi字幕难题:智能字幕插件让你追剧无忧 🎬 【免费下载链接】zimuku_for_kodi Kodi 插件,用于从「字幕库」网站下载字幕 项目地址: https://gitcode.com/gh_mirrors/zi/zimuku_for_kodi 还记得那个深夜吗?你刚下载…

PostgreSQL 备份与恢复实战:从 pg_dump 到时间点恢复的生产级方案

PostgreSQL 备份与恢复实战:从 pg_dump 到时间点恢复的生产级方案

2026/7/11 0:02:03

PostgreSQL 备份与恢复实战:从 pg_dump 到时间点恢复的生产级方案 一、数据库备份最容易被忽略的问题,不是「有没有做备份」,而是「备份能不能恢复、恢复要多久、以及恢复后的数据对不对」 很多团队做数据库备份的方式是「写个 cron job&am…