【GitHub项目推荐--Andrej Karpathy Skills:给 AI 编程套上“工程缰绳”】⭐⭐⭐⭐⭐

张开发
2026/4/16 7:39:40 15 分钟阅读

分享文章

【GitHub项目推荐--Andrej Karpathy Skills:给 AI 编程套上“工程缰绳”】⭐⭐⭐⭐⭐
GitHub 地址https://github.com/forrestchang/andrej-karpathy-skills简介Andrej Karpathy Skills​ 是一套针对 Claude Code 等 AI 编程助手的工程约束规则集。它源于 OpenAI 创始成员 Andrej Karpathy 对当前 AI 编程痛点的深刻洞察——AI 常常“过度自信地犯错”它们会擅自假设、过度抽象、删除不理解但关键的代码。这个项目不是新的 AI 模型而是一套“防呆”指南。它将资深工程师的审慎思维编码成 AI 能理解的规则强制 AI 在“写代码”和“改代码”时遵循最小化、可验证、非侵入性的原则从而将 AI 从“容易闯祸的实习生”转变为“严谨的工程伙伴”。主要功能1. 四大核心原则防“AI 式”犯错这套技能通过四条铁律直接针对 AI 编程的四大顽疾不假设、不隐藏困惑Dont assume. Dont hide confusion痛点AI 常会 silently pick an interpretation silently 选择一个错误的理解并跑下去。规则强制 AI 在遇到歧义时显式化推理Surface tradeoffs列出所有可能的理解路径并要求用户澄清而不是自作主张。最小化代码Minimum code that solves the problem痛点AI 酷爱过度工程overcomplicate用 1000 行抽象的“架构”去解决 100 行脚本就能搞定的问题。规则引入“Senior Engineer Test”资深工程师测试——如果资深工程师认为这过于复杂就必须简化。禁止 speculative code speculative 代码。仅触碰必须项Touch only what you must痛点AI 在修改代码时常会“顺手”删除或修改它不理解但实际在用的注释或代码造成隐性破坏。规则只清理自己的烂摊子Clean up only your own mess。每一行被更改的代码都必须能直接追溯到用户请求绝不产生孤儿代码orphans。目标驱动执行Define success criteria. Loop until verified痛点AI 往往“做完了事”缺乏自测闭环。规则将指令从“做这个”imperative转变为“达到这个状态”declarative。AI 必须先定义明确的成功标准然后循环测试直到达标否则自动重试。2. 多模态集成Claude Code Plugin作为插件安装后这些原则会成为 AI 的底层思维框架在所有项目中生效。CLAUDE.md作为项目级配置文件可与现有的工程规范如代码风格、架构约束无缝合并。安装与配置方案 AClaude Code 插件推荐这是最便捷的方式让技能全局生效在 Claude Code 界面中首先添加插件市场如果尚未添加/plugin marketplace add安装 Andrej Karpathy Skills/plugin marketplace install forrestchang/andrej-karpathy-skills安装后AI 在思考时会自动加载这些约束规则无需在每个项目中重复配置。方案 B项目级配置 (CLAUDE.md)如果你希望规则仅对特定项目生效或与团队规范结合新项目将仓库中的CLAUDE.md文件内容复制到项目根目录的CLAUDE.md中。现有项目将规则内容追加到你现有的CLAUDE.md文件末尾。配置建议对于核心库或遗留系统建议采用方案 B 并叠加项目特定规则如“禁止使用某些已弃用的 API”实现双重约束。如何使用1. 识别“生效”信号当你正确安装后AI 的行为会发生明显变化你可以通过以下信号判断规则是否生效话变多了AI 会开始问你 clarifying questions澄清问题而不是直接开干。先给计划对于复杂任务AI 会先输出一个 Step-by-Step Plan step-by-step 计划让你确认。代码变短生成的代码会明显更简洁、更“直给”少了层层封装。2. 工作流从“指令”到“验证”下达目标指令不要只说“修复这个 Bug”要说“确保函数在输入为 null 时返回默认值并添加一个测试用例验证它”符合 Goal-Driven 原则。等待澄清与计划AI 会列出它理解的任务边界和可能的风险点等你确认。接收最小化代码AI 只提交与任务直接相关的代码变更且会附上验证结果如测试通过截图。安全迭代如果验证失败AI 会基于成功标准自动循环而不是等你手动说“再试一次”。应用场景实例无代码场景一重构“屎山”时的安全网痛点你让 AI 重构一个古老的支付模块。通常 AI 会兴奋地引入现代框架把代码全部重写最后导致依赖它的十几个未知模块全部报错。Andrej Skills 介入后AI 首先会列出风险“我注意到这个模块被 A、B、C 三个服务导入。重构可能破坏它们的兼容性。你需要我a) 只重构内部逻辑保持接口不变b) 先为旧接口创建适配器”你选择 a) 后AI 会仅修改内部实现并生成接口调用对比测试确保输入输出行为 100% 一致。结果重构安全完成没有引爆周边地雷。场景二杜绝“过度设计”的 API痛点你让 AI 写一个简单的配置文件读取函数。通常它会给你返回一个抽象工厂模式 建造者模式 依赖注入的“企业级”代码让你读起来想哭。Andrej Skills 介入后AI 会应用“Minimum code”原则直接生成一个 20 行的纯函数。它甚至会备注“Senior Test这里不需要设计模式因为需求是稳定的且只有一处调用。”结果你得到了可读性极高、维护成本极低的代码而不是一个“未来可能有用”的架构负担。场景三修复 Bug 时的“外科手术”痛点你让 AI 修复一个条件判断的 Bug。它修复了但“顺手”把旁边一段看似无用实则关键的日志代码删了导致线上监控失效。Andrej Skills 介入后AI 会严格遵守“Touch only what you must”原则。它只修改那个错误的 if 条件语句并明确告诉你“我没有动第 45-50 行的日志代码虽然它们未被测试覆盖但可能在生产环境中使用。”结果Bug 被精准修复且没有引入任何隐性回归。总结Andrej Karpathy Skills 的本质是将“工程纪律”注入到 AI 的决策循环中。它不增加 AI 的智力但极大地提高了 AI 产出的确定性和安全性。它特别适合用于核心业务逻辑、遗留系统维护和团队协作场景在这些场景中代码的“可预测性”比“聪明度”更重要。正如 Karpathy 所言“Dont tell it what to do, give it success criteria and watch it go.” 这套技能正是教你如何为 AI 设定成功的标准然后放手让它去循环验证。GitHub 地址https://github.com/forrestchang/andrej-karpathy-skills

更多文章