forrestchang

forrestchang/andrej-karpathy-skills

一个独立的CLAUDE.md文件,用于改进Claude代码行为,源自Andrej Karpathy对大型语言模型编码常见缺陷的观察。

113,814星标11,372复刻在 GitHub 上查看 →

关于这个项目

该项目提供了一个名为 `CLAUDE.md` 的独立配置文件,旨在优化 Claude 等大型语言模型在编程任务中的输出质量。其设计思想源于 AI 研究员 Andrej Karpathy 对当前大模型编码常见缺陷的洞察,例如模型会擅自做出错误假设、过度设计复杂代码、或无意中修改无关代码段。 该文件将应对策略凝练为四大核心原则:“先思考后编码”要求模型明确陈述假设、揭示不确定性;“简单性优先”严格禁止添加未请求的功能或抽象;“精准修改”确保更改仅针对目标问题,不波及周边代码;“目标驱动执行”则倡导通过测试先行和可验证的成功标准来保障代码有效性。通过将这些指导原则嵌入开发环境,开发者能更有效地引导 AI 助手生成简洁、可靠且贴合意图的代码,尤其适用于需要 AI 辅助进行代码生成、重构或维护的场景。

使用场景

{"scenarios":[{"title":"修复遗留代码bug","problem":"让AI修复一个复杂函数中的bug时,它经常擅自重构周边代码,引入新的问题。","solution":"使用CLAUDE.md的\"精准修改\"原则,强制AI只修改与bug直接相关的代码行,不改变无关的注释、格式或相邻函数。","example":"修复一个数据库查询函数中的SQL注入漏洞时,AI不会重写整个函数的错误处理逻辑,只专注于添加参数化查询部分。"},{"title":"实现简单功能需求","problem":"AI经常过度设计,把简单的数据验证功能实现成复杂的验证框架。","solution":"应用\"简单性优先\"原则,要求AI只实现明确请求的功能,禁止添加未要求的抽象层或配置选项。","example":"要求实现邮箱格式验证时,AI会提供一个简单的正则表达式函数,而不是创建包含多种验证器的Validator类。"},{"title":"重构大型代码库","problem":"AI在重构时经常做出错误假设,不确认代码意图就进行修改,导致功能损坏。","solution":"启用\"先思考后编码\"原则,强制AI先明确陈述对代码的理解和假设,发现歧义时主动询问澄清。","example":"重构一个复杂的支付处理模块前,AI会先列出它理解的各个组件职责,并询问不确定的业务逻辑细节。"},{"title":"添加测试覆盖","problem":"AI编写的测试经常遗漏边界情况,或者测试本身过于复杂难以维护。","solution":"采用\"目标驱动执行\"策略,要求AI先编写测试用例定义成功标准,然后实现代码让测试通过。","example":"添加用户注册验证时,AI会先编写测试用例覆盖所有无效输入场景,然后实现刚好能让这些测试通过的最小代码。"}],"summary":"最适合需要AI辅助但又要严格控制代码质量、避免过度设计的编程场景。"}