你有没有遇到过这种情况:让 AI 帮你修一个 bug,结果它顺手改了三个变量名、调整了缩进、还加了一堆你根本没要的注释?
这不是 AI 不好用,是你没给它定规矩。
今天要介绍的项目,来自 OpenAI 创始成员、前特斯拉 AI 总监 Andrej Karpathy 的编程哲学提炼。整个项目只有一个文件,却能让你手头的 AI 编程工具从"乱写"变成"靠谱"。
一、项目是什么
Andrej Karpathy Skills 是一个极简主义的 AI 编程行为准则项目。
项目地址:👉 https://github.com/forrestchang/andrej-karpathy-skills
整个项目本质上就是一个CLAUDE.md文件,定义了 AI 编码助手应当遵守的 4 条核心原则。
作者 Forrest Chang 把 Karpathy 长期在社交媒体和演讲中表达的编程理念,提炼成了可落地的规则,让 Claude Code、Cursor 等工具在生成代码时自动遵循。
没有复杂的配置,没有花哨的框架,就是一个文件解决问题。
一句话总结:给 AI 编程助手立规矩,一个文件就够了。
二、四大原则详解
原则 1:Think Before Coding — 先思考,再动手
核心要义:先理解需求再动手,别上来就写代码。
AI 最容易犯的错误就是没搞清需求就开始输出。你让它"优化一下登录模块",它可能直接给你重写了一套 OAuth 流程——而你只是想让超时时间从 30 秒改成 60 秒。
对比示例:
| 场景 | 无准则时 AI 的行为 | 启用准则后 AI 的行为 |
|---|---|---|
| 修改超时时间 | 直接重写整个登录模块 | 先列出变更点,确认后再改 |
| 添加新接口 | 顺手重构了三个旧接口 | 只新增接口,不动已有逻辑 |
| 修复空指针 | 改了调用方、被调用方、还加了日志 | 定位根因,最小化修复 |
原则 2:Simplicity First — 简洁是终极的复杂
核心要义:能一行解决的不写十行,能用标准库的不引入第三方包。
Karpathy 的原话是:"Simplicity is the ultimate sophistication." 这条原则在 AI 编程中尤其重要——AI 天然倾向于"过度设计",因为它见过太多复杂方案。
实战案例:
# ❌ AI 无准则时的写法 from typing import List, Optional import pandas as pd def get_user_names(user_ids: List[int]) -> Optional[List[str]]: df = pd.DataFrame({'id': user_ids}) # ... 20 行代码 # ✅ 启用 Simplicity First 后的写法 def get_user_names(user_ids: list[int]) -> list[str]: return [db.get_name(uid) for uid in user_ids]原则很简单:能用列表推导式就别上 Pandas,能用标准库就别装第三方包。
原则 3:Surgical Changes — 像外科手术一样精准
核心要义:只改需要改的地方,不要顺手"优化"无关代码。
这是 AI 生成代码最大的毛病——改一个 bug 顺便改了 20 个无关文件。你 review 的时候会发现:变量名被改了、缩进被调了、注释被删了、连没报错的代码也被"优化"了。
实际效果:根据项目 issue 区的用户反馈,启用这套规则后,无关联修改(noise diff)减少了 50% 以上,代码审查通过率明显提升。
对于 API 中转站开发者来说,这意味着 AI 生成代码的可预测性大幅增强——你知道 AI 只会动它该动的地方。
原则 4:Goal-Driven — 目标驱动,不做无意义重构
核心要义:所有改动都要服务于明确目标,不做无目的重构。
这条原则是前三条的"总开关"。每次 AI 生成代码前,先问自己三个问题:
- 这次改动的目标是什么?(修复 bug / 新增功能 / 性能优化)
- 改动范围是否最小?(只改目标相关的文件)
- 改动是否可验证?(有测试覆盖吗?)
如果 AI 想"顺便重构一下",这条原则会直接拦住它。
三、实际效果:数据说话
根据项目社区的用户反馈数据:
| 指标 | 启用前 | 启用后 | 改善幅度 |
|---|---|---|---|
| 无关联修改(noise diff) | 高频 | 低频 | 减少 50%+ |
| 代码审查通过率 | 一般 | 明显提升 | 显著改善 |
| AI 生成代码的可预测性 | 低 | 高 | 大幅提升 |
| Review 耗时 | 长 | 短 | 减少 30%+ |
复制表格
数据来源:项目 GitHub issue 区用户反馈汇总。
四、怎么安装使用
方式一:Claude Code 插件(推荐)
Bash
# 在 Claude Code 中直接安装 /plugin marketplace add forrestchang/andrej-karpathy-skills安装后CLAUDE.md会自动加载到每次对话的上下文中,无需手动操作。这是最省心的方式。
方式二:Cursor Rules
将项目中的CLAUDE.md内容复制到你的.cursor/rules/目录下,Cursor 会自动读取。
# 下载文件 curl -o .cursor/rules/karpathy-skills.mdc \ https://raw.githubusercontent.com/forrestchang/andrej-karpathy-skills/main/CLAUDE.md方式三:手动复制(通用方案)
curl -o CLAUDE.md \ https://raw.githubusercontent.com/forrestchang/andrej-karpathy-skills/main/CLAUDE.md把这个文件放到项目根目录,大部分 AI 编程工具(Claude Code、Cursor、GitHub Copilot 等)都会自动识别。
五、推荐搭配
如果你想让 AI 编程能力再上一个台阶,可以搭配以下项目一起使用:
| 项目 | 作用 | 搭配效果 |
|------|---------|
| addyosmani/agent-skills | 6 阶段工程化 SOP | 从"不乱改"升级到"改得好" |
| mattpocock/skills | TypeScript TDD 技能 | 代码质量双重保障 |
| davila7/claude-code-templates | 组件模板商店 | 按需选模板,配合准则使用 |
组合拳效果:Karpathy 准则(不乱改)+ Agent Skills(改得好)+ TDD(质量高)+ 模板(效率快)
tips:大模型能力接入,claude code上可以接挺多家模型的,不一定只接Claude模型,Gpt5.5、Glm5.1、Deepseekv4、Kimi K2.6等等都可以的。
目前,使用国外官方模型API越来越复杂,而我有切换多种模型使用的情况,选择一个稳定高效价优的API聚合平台就颇为重要了,这里大家可以选择适合自己的平台,这里以我使用的平台作为举例,我接入Claude code就是按照魔芋平台进行。
通过对比价格,稳定性,速度,三方面后,我决定选择的第三方魔芋api平台来获取API key。
点击链接前往api平台👉https://www.moyu.info/register?aff=g2d7
使用手机号进行注册
注册成功后登录进入【令牌管理】
配置完成后可以使用新配置的令牌或者,初始平台生成的令牌。
这样就可以获得APi key
URL地址是:https://www.moyu.info
然后去Claude code配置即可,具体可以参考我Claude code 配置帖子。