使用 Claude Code 开发是时,经常会遇到这些问题:你只是让它改一下颜色,结果它顺手把整个页面布局都改了;你只是加一个小功能,结果它给你整了一套"可扩展架构",200 行代码里 150 行根本用不上;它还是说"已经开发好了,没有错误了",结果打开一用还是疯狂报错。
今天所介绍的的CLAUDE.md的核心不是高级编程技巧,而是怎么让 AI 守规矩。不管你是用 AI 写代码、写文章、做表格还是整理资料,只要经常遇到"AI 自作主张"的问题,这套思路都能用。
下面我们就来拆解下AI在开发的时候所遇到的问题,我们怎么用claude.md这套规则来拆解。
AI 开发的三大典型问题
在使用 AI 辅助开发时,最常见的三种失控行为:
1. 不确定也硬干
AI 遇到不确定的需求时,不会停下来确认,而是自己猜一个答案就开始写代码。结果你以为它懂了,它也假装自己懂了,最后做出来的完全不是你想要的。
2. 喜欢给自己加戏
你只是想要一个按钮,AI 给你写了一套组件系统;你只是想要一个输入框,AI 给你加了各种状态管理。看起来很专业,实际上增加大量无效代码,让项目变得臃肿。
3. 做完不验证
AI 说"做完了",很多时候只是它自己觉得做完了。它可能没跑、没测,甚至没打开看一眼,结果问题比原来还多。
规则一 不确定先问
这条规则直接针对"不确定也硬干"的问题。
核心要求:
不确定的事,别自己猜,直接问用户
如果有多种理解,把几种可能性都说出来,不要偷偷选一个就开工
如果觉得有更简单的做法,也要说出来
哪里不清楚,就停下来,告诉用户哪里不清楚
加上这条规则后,AI 在动手之前会先把不确定的地方摊开。该问就问,该确认就确认,避免"你以为它懂了,它也假装自己懂了"这种最糟糕的情况。
规则二 只写该写的
这条规则管的是"AI 喜欢加戏"的问题。
核心原则:
没要求的功能,不写
为了"以后可能用得上"才写的代码,不写
为了显得架构很完整才加的抽象,不写
一个错误如果现实里根本不可能发生,也不用专门写处理逻辑
文档里有句特别狠的话——"如果你写了 200 行,50 行就够,重写。"
自检标准:"资深工程师会觉得这写得太复杂了吗?" 如果是,那就简化。
这条规则提醒 AI:先把眼前的问题解决,不要为了未来的想象,把项目做得太复杂。
规则三 像外科手术一样改代码
什么叫外科手术一样改代码?只切病灶,不碰健康组织。
核心要求:
只动你让它动的那个地方
旁边的代码,不改
没坏的东西,不重构
你不喜欢的代码风格,不动
文档里有一句话特别关键——"每一行改动,都要能直接追溯到你的需求。"
很多人用 AI 写代码最崩溃的地方就在这里:明明只是让它改一个小点,它却顺手把周围一大片都"优化"了,还觉得是在帮你。结果项目越写越乱,越写越复杂。
这条规则就是告诉 AI:不要自作主张。只碰该碰的地方,别顺手把好好的东西改坏。
规则四 按目标来执行
这条是最重要的规则,针对"做完不验证"的问题。
以前你给 AI 一个指令,它说"做完了"。但这个"做完",很多时候只是它自己觉得做完了。
Goal-Driven Execution 要求反过来:先定好什么叫"做完",达到了才算做完。 把 AI 主观的"我觉得好了",变成客观的、可以验证的标准。
加上这条规则后,AI 再说"好了",就不是随口一说,而是已经按标准验证过了。
下面我们就用场景来说明以上的四点:
场景演示一:模糊需求处理
实际效果怎么样?来看第一个场景。
向 AI 提一个模糊需求:"帮我在这个页面上加一个登录功能。"
这句话非常模糊——没说用邮箱还是手机号,没说要不要验证码,没说登录成功之后跳哪里,也没说按钮放在哪。
加了规则后的 AI 反应:它没有直接开始写代码,而是先停下来反问:
登录方式倾向哪种?邮箱、手机号还是第三方登录?
要不要加"忘记密码"的功能?
登录成功之后跳转到哪里?
需要做输入校验吗,比如邮箱格式不对的时候提示?
问清楚之后,它才开始动手。这就是第一条规则 [不确定先问] 在起作用。
场景演示二:目标驱动执行
接着登录页,再提一个需求:"帮我给登录页的邮箱输入框加一个校验功能。"
加了规则后的 AI 反应:它没有直接开写,而是先拆了一步——"我先定义一下什么算校验通过。"
然后列出三条验证标准:
1:输入合法邮箱地址(如 123456@qq.com),能正常提交
2:输入格式不对的地址(如 abc),提示"请输入正确的邮箱格式",阻止提交
3:什么都不填直接提交,提示"邮箱不能为空"
3:标准定完,才开始写代码。写完之后,它不是立刻说"好了",而是自己跑一遍,把三条标准挨个测一遍,全部通过了才告诉你"校验功能已添加,三个场景都验证通过"。
这就是第四条规则 [按目标来执行] 在起作用。
如何使用这四条规则
使用方法非常简单:
在你的项目根目录创建 CLAUDE.md 文件
把四条规则写入文件
每次新开 Claude Code 窗口,它会自动读取这个文件,变成项目里的默认行为准则
不用安装插件,不用配置环境,也不用记复杂命令。只要用 Claude Code 开发,它就能自动读取。
这四条规则由 OpenAI 创始团队成员、前特斯拉 AI 负责人 Andrej Karpathy在遇到同样问题,总结而来。把自己踩过的坑总结成了一份 CLAUDE.md 文档,一共 63 行。

暂无评论,来说点什么吧~