你用 AI 写代码,项目是不是越来越乱?很多人都有这个问题。
你一般会这么问 AI:
“帮我做一个用户管理系统。”
“给我写一个支付接口。”
“把这段代码优化一下。”
然后 AI 就开始写了。但是它今天把文件放在 src/api/auth.ts。明天又把相关文件放在 services/auth-service.ts。后天可能直接在项目根目录建一个 auth.js。

01 为什么你的项目会被 AI 搞乱?
结果就是项目结构一团糟。文件东一个西一个,最后根本没法维护。
这是怎么回事呢?
因为 AI 没有你项目的整体情况。它不知道你的项目结构是什么样的。它只能根据它学过的很多项目来猜。但是,不同项目的经验和规范是会冲突的。所以它今天用这个规范,明天用那个规范,你的项目就乱了。
解决方法很简单。你需要给 AI 定规矩,告诉它该怎么做。
02 一个文件,解决 80% 的问题
我现在用一个很直接的办法。在项目根目录放一个 CLAUDE.md 文件。我把这个项目所有的规矩都写在这个文件里。
AI 每次帮我写代码之前,都要先读一遍这个文件。然后,它就会严格按照里面的规矩来办事。
这个方法效果很好。
- 项目结构固定了。 AI 不会再乱建文件夹,比如搞出 src/frontend/src 这种奇怪的结构。文件都放在该放的地方。
- 代码风格统一了。 不会一会儿用驼峰命名,一会儿用下划线命名。整个项目看起来就像一个人写的。
- 安全规则很明确。 AI 不会再做一些危险操作,比如乱动数据库。
- 规范可以随时更新。 我在使用中发现任何问题,或者有新的想法,就随时把新规矩加进去。
这个文件就像是给 AI 的一份工作手册。你告诉它怎么干活,它就怎么干活。
说实话,自从我加了这个文件,我写项目的效率高了很多。我不用再花时间去修复 AI 犯的低级错误,可以专心在业务逻辑上。
03 实战案例:智哥的 CLAUDE.md 长什么样?
我拿我最近在做的一个项目举例子。这个项目用到了 Cloudflare Workers 做后端,D1 做数据库,Next.js 14 做前端。你如果不懂这些技术也没关系。你只需要知道,这是一个标准的网站项目架构就行。
下面我挑重点,给你看看我的 CLAUDE.md 文件里写了些什么。
最重要的规则(用红字标红)
这几条是“铁律”,我放在文件的最上面。AI 绝对不能违反。
第一条:用户界面语言必须是英文
所有给用户看的文字,比如按钮、提示、菜单,都必须是英文。API 返回的错误信息也必须是英文。这一点很重要,因为我的产品是面向海外用户的。如果界面上中英文混杂,会显得很不专业。
第二条:禁止自动部署(这条救过我三次)
我明确告诉 AI,在没有得到我的确认之前,绝对不许运行 wrangler deploy 和 git push 这两个命令。而且,所有对数据库的写入操作,也必须经过我的确认。
这条规矩太关键了。有一次,我让 AI 优化一段代码,它优化完之后,自作主张就想把代码推送到生产环境。幸好有这条规则拦住了它。不然,一个还在测试阶段的功能上线了,后果不堪设想。
第三条:必须使用参数化查询
所有数据库查询操作,都必须用 ? 作为占位符,然后把变量传进去。绝对禁止直接用字符串拼接成 SQL 语句。
为什么要这么做?这是为了防止一种叫“SQL 注入”的网络攻击。如果直接拼接字符串,黑客就有可能通过输入恶意内容,来破坏你的数据库,甚至偷走所有用户数据。参数化查询可以从根本上杜绝这个问题。
第四条:所有 ID 必须用 crypto.randomUUID() 生成
项目里所有需要唯一 ID 的地方,比如用户 ID、订单 ID,都必须用 crypto.randomUUID() 这个函数来生成。我禁止 AI 手动拼接 ID,或者用时间戳来当 ID。
手动拼接或者用时间戳,都有可能出现重复的情况。一旦 ID 重复,数据就会发生冲突,这是个大麻烦。用 crypto.randomUUID() 生成的 ID 是全局唯一的,可以完全避免这个问题。
项目结构规范(解决循环嵌套问题)
为了让 AI 知道文件应该放在哪里,我在文件里画出了清晰的目录结构。 code Codedownloadcontent_copyexpand_less
aifixface-cloudflare/
├── workers/ # 这是后端 API 的代码
│ ├── src/
│ │ ├── api/ # API 路由,处理网络请求
│ │ ├── middleware/ # 中间件,比如登录验证
│ │ ├── services/ # 业务逻辑,处理具体功能
│ │ └── types/ # 类型定义文件
│ └── db/schema.sql # 数据库表结构
└── (前端文件) # 这是 Next.js 前端代码
然后我用文字告诉 AI 每个目录是干嘛的:
- 所有 API 接口相关代码,都放在 workers/src/api/ 目录下面。
- 所有具体的业务逻辑,都放在 workers/src/services/ 目录下面。
- 所有中间件,都放在 workers/src/middleware/ 目录下面。
这样一来,AI 就有了整个项目的地图。它不会再乱放文件,也不会搞出一些莫名其妙的嵌套目录。
命名规范(避免代码风格混乱)
我也写了严格的命名规则,这样 AI 写出来的代码风格永远是统一的,方便阅读和维护。
- 文件名:用 kebab-case,也就是用短横线连接单词。例如:auth-service.ts。
- 变量和函数:用 camelCase,也就是小驼峰命名法。例如:getUserData。
- 类型和接口:用 PascalCase,也就是大驼峰命名法。例如:UserData。
- 常量:用 UPPER_SNAKE_CASE,也就是所有字母大写,用下划线连接。例如:MAX_RETRY。
这些规则不复杂,但是能让整个项目的代码看起来很整洁。
错误处理规范(避免程序崩坏)
我发现 AI 写代码时,不太喜欢做错误处理。这样很危险,程序一遇到意料之外的情况就可能崩溃。
所以,我在文件里明确规定了错误处理的规范:
- 所有 API 的异步操作,都必须用 try-catch 语句包裹起来。这样即使发生错误,程序也不会崩溃,而是会进入 catch 流程。
- 当 API 发生错误时,返回给前端的格式必须是统一的:{ error: “这里是具体的错误信息” }。
- 必须根据不同的错误,返回正确的 HTTP 状态码。比如客户端请求错了,就返回 400;服务器内部出错了,就返回 500。
现在 AI 写的代码,健壮性好多了。
动态更新机制(让规范越来越完善)
最关键的一点是,这个规范文件不是死的,而是活的。我还在文件里加入了一个“如何修改这些规则”的章节。
我告诉 AI,在我们的对话中,如果我发现有某个好的实践模式应该被固定下来,我会这样建议你:
我:“💡 提示:这个模式是不是应该加到 CLAUDE.md?”
你:“可以 / 同意 / 确认”
我:“✅ 已添加到 CLAUDE.md”
这样,每次我们发现一个可以改进的地方,AI 就会主动提醒我更新规则。我们的这份“员工手册”就会在合作中变得越来越完善。
04 小白如何上手?(4 步搞定)
如果你不懂技术,也没关系。你可以按照下面这 4 个步骤来做。
第一步:告诉 AI 你的项目类型
你可以直接这样问 AI:
“我要做一个 Web 项目,技术栈是 React + Node.js + MongoDB。你帮我生成一个 CLAUDE.md 文件。我需要里面包含项目结构、命名规范、错误处理这几项规则。”
AI 会根据你的描述,生成一个初步的规则文件。
第二步:人工审核关键规则
你拿到 AI 生成的文件后,不需要看懂每一行代码。你只需要重点检查三个地方:
- 安全规则:看文件里有没有限制 AI 做危险操作的条款。比如,有没有禁止 AI 随便部署代码,或者随便删除数据库。这是最重要的。
- 项目结构:看它规划的目录结构是否合理。凭你的直觉判断,这个结构看着是不是清晰、不绕。
- 命名规范:看它定的命名风格是不是统一的。比如,是不是所有文件名都用一种风格,所有变量名都用另一种风格。
你只要用常识判断,逻辑上说得通就行。
第三步:投入实战使用
把这个 CLAUDE.md 文件放到你的项目根目录。然后,你就可以开始让 AI 帮你写代码了。记住,每次给 AI 提需求的时候,都先提醒它去读这个文件里的规矩。
第四步:持续迭代优化
在使用过程中,你肯定会发现一些 AI没做好的地方,或者规则没覆盖到的地方。这时候,你就直接告诉 AI:
“把‘所有密码都必须加密存储’这条规则,加到 CLAUDE.md 文件里去。”
AI 就会自动帮你更新文件。你的规则会越来越完善,AI 也会越来越听话。
05 效果对比
说一下实际效果的对比。
没有 CLAUDE.md 之前:
- 因为结构太乱,我重构了 4 次项目。
- 项目文件到处乱放,我自己都找不到。
- 代码风格五花八门,维护起来很痛苦。
- 还出现过一次 AI 差点删掉我数据库的危险情况。
有了 CLAUDE.md 之后:
- 项目从开始到现在,一次都没有重构过。
- 项目结构很清晰,文件分类明确。
- 代码风格完全统一,看着很舒服。
- 再也没有出现过任何安全问题。
最大的变化是,我不用再跟在 AI 后面,不停地修改它犯的错。我只需要制定规则,AI 就会按照规则去执行。
06 写在最后
很多人觉得,在 AI 时代,必须自己懂技术才能做产品。其实不是这样的。
现在,懂得“如何让 AI 听话”,比“自己会写代码”更重要。而让 AI 听话的关键,就是三件事:明确的规则,清晰的结构,还有持续的迭代。
这三件事,都不需要你会写代码。
你只需要:
- 告诉 AI 你的项目是什么类型。
- 让 AI 帮你生成初步的规则。
- 你自己检查一下关键的安全条款。
- 在实际使用中不断优化这些规则。
就这么简单。
很多人问我,现在普通人还有机会做产品吗?我的答案是,有机会,而且机会比以前更大了。
以前,你从一个想法到做出一个产品,需要懂前端、后端、数据库、运维,要学很多东西。
现在,你只需要:
- 有一个产品想法。
- 会使用 AI 工具。
- 能为 AI 制定好规则。
剩下的具体工作,让 AI 帮你做就行了。但是前提是,你得学会管理 AI。
而 CLAUDE.md 这个文件,就是你管理 AI 的第一把钥匙。
如果你正在用 AI 做项目,也被规范问题搞得头大,可以试试我的这个方法。建一个你自己的 CLAUDE.md 文件。不用写得很完美,先跑起来,再慢慢优化。
毕竟,完成比完美更重要。