乐于分享
好东西不私藏

Andrej Karpathy 启发:让 AI 编程助手更懂规矩

Andrej Karpathy 启发:让 AI 编程助手更懂规矩

📌 项目简介

andrej-karpathy-skills 是一个开源项目,旨在通过一份名为 CLAUDE.md 的配置文件,改进 Claude Code(Anthropic 推出的 AI 编程助手)的行为准则。该项目灵感来源于著名 AI 研究员 Andrej Karpathy 对大语言模型编程陷阱的深刻观察。

🔍 问题:当前 LLM 编程助手的三大通病

Karpathy 在社交媒体上指出,当前 AI 编程助手普遍存在以下问题:

问题类型
具体表现
错误假设
模型擅自做出假设而不验证,不主动提问澄清困惑,不呈现权衡方案
过度复杂化
喜欢过度设计代码和 API,制造臃肿的抽象层,不清理无用代码
意外改动
会”顺手”修改或删除自己理解不充分的代码和注释,产生副作用

这些问题导致 AI 生成的代码常常不符合开发者意图,需要大量返工。

✅ 解决方案:四个核心原则

该项目的核心是一份 CLAUDE.md 文件,包含四条简洁有力的原则:

1️⃣ 三思而后行(Think Before Coding)

不假设、不藏疑、呈现权衡

  • • 遇到不确定性时,主动提问而非猜测
  • • 存在多种解释时,明确呈现而非默默选择
  • • 有更简单的方案时,及时指出
  • • 困惑时,明确说出疑问点

2️⃣ 简单至上(Simplicity First)

最小化代码,只做必要实现

  • • 不添加未要求的特性
  • • 不为单次使用的代码创建抽象
  • • 不引入”灵活性”或”可配置性”
  • • 如果 200 行能写成 50 行,就重写

检验标准:一位高级工程师会觉得这太复杂吗?如果是,请简化。

3️⃣ 精准修改(Surgical Changes)

只触碰必须修改的部分

  • • 不”顺便”改进相邻代码、注释或格式
  • • 不重构没有问题的部分
  • • 匹配现有风格,即使你有不同偏好
  • • 只删除自己改动造成的冗余代码

检验标准:每一行修改都能追溯到用户的请求吗?

4️⃣ 目标驱动(Goal-Driven Execution)

定义可验证的成功标准,循环验证直到达成

将模糊指令转化为可测试的目标:

而不是…
转化为…
“添加验证”
“编写测试覆盖无效输入,然后让测试通过”
“修复 bug”
“编写能复现 bug 的测试,然后让测试通过”
“重构 X”
“确保重构前后测试都通过”

📦安装

选项 A:Claude Code 插件(推荐)

在 Claude Code 中,首先添加插件市场:
/plugin marketplace add forrestchang/andrej-karpathy-skills

然后安装插件:
/plugin install andrej-karpathy-skills@karpathy-skills

这会将指南安装为 Claude Code 插件,使其在你所有项目中可用。

选项 B:CLAUDE.md(按项目)

新项目:

curl -o CLAUDE.md https://raw.githubusercontent.com/forrestchang/andrej-karpathy-skills/main/CLAUDE.md

已有项目(追加):

echo "" >> CLAUDE.md
curl https://raw.githubusercontent.com/forrestchang/andrej-karpathy-skills/main/CLAUDE.md >> CLAUDE.md

🎯 总结

andrej-karpathy-skills 项目通过极简的原则集,帮助 AI 编程助手:

  • • ✅ 减少错误假设和无效沟通
  • • ✅ 生成更精简、更易维护的代码
  • • ✅ 避免意外的副作用修改
  • • ✅ 提供可验证、可测试的工作成果

这是一次将人类工程经验转化为 AI 行为规范的有益尝试,值得在日常开发中推广使用。


相关链接:

  • • GitHub: andrej-karpathy-skills
  • • 英文原版: CLAUDE.md

SEO分析工具:https://www.weiy.org/ai-seo-data-generator/