news 2026/9/8 18:49:14

AI 写代码为什么越改越乱?andrej-karpathy-skills 四步治理 Claude Code

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
AI 写代码为什么越改越乱?andrej-karpathy-skills 四步治理 Claude Code

AI 写代码为什么越改越乱?andrej-karpathy-skills 四步治理 Claude Code

【免费下载链接】andrej-karpathy-skillsA single CLAUDE.md file to improve Claude Code behavior, derived from Andrej Karpathy's observations on LLM coding pitfalls.项目地址: https://gitcode.com/GitHub_Trending/an/andrej-karpathy-skills

刚用 AI 编程工具的人大概都挨过这一下:让它加个小功能,它顺手给你改出一堆没要的东西;说修个 bug,它把半页代码都重排了。andrej-karpathy-skills 就是为治这个毛病变出来的开源项目:一份 CLAUDE.md,把 Andrej Karpathy 总结的四个原则直接变成 AI 的行为规则。读完这篇,你不仅知道装它,还知道怎么判断它有没有真正生效。

接手任务前先问清楚

常见翻车现场

你说"加个导出用户数据的功能",模型不会停下来确认,而是直接开工:全量导出、落到本地文件、字段自己挑。范围、格式、敏感字段,它全替你做了主,等你发现时功能已经歪了。

推荐做法

动手前把假设摊在桌面上,不确定的直接问。你可以让它先回答三个问题:导出是全量还是按筛选条件?文件给谁用、走浏览器还是后台任务?包含哪些字段?有几种理解就把几种都列出来让你选,而不是自己拍一个。拿不准就停,问清再继续。

判断标准

澄清问句出现在写代码之前,说明这条规则在工作;翻出代码之后才来问,说明规则没管住它。

只写够用的代码

常见翻车现场

需求只让算个折扣,模型可能还给你一套抽象基类加策略模式,三十多行起步。这不是风格问题,是复杂度写早了。

推荐做法

写能跑通需求的最短实现,下面这段就是完整答案:

def calculate_discount(amount: float, percent: float) -> float: """计算折扣金额,percent 取 0-100""" return amount * (percent / 100)

别加没被要的功能,也别为只出现一次的代码搭抽象。复杂度等它真需要的那天再加:哪天要支持"满100减10",再把抽象拆出来不迟。

判断标准

写完问自己一句:一个资深工程师看了会不会嫌复杂?嫌就回去删,删到只剩解决问题的部分。

改老代码时少动手

常见翻车现场

修一个空邮箱导致崩溃的 bug,模型的 diff 里除了真正的修复,还夹着单引号改双引号、补类型注解、顺手加的用户名校验。diff 看着像有人重构了半个文件。

推荐做法

改法要像外科手术:只动和空邮箱相关的行,原代码什么风格就保持什么风格。三条纪律——修完自查 diff,每一行改动都能对上你的原始需求;因为这次改动而失效的导入或变量,删掉;发现无关的死代码,只在回复里提一句,别动它。

判断标准

diff 里出现一行对不上需求的改动,就退回重来。

先定验收标准再开工

常见翻车现场

"把认证系统修好"这种指令,模型没有验收标准,只能自由发挥:改改这改改那,最后没人说得清修好了没有。

推荐做法

把指令改写成能验证的目标:"写一个测试,证明改完密码后旧会话必须失效;先跑出失败,再修复,最后确认原有测试全绿。"目标明确后,模型很擅长自己循环迭代直到达标,你只在边上验收。

多步骤任务就写成每步配验证的清单:先在单个接口上加限流并跑测试通过,再抽成中间件并确认已有用例不挂,最后才上 Redis 后端并验证重启后计数还在。一步一验,坏了也好回退。

最短路径:把规则装进项目

最快安装方法

在 Claude Code 里装插件,两条命令搞定:

/plugin marketplace add forrestchang/andrej-karpathy-skills /plugin install andrej-karpathy-skills@karpathy-skills

装完所有项目都能用这套规则。

只给当前项目用

一行 curl 把规则放进项目根目录的 CLAUDE.md 文件:

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

想团队共用、自己挑规则,就 clone 整个仓库:git clone https://gitcode.com/GitHub_Trending/an/andrej-karpathy-skills。用 Cursor 的读者看项目里的 CURSOR.md,里面有配置说明。

项目文件都在哪

项目文件不多,认准三个:CLAUDE.md 是核心规则文件,EXAMPLES.md 存着四个原则各自的正反案例,skills/karpathy-guidelines/SKILL.md 是插件形态的技能定义。

怎么判断规则有没有生效

装完之后不用猜,对照这份清单逐条打勾:

  • diff 自查:里面只剩你要求的改动,没有顺手重构和"优化"
  • 问句前置:澄清问题出现在动手之前,不是翻车之后
  • 一次成型:功能代码写出来就能用,不需要二改瘦身
  • 死代码隔离:发现无关死代码时只汇报,不动手
  • 步骤带验证:多步任务的每一步都挂着验证动作

全勾上,就说明规则在干活。

andrej-karpathy-skills 的全部价值就一句话:把 AI 的猜测变成先确认,把顺手大改变成小 diff,把"我修好了"变成测试能证明。建议先把 CLAUDE.md 放进你常用的项目跑一两周,diff 变干净了,再往里补几条团队自己的规则。

【免费下载链接】andrej-karpathy-skillsA single CLAUDE.md file to improve Claude Code behavior, derived from Andrej Karpathy's observations on LLM coding pitfalls.项目地址: https://gitcode.com/GitHub_Trending/an/andrej-karpathy-skills

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/2 11:42:20

AI-native公司里,为什么75%工作自动化后仍需要25%的人?

先说结论:AI-native 公司里技术能自动完成很大一部分重复性工作,这个说法本身没有问题,但它经常被过度简化。很多人只盯着“自动化比例”这个数字,却忽略了一个关键事实——剩下的那部分工作,恰恰是决定系统能不能持续…

作者头像 李华
网站建设 2026/9/1 7:42:02

NXP i.MX处理器:边缘计算的异构架构与AI实践指南

做边缘设计(Edge Designs)这么多年,我越来越觉得,处理器选型这件事真的不是刷参数能解决的。前几年看方案,主频高、核数多基本就赢了;可到了今天,客户开口就是“本地AI、安全启动、实时控制、低…

作者头像 李华
网站建设 2026/8/30 14:34:02

AI怎么记住你的偏好?拆解 Hermes Agent 的持久化记忆

AI怎么记住你的偏好?拆解 Hermes Agent 的持久化记忆 【免费下载链接】hermes-agent The agent that grows with you 项目地址: https://gitcode.com/GitHub_Trending/he/hermes-agent 你有没有遇到过这种情况:每次新开一个对话,AI 都…

作者头像 李华
网站建设 2026/8/31 23:59:10

GPS高精度定位核心:整数模糊度快速估计与去相关算法详解

1. 从“模糊”到“精确”:GPS定位中的整数模糊度难题 如果你用过手机地图导航,或者开过带有车道级定位功能的车,你可能已经习惯了GPS带来的厘米级定位精度。但你是否想过,从卫星到接收机之间那几万公里的距离,是如何被…

作者头像 李华
网站建设 2026/8/30 18:13:13

Java本地缓存实现:基于ConcurrentHashMap与ScheduledExecutor的轻量级方案

1. 项目概述:为什么我们需要一个轻量级的本地存储方案? 在开发单机Java服务时,我们经常会遇到一些“小而美”的存储需求。比如,用户登录后生成的Token需要临时缓存起来,以便后续接口验证;又比如&#xff0c…

作者头像 李华