Skip to content

andrej-karpathy-skills 深度分析报告

项目地址:andrej-karpathy-skills Stars: 85,523 | Forks: 8,176 | License: MIT

项目概述

这是一个极其极简的项目——整个仓库只有 11 个文件,核心就是一个 CLAUDE.md 文件。它的价值不在代码,而在洞察的提炼和分发机制。作者 forrestchang 从 Andrej Karpathy 对 LLM 编码缺陷的观察中,提炼出四条行为准则,打包成 Claude Code 的 skill/plugin,让 Claude Code 在编码时自动遵循这些准则。


1. 架构分析

整体架构

这个项目的"架构"本质上是一个 Markdown 文件的多格式分发策略

andrej-karpathy-skills/
├── CLAUDE.md                          # 核心内容(独立使用)
├── README.md                          # 项目说明
├── README.zh.md                       # 中文版说明
├── EXAMPLES.md                        # 使用示例
├── CURSOR.md                          # Cursor 适配说明
├── .claude-plugin/
│   ├── plugin.json                    # Claude Code 插件元数据
│   └── marketplace.json               # 插件市场注册信息
├── .cursor/rules/
│   └── karpathy-guidelines.mdc        # Cursor rules 格式
└── skills/
    └── karpathy-guidelines/
        └── SKILL.md                   # Claude Code skill 格式(含 YAML frontmatter)

设计模式:Write Once, Distribute Everywhere

同一个核心内容(四条准则)被适配到三种不同格式: 1. CLAUDE.md — Claude Code 项目级指令,放到项目根目录即生效 2. SKILL.md — Claude Code skill 格式,带 YAML frontmatter(name、description、license),可通过 /plugin 命令安装 3. Cursor rules (.mdc) — Cursor IDE 的项目规则格式

这种架构选择的 trade-off 很清晰: - 优势:零依赖、零运行时、零维护成本。一个 Markdown 文件就是全部,任何 LLM 都能理解和遵循 - 劣势:没有版本化验证机制,没有 metrics 来衡量准则的实际效果,没有自动化测试确保准则之间不矛盾

数据流

Karpathy 的 Twitter 观察 → 提炼为 4 条准则 → 多格式分发 → LLM 编码时作为 system/context 注入 → 影响输出质量

没有运行时数据流。这是一个纯静态的 prompt engineering 项目,通过改变 LLM 的 context 来改变行为。


2. 核心实现

