《Vibe Coding自救指南:从AI乱写代码到规范施工的完整路线图》

第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能执行的规则。