第1篇:入门级------Karpathy Skills:70行的紧箍咒
最便宜、最有效的AI行为约束方案
1.1 概念:什么是Karpathy Skills?
Karpathy Skills是一个不到70行的Markdown文件,由开发者Forrest Chang根据Andrej Karpathy的观察编写而成。
它不依赖任何框架,不需要安装任何插件------只需要把文件放在项目根目录,AI就会自动遵守它的规则。
为什么它能火?
2025年,这个项目冲上GitHub趋势第一,收获60k+ Stars。不是因为技术复杂,而是因为它解决了最痛的点:AI不听话。
1.2 核心理念:四条铁律
原则1:编码前思考
原文:遇到模糊需求,必须先问、不能猜。
AI的行为变化:
| 之前 | 之后 |
|---|---|
| 直接写代码 | 输出【理解】【假设】【边界】【待确认】 |
| 擅自决定用Redis | 问"用什么缓存方案?" |
| 假设API存在 | 问"API密钥从哪里获取?" |
实战示例:
用户说:"加个日志功能。"
遵守规则的AI会输出:
text
【理解】需要在系统中添加日志记录功能
【假设】
1. 日志级别包括INFO、WARN、ERROR
2. 日志输出到文件而非控制台
【边界】
1. 磁盘空间不足时的处理?
2. 日志文件多大时轮转?
【待确认】
1. 使用Python自带的logging还是第三方库?
2. 日志保留天数?
原则2:简洁优先
原文:用最少的代码解决问题。不加未请求的功能。
AI的行为变化:
| 之前 | 之后 |
|---|---|
| 写抽象基类 | 直接写函数 |
| 加设计模式 | 最简单的实现 |
| 处理不可能发生的异常 | 只处理必要的错误 |
限制条件:
-
单个函数不超过50行
-
不使用抽象类(除非3个以上具体实现)
-
不添加"未来可能需要"的代码
原则3:精准修改
原文:只碰必须碰的地方。
AI的行为变化:
| 之前 | 之后 |
|---|---|
| 顺手格式化整个文件 | 只改任务相关的行 |
| 删除"看起来没用"的注释 | 保留所有注释 |
| 重命名没改过的变量 | 不动无关代码 |
限制条件:
-
一次变更只改≤3个文件
-
不reformat未修改的代码
-
不删除注释(哪怕是看起来没用的)
原则4:目标驱动
原文:给目标不给步骤,让AI自己验证。
AI的行为变化:
| 之前 | 之后 |
|---|---|
| "完成了" | 提供测试通过的证据 |
| 凭感觉说能跑 | 实际运行并输出结果 |
| 跳过验证 | 验证是完成的前提 |
示例:
-
之前:"修复了bug,已解决。"
-
之后:"先写了复现bug的测试(FAIL),修改代码后测试通过(PASS),输出如下:[测试结果]"
1.3 解决什么问题?
| 问题 | Karpathy如何解决 |
|---|---|
| AI瞎猜需求 | 原则1:强制反问 |
| 代码过于复杂 | 原则2:限制行数和抽象 |
| 改动范围过大 | 原则3:限制文件数量 |
| 虚假完成 | 原则4:要求验证证据 |
1.4 安装方法
方式一:直接下载(推荐)
bash
# 在项目根目录执行
curl -o CLAUDE.md https://raw.githubusercontent.com/forrestchang/andrej-karpathy-skills/main/CLAUDE.md
方式二:在Antigravity/Cursor中配置
将内容粘贴到:
-
Antigravity:
.claude/rules.md -
Cursor:
.cursor/rules/karpathy-guidelines.mdc
方式三:全局安装(所有项目生效)
bash
# 克隆到全局目录
git clone https://github.com/forrestchang/andrej-karpathy-skills.git ~/.karpathy-skills
# 在IDE中配置指向该目录
1.5 验证是否生效
在Agent面板输入一个模糊需求,比如:"帮我优化一下代码。"
未生效时的响应:
"好的,我帮你优化......[直接开始改代码]"
生效后的响应:
text
【理解】你希望优化现有代码……
【假设】
1. 优化方向是性能/可读性/可维护性?
2. 需要优化的具体模块是?
【待确认】
1. 优化的主要目标是什么?
2. 是否需要保持对外接口不变?
如果看到【理解】【假设】【待确认】格式,说明Karpathy规则已生效。
1.6 今天对话中的干货
为什么70行就能起效?
问:这么短的规则,AI真的会遵守吗?
答:大模型的指令遵循能力很强。关键在于规则不是"建议",而是"命令"。CLAUDE.md放在项目根目录,AI每次对话前都会读取。相比复杂的系统提示,简洁的规则反而更容易被严格执行。
与系统提示的区别
| 维度 | 系统提示 | Karpathy Skills |
|---|---|---|
| 位置 | IDE设置里 | 项目根目录 |
| 版本控制 | 否(个人配置) | 是(随项目共享) |
| 团队协作 | 每个人独立配置 | 统一规则,代码即规范 |
| 长度限制 | 通常有上限 | 无限制 |
核心洞见
"AI不缺能力,缺一套编码礼仪。"------这就是Karpathy Skills为什么能火的原因。它把工程师代代相传的经验(先想清楚、保持简单、精准修改、验证完成)翻译成了AI能执行的规则。