欢迎光临
我们一直在努力

别再裸跑 Claude Code 了!我用 10 个真实工单实测 Karpathy Skills,diff 干净到不敢认

TL;DR:Claude Code 裸奔也能写代码,但裸奔的 Claude 是个「过于自信的初级工程师」——瞎猜需求、过度工程、顺手改无关代码。Karpathy Skills(一份 ≈70 行的 CLAUDE.md)把这三点按住,我用日常迭代的 10 个真实工单做了对照实测,结论:值得装,而且建议放全局 ~/.claude/CLAUDE.md。

参考博客:

Claude Code 必装的 CLAUDE.md?

为什么要关心 CLAUDE.md?

Claude Code 启动时会自动读取项目根目录(及 ~/.claude/)的 CLAUDE.md,注入到 System Prompt 中。它相当于你给 AI 同事写的入职 Onboarding 文档:

  • 项目技术栈、构建/测试命令

  • 编码规范、架构决策

  • 对 AI 自身行为的约束(这就是 Karpathy Skills 在做的事)

没有它,每次对话 Claude 都得重新"猜"你的习惯;有了它,行为明显收敛。

Karpathy Skills 是什么?

Andrej Karpathy 在用 Claude Code 大量编码后发推吐槽 LLM 的三大毛病:

  • 瞎假设不求证​ — 替你做错误假设然后一路狂奔

  • 过度工程​ — 100 行能搞定写成 1000 行,硬堆抽象

  • 误伤友军​ — 顺手改/删无关代码和注释

  • 社区项目 andrej-karpathy-skills把吐槽提炼成 四条规则写入 CLAUDE.md:

    规则

    对应痛点

    核心指令

    Think Before Coding​

    瞎假设

    先陈述假设/歧义,不确定就问,不默默猜

    Simplicity First​

    过度工程

    最小代码解问题,不加未要求的抽象/"灵活性"

    Surgical Changes​

    误伤友军

    只改任务相关代码,不重构没坏的东西

    Goal-Driven Execution​

    模糊指令

    给成功标准(写测试→让测试通过),而非步骤式命令

    一键安装(二选一)

    # 方式一:Claude Code 插件(跨项目生效)
    /plugin marketplace add forrestchang/andrej-karpathy-skills
    /plugin install andrej-karpathy-skills@karpathy-skills

    # 方式二:直接放全局配置(所有项目生效,推荐)
    curl -o ~/.claude/CLAUDE.md https://raw.githubusercontent.com/forrestchang/andrej-karpathy-skills/main/CLAUDE.md

    也可以追加到你现有项目的 CLAUDE.md末尾。

    实测:10 个真实工单,Before vs After

    以下是我两周内用 Claude Code 处理的 10 个典型工单(Node.js + TypeScript 全栈项目),每个任务先裸 Claude Code 跑一次,再加 Karpathy Skills 跑一次,对照 diff/轮次/返工情况。

    #

    工单类型

    裸 Claude Code

    +Karpathy Skills

    关键差异

    1

    Fix:JWT 过期校验 bug

    重写整个 auth middleware + 加 config

    先写复现测试 → 改 3 行校验逻辑 ✓

    Surgical Changes 生效

    2

    Feat:导出 CSV 用户列表

    造 ExportService抽象 + 策略模式(80行)

    简单函数 12 行 + 问清字段范围 ✓

    Simplicity First 生效

    3

    Feat:接口加 rate limit

    引入 Redis + 配置系统 + 改错误处理风格

    加 express-rate-limit 中间件(最小 diff),问 QPS ✓

    Think Before Coding 问参数

    4

    Refactor:整理 utils/format.ts

    "顺手"格式化旁边 2 个文件、删"无用"注释

    只动 format.ts 内指定函数 ✓

    未触发误伤

    5

    Fix:SQL 时区偏移 bug

    猜时区改了 DB 连接串(错)

    问清 DB timezone → 只在 DAO 层转 → 写测试 ✓

    先问后动,少一轮回滚

    6

    Feat:邮件模板变量注入

    自建模板引擎(60行)

    用现有 handlebars3 行 ✓

    不造未要求的轮子

    7

    CI:加 npm audit 到 pipeline

    OK(简单任务)

    OK

    无明显差异

    8

    Docs:更新 README API 示例

    顺手改了隔壁 CHANGELOG(内容不对)

    只改 README ✓

    范围控制

    9

    Fix:表单字段 XSS 过滤

    引入新 sanitize lib + wrapper

    用现有 DOMPurify 包一层,问注入场景 ✓

    目标驱动→写测试验证

    10

    Perf:列表页分页优化

    加了 cursor + offset 双模式(超需求)

    limit/offset 最小实现 ✓

    不预做"将来可能用"的功能

    汇总数据(主观但可感知)

    • 无关代码改动:裸跑 4/10 次出现 → Skills 版 0/10

    • 需人工回滚/指正:裸跑 5/10 → Skills 版 1/10(时区那次是我描述不清)

    • 平均对话轮次:裸跑 ≈ 3.2 轮(含纠正)→ Skills 版 ≈ 2.1 轮

    • PR diff 干净度:Skills 版的 diff 基本 = 任务本身,Review 体验明显好

    什么时候感觉最爽?

    • 修 Bug:要求"先写能复现 bug 的测试再修",Claude 不会跳步瞎改

    • 加小功能:它会先反问关键参数(格式/范围/边界),而不是默认全量导出

    • Legacy Code:你敢让它动老模块——因为它承诺不动旁边的东西

    局限 & 注意事项

    • 不是银弹:复杂架构决策、安全敏感逻辑仍要你 Review

    • 规则太强时(比如你想大范围重构),可临时说 "ignore karpathy rules for this task"或 /clear后重开

    • 团队项目建议把裁剪过的版本签入 repo 根目录 CLAUDE.md,个人习惯放 ~/.claude/CLAUDE.md

    结论

    Claude Code 不必装 CLAUDE.md 也能跑,但装上 Karpathy Skills 那份 CLAUDE.md 后,它从一个"聪明但冒失的 Junior"变成"守规矩能自驱的 Pair Programmer"。

    花 30 秒 curl下来放到 ~/.claude/CLAUDE.md,下一个 PR 你就能感受到 diff 干净了多少。

    赞(0)
    未经允许不得转载:171主机测评 » 别再裸跑 Claude Code 了!我用 10 个真实工单实测 Karpathy Skills,diff 干净到不敢认
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址