痛点切入
用 AI 写代码的人,大概率遇到过这四种场景:
calculate_discount 函数,它给你写 30 行 Strategy 模式的抽象层Andrej Karpathy(前 OpenAI / Tesla AI 负责人)在 X 上发了一段观察,直接点名这四个问题。有人把他的观点整理成一个 CLAUDE.md 文件,上线 7 个月拿到 207,175 Star,成为 GitHub 历史上增长最快的 AI 工具类仓库之一。
这个 skill 不是代码库、不是插件、不是框架 — 是一个 2,357 字节的 Markdown 文件,四条规则,没有依赖。
—
工作原理
Karpathy Guidelines 的核心思路是:用声明式目标替代命令式指令,用强制约束替代隐性期望。
四条原则 vs 四个问题
| 原则 | 解决的问题 | 核心机制 |
|---|---|---|
| Think Before Coding | 假设错误、隐藏困惑 | 强制显式列出假设,不确定就问 |
| Simplicity First | 过度工程、抽象膨胀 | 「高级工程师会说这太复杂吗?」自检 |
| Surgical Changes | 顺手重构、无关改动 | 每行改动必须追溯到用户请求 |
| Goal-Driven Execution | 无法验证、循环失败 | 把任务转为可验证的成功标准 |
为什么只有 4 条?
Karpathy 的原话:
“LLMs are exceptionally good at looping until they meet specific goals… Don’t tell it what to do, give it success criteria and watch it go.”
关键洞察:LLM 擅长「执行到满足条件」,但前提是条件得明确。四条原则不是在教 AI 怎么写代码,而是在 重新定义 AI 和人类的协作契约 — 让 AI 停下来问、写简单点、别乱动、定义清楚什么叫「完成了」。
与同类方案的差异
| 方案 | 思路 | 复杂度 | 效果 |
|---|---|---|---|
| Karpathy Guidelines | 4 条行为约束 | 极低 | 中等(依赖模型遵守) |
| Andrej Karpathy Guidelines (fork) | 添加更多规则 | 低 | 中等 |
| ECC Agent Harness | 68 Agent + 286 Skill | 高 | 高(系统级强制) |
| Planning-with-Files | 持久化规划文件 | 中 | 高(崩溃恢复) |
Karpathy Guidelines 的独特之处:零依赖、零配置、一个文件搞定。它不强制执行,而是「建议」— 效果取决于模型的指令遵循能力。
—
功能拆解
模块 1:Think Before Coding(思考优先)
一句话:在写任何代码之前,先列出你的假设,不确定就问。
核心能力:
适用场景:需求模糊的任务、涉及隐私/安全的功能、多技术方案可选的决策
示例对比:
❌ LLM 常见行为:用户说「导出用户数据」,直接写一个导出全量 JSON 的函数
✅ 应有行为:先问清楚 — 导出全部还是筛选?JSON 还是 CSV?哪些字段?数据量多大?
模块 2:Simplicity First(简单优先)
一句话:写能解决问题的最简代码,不加推测性功能。
核心能力:
自检标准:「一个高级工程师会说这太复杂吗?」如果是,简化。
适用场景:所有编码任务,尤其是脚本、工具函数、快速原型
模块 3:Surgical Changes(外科手术式修改)
一句话:只改必须改的,只清理自己制造的垃圾。
核心能力:
清理规则:只删除你的改动导致的孤立代码(未使用的 import/变量/函数),不删已有的死代码。
验收标准:每一行改动都应该能追溯到用户的请求。
适用场景:Bug 修复、功能增强、代码审查中的小改
模块 4:Goal-Driven Execution(目标驱动执行)
一句话:把任务转化为可验证的成功标准,循环直到达成。
核心能力:
1. [步骤] → 验证: [检查] 格式列出计划关键洞察:强成功标准让 LLM 能独立循环,弱标准(「让它能用」)需要反复确认。
适用场景:多步骤任务、测试驱动开发、需要验收标准的工程任务
—
实测数据
星标与增长
| 指标 | 数值 |
|---|---|
| Star 数 | 207,175 |
| Fork 数 | 21,141 |
| Watcher | 1,202 |
| 创建时间 | 2026-01-27 |
| 最后更新 | 2026-04-20 |
| 许可证 | MIT |
7 个月 207k Star,平均每月增长约 30k。对比参考:ECC(242k★)用了 7 个月,Caveman(100k★)同期数据。
Token 成本对比
Karpathy Guidelines 本身不直接节省 token(不像 Caveman 那样压缩输出),但通过减少以下行为间接节省:
| 场景 | 无 Guidelines | 有 Guidelines | 节省估算 |
|---|---|---|---|
| 过度工程重写 | 1000+ 行 → 被拒绝 → 重写 | 50-200 行一次到位 | 60-80% |
| 顺手重构导致的额外 review | diff 混入无关改动 → 逐行审查 | 干净 diff → 快速合并 | 50%+ |
| 假设错误导致的返工 | 实现完发现方向错 → 全部重来 | 先确认再实现 | 80-100% |
真实场景对比(EXAMPLES.md 摘录)
场景:添加折扣计算函数
无 Guidelines(LLM 常见输出):
from abc import ABC, abstractmethod
from enum import Enum
from typing import Protocol, Union
from dataclasses import dataclass
class DiscountStrategy(ABC):
@abstractmethod
def calculate(self, amount: float) -> float:
pass
# ... 30+ 行
有 Guidelines:
def calculate_discount(amount: float, percent: float) -> float:
"""Calculate discount amount. percent should be 0-100."""
return amount * (percent / 100)
代码量对比:30+ 行 vs 3 行。如果需求真的需要多策略,等需要时再重构。
—
安装 + 适用场景 + 结语
安装
方式 A:Claude Code Plugin(推荐)
/plugin marketplace add forrestchang/andrej-karpathy-skills
/plugin install andrej-karpathy-skills@karpathy-skills
方式 B:CLAUDE.md(逐项目)
新项目:
curl -o CLAUDE.md https://raw.githubusercontent.com/multica-ai/andrej-karpathy-skills/main/CLAUDE.md
现有项目(追加):
echo "" >> CLAUDE.md
curl https://raw.githubusercontent.com/multica-ai/andrej-karpathy-skills/main/CLAUDE.md >> CLAUDE.md
方式 C:Cursor
仓库自带 .cursor/rules/karpathy-guidelines.mdc,直接在 Cursor 项目中生效。
最适合谁
| 角色 | 价值 | 推荐度 |
|---|---|---|
| 个人开发者 | 减少 AI 返工,代码质量提升 | ⭐⭐⭐⭐⭐ |
| 小团队 | 统一 AI 协作规范 | ⭐⭐⭐⭐ |
| 技术负责人 | 建立 AI 编码标准 | ⭐⭐⭐⭐ |
| 初学者 | 学习「好代码」的标准 | ⭐⭐⭐⭐⭐ |
不适合谁
相关文章
合规披露
multica-ai/andrej-karpathy-skills,截至 2026-08-25—
一句话总结:Karpathy Guidelines 不是框架,不是插件,是一个 2.3KB 的 Markdown 文件 — 但它可能是性价比最高的 AI 编程改进:四条规则,零成本,直接提升代码质量和协作效率。