CLAUDE.md 全文解读(CLAUDE.md

整个文件只有 ~60 行,分为四个 section,每个 section 结构统一:标题 → 口号 → bullet points → 验证标准

## 1. Think Before Coding

**Don't assume. Don't hide confusion. Surface tradeoffs.**

Before implementing:
- State your assumptions explicitly. If uncertain, ask.
- If multiple interpretations exist, present them - don't pick silently.
- If a simpler approach exists, say so. Push back when warranted.
- If something is unclear, stop. Name what's confusing. Ask.

关键设计: - 每条准则以一句加粗的 slogan 开头,便于 LLM 快速抓住要点(LLM 对加粗文本的注意力权重更高) - 使用祈使句("State"、"Present"、"Push back"、"Stop"),这是 prompt engineering 中已被验证有效的指令风格 - 最后一条准则附带验证模板(step → verify pattern),直接给 LLM 一个可执行的思维框架

SKILL.md 的 YAML Frontmatter(skills/karpathy-guidelines/SKILL.md

---
name: karpathy-guidelines
description: Behavioral guidelines to reduce common LLM coding mistakes.
  Use when writing, reviewing, or refactoring code to avoid overcomplication,
  make surgical changes, surface assumptions, and define verifiable success criteria.
license: MIT
---

description 字段是 Claude Code 的 skill 匹配触发器——当用户的任务涉及"writing, reviewing, or refactoring code"时,Claude Code 会自动加载这个 skill。这个 description 的写法值得学习:它不描述 skill 是什么,而是描述什么时候该用

Plugin 配置(.claude-plugin/plugin.json

{
  "name": "andrej-karpathy-skills",
  "skills": ["./skills/karpathy-guidelines"]
}

skills 数组指向 skill 目录的相对路径。Claude Code 通过这个字段发现和加载 skill。

Marketplace 注册(.claude-plugin/marketplace.json

{
  "name": "karpathy-skills",
  "plugins": [{
    "name": "andrej-karpathy-skills",
    "category": "workflow"
  }]
}

category: "workflow" 将这个 skill 归类为工作流类而非工具类,这是一个准确的分类——它不提供新能力,只改变已有能力的使用方式。


3. 设计决策的 Trade-off 分析

决策一:纯文本 vs 代码实现

选择:全部用 Markdown 文本,没有任何代码逻辑。

Trade-off: - 选择文本意味着无法做运行时校验(比如"这次改动是否真的只涉及用户请求的代码") - 但 LLM 对自然语言指令的遵循能力已经足够好,代码实现的边际收益低 - 文本的另一个优势是跨模型通用——不依赖 Claude Code 特有的 API

为什么这是对的:Karpathy 说的核心问题是"behavior"而非"capability",用行为准则(文本)解决行为问题(behavior)是最直接的路径。

决策二:四条准则 vs 更细的规则集

选择:只有 4 条高层准则,没有细化为 20+ 条具体规则。

Trade-off: - 4 条准则占用 token 少(~500 tokens),不会挤占 coding context - 但抽象度高意味着 LLM 需要自行判断如何应用,可能因模型能力差异导致效果不一致 - 对比 OpenClaw 的 AGENTS.md,后者有几十条具体规则(heartbeat 间隔、回复格式、安全边界等),粒度差异明显

为什么这是对的:作为通用 skill,高抽象度保证了适用范围。细化规则应该由项目级的 CLAUDE.md 补充,而不是在一个通用 skill 里做。

决策三:"Goal-Driven Execution" 中的 step→verify 模式

选择:提供一个结构化的计划模板,强制每步附带验证条件。

1. [Step] → verify: [check]
2. [Step] → verify: [check]

Trade-off: - 强制验证增加了思考步骤,对简单任务来说可能过度 - 但 Karpathy 的核心洞察就是"LLM 擅长 loop until goal met",verify 条件就是 loop 的终止条件 - 这是整个 skill 中最有技术含量的设计决策——它不只是给 LLM 一个建议,而是给了一个可执行的算法模式

决策四:支持 Cursor 格式

选择:额外维护 .cursor/rules/karpathy-guidelines.mdc

Trade-off: - 增加了维护负担(两份内容要同步) - 但 Cursor 和 Claude Code 是目前最主流的 AI coding 工具,覆盖两个平台 = 覆盖绝大多数用户 - .mdc 格式本质上也是 Markdown,内容完全相同,同步成本极低


4. 竞品对比

vs OpenClaw Skills(如 skill-creator)

维度 andrej-karpathy-skills OpenClaw skill-creator
格式 SKILL.md + YAML frontmatter SKILL.md + YAML frontmatter
内容 纯行为准则,无工具调用 包含工具调用指令(read/write/exec)
触发机制 description 字段语义匹配 description + available_skills 列表
作用域 通用,跨项目 通用或项目级
复杂度 ~60 行 通常 100-500 行

核心差异:OpenClaw 的 skill 是能力扩展(教 agent 做新事),而 karpathy-skills 是行为约束(约束 agent 的做事方式)。前者是 "how to do X",后者是 "how to think before doing anything"。

vs ClawHub 上的 skill

ClawHub 上的 skill(如 weather、openhue)都是工具型 skill——定义如何调用外部 API。karpathy-skills 没有任何工具调用,它是纯 prompt skill

这说明 AI coding agent 的 skill 生态至少有两种范式: 1. Tool Skill:教 agent 使用新工具(API、CLI、设备) 2. Behavior Skill:改变 agent 的行为模式(编码风格、思考方式)

karpathy-skills 属于后者,且目前是这一类中最成功的例子(85k stars)。

vs Cursor Rules 社区规则

Cursor 社区有大量 rules(如 cursor.directory),但大多聚焦于特定技术栈(React、Python、Rust)。karpathy-skills 的独特性在于它是语言/框架无关的元规则——不管你用什么技术栈,这四条准则都适用。


5. 可借鉴模式

模式一:Slogan + Bullets + Verification 的三段式结构

## [Number]. [Slogan]

**[One-line motto]**

[Context]:
- [Action 1]
- [Action 2]
- [Action 3]

**The test:** [Verification criterion]

这个结构可以直接复用到任何行为约束类 prompt 中。关键要素: - Slogan:让 LLM 快速定位记忆锚点 - Bullets:具体可执行的行为指令 - Verification:让 LLM 能自我检查

模式二:Imperative → Declarative 任务转换

"Add validation" → "Write tests for invalid inputs, then make them pass"

这个模式不仅适用于 coding,任何 delegative task(给 agent 下任务)都可以用: - 不要说"帮我分析这个项目" - 要说"分析这个项目的架构、列出核心模块、给出可改进点,最终输出一份包含代码引用的报告"

把"做什么"变成"什么算做好了",这是让 LLM 自主 loop 的关键。

模式三:One File Distribution

同一个 Markdown 文件适配多个平台: - 放到项目根目录 → Claude Code 自动加载 - 包装成 SKILL.md → Claude Code plugin 安装 - 复制到 .cursor/rules/ → Cursor 自动加载 - 放到 .github/copilot-instructions.md → GitHub Copilot 加载

一次编写,四处生效。对于 prompt engineering 项目来说,这是最低成本的分发策略。

模式四:Caution over Speed 的显式声明

**Tradeoff:** These guidelines bias toward caution over speed. For trivial tasks, use judgment.

在 prompt 里显式声明 trade-off 是一种高级技巧——它让 LLM 知道什么时候该遵循规则、什么时候该灵活处理,避免了"规则太死导致简单任务也过度思考"的问题。


6. 质量评估

代码质量:N/A

这不是一个代码项目。评估对象是 prompt writing quality

Prompt 质量:9/10

优点: - 极其精炼,60 行覆盖了 LLM 编码的核心痛点 - 每条准则都有明确的验证标准,不只是空泛的建议 - "Goal-Driven Execution" 的 step→verify 模式是原创性的、可操作的设计 - 显式声明了 trade-off(caution vs speed),体现了对边界条件的思考

扣分点: - 缺少具体的 bad/good 示例对比(只有原则没有 case) - 四条准则之间的优先级没有定义(当 Simplicity 和 Surgical Changes 冲突时怎么办?) - 没有 metrics 或评估方法——怎么知道准则真的起作用了?README 里只给了定性描述

实用性:10/10

85k stars 说明了一切。一个 curl 命令就能安装,零配置零依赖,效果立竿见影(至少在主观感受上)。这是 prompt engineering 项目能达到的最高实用性——安装成本为零,潜在收益极高

创新性:7/10

核心洞察来自 Karpathy,作者的贡献是提炼 + 分发。创新不在于内容本身,而在于: - 识别出这四条准则恰好覆盖了 Karpathy 描述的四个痛点 - 设计了跨平台的分发机制 - 用 slogan + verification 的结构让准则可执行

总评

这是一个"少即是多"的典范。85k stars 的项目,核心文件只有 60 行 Markdown,没有一行代码。它证明了在 AI agent 时代,最有价值的东西可能不是代码,而是对行为模式的精确描述

对于 mufans 来说,这个项目最大的启发是:如果你在 AI Agent 领域找差异化定位,行为准则类 skill 是一个被验证有需求但供给不足的方向。大多数人都在做"教 agent 用新工具",很少有人在做"教 agent 怎么思考"。