当前位置: 首页 > news >正文

同一个 AI,为什么到你项目里就开始自作主张——CLAUDE.md 到底该写什么

同一个 AI,为什么到你项目里就开始自作主张——CLAUDE.md 到底该写什么

1. 同一个 AI,到你项目里就开始自作主张

你有没有这种感觉——同一个 AI,在别人的演示里神乎其神,一到你自己的项目里,就开始自作主张、答非所问。

上周我让它给产品加个小改动。它顺手"送"了我三样没要的东西:

  • 图省事用了 SQLite 数据库——可这个项目生产环境必须是 PostgreSQL。
  • 把数据库密码直接写进了配置文件——本该走环境变量。
  • 还自作主张补了一个登录模块——这功能我明确说过现在不做。

我一开始也以为是这次 Prompt 没写好。但这些坑反复出现,换什么措辞都拦不住。后来我想明白了:这不是 AI 变笨了,也不是它笨——是项目根目录那份 CLAUDE.md 还没写。

我把规则补进去之后,同类需求它再没踩过。模型对所有人都一样,差别就在根目录 CLAUDE.md 那一个文件。

单条 Prompt 管一次对话,CLAUDE.md 管整个项目。


2. 把 CLAUDE.md 写成 README,等于没写

大部分人第一次写 CLAUDE.md,会把它写成一份 README。

罗列一遍"这是什么项目、用了哪些技术栈、怎么本地跑起来",然后觉得交差了。结果 AI 该踩的坑一个没少。

我自己早期就这么干过:CLAUDE.md 开头花了一大段介绍项目背景、贴了技术选型的来龙去脉,写得像一份产品文档。AI 读完照样我行我素——该顺手引入的新依赖一个没少。因为那一整段,对它全是已知信息。

问题出在:AI 根本不缺"是什么"的信息。它能读代码,能自己看出你用的是什么框架、数据流怎么走、Model怎么定义。你把这些再抄一遍给它,是冗余。冗余还有副作用——它会稀释真正重要的那几条规矩,让边界淹没在介绍里。

它缺的是另一类东西——边界和规矩:什么不能动、什么算做完、遇到模糊地带按什么原则来。这些东西代码里没写,AI 也猜不出来。

一句话区分:README 是写给新人的"介绍",CLAUDE.md 是写给 AI 的"行为约束"。把 CLAUDE.md 写成介绍,等于没写。

那到底该写什么?


3. CLAUDE.md 就是项目级的"三要素"

第 1 篇讲过一个 Prompt 要稳定(点击此链接可以查看),结构上只要三件事:目标、约束、验收。

CLAUDE.md 不是什么新东西——它就是把这三要素从"一条 Prompt"放大到"整个项目",再写一次、长期生效。一份好的 CLAUDE.md,章节基本能和三要素对上号:

CLAUDE.md 章节对应三要素
产品目标 / 定位目标
MVP 必须实现 / 暂不实现约束
技术铁律(数据库 / 密钥 / 依赖)约束
上线标准验收
开发原则方法论

关键差别在生效方式。Prompt 的三要素是每次手打、用完即弃;CLAUDE.md 是写一次、每次对话自动加载。它就放在项目根目录,Claude Code 这类工具每开一个新会话都会先读它一遍——你不用复制粘贴,不用反复提醒,它是 AI 一进门看到的第一份说明。

这正是第 3 篇"把重复的 Prompt 抽成模板" (点击此链接查看)那条思路的终点——模板是你主动调用的资产,CLAUDE.md 是 AI 默认就读的规则。前者还要你记得用,后者连记都不用记。换句话说,前三篇的方法论你得靠自觉执行,写进 CLAUDE.md 之后,执行这件事本身被自动化了。


4. 拆四段:一份真实产品的 CLAUDE.md 长什么样

光讲框架太虚。我把自己产品 ScoreMe 的 CLAUDE.md 公开了一份——删掉了所有密钥、域名和商业细节,只留结构和技术规则。下面拆的就是它的四个片段。

每段我都回答同一组问题:为什么这样写,以及不这样写会怎样

4.1 边界:先写清楚"不做什么"

这份 CLAUDE.md 里有一节叫"暂不实现",明明白白列着:手机号验证码登录、复杂会员系统、语音评分。

为什么要专门写"不做"?因为 AI 默认会"帮你想周到"。你让它加一个评分接口,它觉得"既然有用户,那得有登录吧"“既然有登录,那加个会员体系更完整吧”——一路给你脑补。

"暂不实现"这一节,就是给它画一条红线:到这儿为止,再往外不要碰。

不写会怎样?你让它做 A,它给你 A + B + C,每一项看着都合理,但 MVP 的范围像气球一样越吹越大,永远差最后一口气上不了线。写清楚"必须实现"只定了方向,写清楚"暂不实现"才真正刹得住车。

4.2 技术铁律:把 AI 最爱"图方便"的地方钉死

CLAUDE.md 里有一条数据库铁律,原话是:生产环境必须用 PostgreSQL,不允许用 SQLite,数据库连接信息必须来自环境变量,不允许写死在代码里。安全那一节还补了一条:API Key 不得出现在前端,DEBUG 必须为 False。

为什么要把这种"常识"白纸黑字写下来?因为这恰恰是 AI 最爱图方便违反的地方。本地开发时 SQLite 零配置、跑得飞快,AI 默认就奔它去;密钥直接写进配置文件,当下最省事。

把它写成铁律,AI 每次生成代码都会绕开这些坑。

不写会怎样?就是开篇那一幕——本地 SQLite 跑得欢,一上生产数据库直接炸;密钥硬编码进前端,等于公开挂出去。这类坑写一次 CLAUDE.md,之后一劳永逸;不写,就每个新对话陪它重踩一遍。

4.3 验收:给项目一个"做完了"的统一定义

这份 CLAUDE.md 有一节"上线标准",列得很具体:能调用模型返回评分、能限制每日免费 3 次、Docker 能一键启动、PostgreSQL 数据可持久化。

这是第 1 篇"验收"概念放大到项目级的样子——给整个项目一个"完成的定义"。有了它,AI 和你对"做完了"才有同一把尺子,而且每一条都能机械判断,不靠感觉。

不写会怎样?AI 说"做完了",你也以为做完了。结果上线一重启容器,数据全没——因为没人把"数据要可持久化"列进验收。验收缺失,最后都变成扯皮:它觉得交付了,你觉得没有,谁也说不清标准在哪。

4.4 价值观:替 AI 决定模糊地带怎么走

最后一节是"开发原则",里面有两条我很看重:一是生产环境保持简单,不要过早引入复杂架构;二是所有模型输出必须可控,必须经过后端 JSON 校验,不能直接把原始输出丢给用户。

前三段管的是有明确答案的事。这一节管的是没有标准答案的模糊地带——也就是第 2 篇说的决策区。

CLAUDE.md 不可能穷举每个选择。当它没明说某件事该怎么办时,AI 要么按训练里的"行业最佳实践"自由发挥,要么按你写下的原则走。"开发原则"就是把你的判断标准提前交给它。

不写会怎样?你一个还在验证阶段的 MVP,AI 可能给你热心地塞进消息队列、缓存层、甚至拆成微服务——每一样都是"最佳实践",合在一起就是过度工程。原则这一节,就是替它在岔路口提前选好方向。


5. 拿走就能用:一份最小 CLAUDE.md 骨架

5.1 7节骨架

不用一上来就写得多全。下面这份骨架是我现在的起手式,照着填就行:

1. 项目目标与定位 (50-150 字)一句话目标 + 核心定位 = 三要素的"目标" 2. MVP 边界:必须 / 暂不 (100-200 字)红线 = "约束" 3. 技术栈与技术铁律 (100-200 字)不可违反的硬规定:数据库 / 密钥 / 依赖 4. 目录结构与模块职责 (100-200 字)让 AI 知道东西放哪、各模块干什么 5. 上线 / 完成标准 (50-150 字)可机械判断的验收清单 = "验收" 6. 开发原则 (100-200 字)模糊地带的价值观 = "方法论" 7. 红区 / 禁止事项 (50-150 字)绝对不能做的事

用法很简单:先把这 7 节填个初版,跑两周,把这期间"AI 反复踩的坑"补进对应章节。补几轮之后,这份 CLAUDE.md 就活了。

5.2 什么时候该写,什么时候别写

CLAUDE.md 不是每个项目都需要。

不需要的场景:一次性脚本、几十行的小工具、单文件 Demo、只让 AI 碰一两次的代码。写 CLAUDE.md 的成本比收益高,纯属仪式感。

该写的场景:项目上了几百行、分了多个模块;你会反复让 AI 在上面改东西;开始出现"AI 老踩同一个坑";多人或者多个 AI 会话一起协作;有几条不可违反的技术铁律。

最简单的判断信号,如果你发现每次开新对话都在重复同样的叮嘱,就该把那句叮嘱沉淀进 CLAUDE.md 了。重复的话,就是该抽出来的规则。

5.3 反面教材:别把"现状"写进 CLAUDE.md

见过不少人踩的一个反向坑:把快速变化的实现细节写进 CLAUDE.md。

比如"当前用户表有 17 个字段,分别是……"“OrderService 依赖 PaymentGateway 的 v2.3 接口”“现在用的是 Kafka 3.1”。

为什么错?因为 CLAUDE.md 不会随代码自动更新。这些细节一周就过期,而 AI 会拿着这份过期信息一本正经地误导你——过期的规则,比没有规则更危险。

正确做法是:CLAUDE.md 只写"慢变量"——目标、边界、原则、铁律、验收标准,这些几个月才变一次。具体的字段、接口签名、版本号,让 AI 自己去读代码,代码才是唯一的事实源。

一句话记住:CLAUDE.md 写原则,不写进度。


6. 收尾

把这个系列串一下:
第 1 篇三要素,管一条 Prompt(写 Prompt 的三要素:目标、约束、验收(附实战模板));
第 2 篇四象限,管"该不该交给 AI" (AI 协作四象限:什么任务该交给 AI、什么自己来(附 30 秒决策清单));
第 3 篇模板,把重复的 Prompt 抽成资产(
AI 编程常用 Prompt 模板:读项目 / 修 bug / 加功能 / 重构);
这一篇 CLAUDE.md,把前面三篇沉淀成项目级、常驻的规则。它是前三篇的落地容器。

这套写 CLAUDE.md 的方法我自己每天在用——我用它搭了 ScoreMe,一个用 AI 帮你打磨面试和销售话术的工具,这篇拆的那份脱敏 CLAUDE.md 就是它的。如果你想看这套规则在一个真实付费产品里跑成什么样,点击此处跳转查看。

下一篇写我没立规矩时摔过的 5 个坑——这一篇讲怎么立规矩,下一篇讲不立规矩的代价。下一篇见。


关于作者

AI + 工程落地工程师,15 年系统工程经验,做过架构师 / Tech Lead / 独立 builder 三种角色。现在专注 ScoreMe(AI 评分官),用 AI 协作把想法快速变成可运行的付费产品。本系列分享我在这条路上沉淀的方法论与踩坑复盘。

http://www.jsqmd.com/news/977477/

相关文章:

  • B站弹幕屏蔽词批量管理工具:5分钟打造你的纯净弹幕环境
  • 错过标讯、筛选太累?2026招投标团队如何摆脱无效搜索
  • 2026年厦门二手专用车/特种车推荐榜:二手环卫洒水车、扫路车、垃圾车、高空作业车厂家选购指南 - 品牌发掘
  • 我用了半年只留下这1个,2026职场视频总结效率准确率胜出工具真心太香了
  • 基于NXP多PMIC的Zynq UltraScale+ MPSoC高可靠电源与功能安全设计
  • 终极鸣潮工具箱WaveTools:3步解锁120帧流畅游戏体验
  • 京东天猫苏宁商品数据抓取工具包+京东评论情感打分脚本(含Scrapy/Requests双实现、词典规则分析、多平台适配)
  • 3分钟搞定Zotero中文文献管理:Jasminum插件完整解决方案
  • 26个高质量书源一键导入指南:告别阅读APP无书可读的烦恼
  • 2026最新测评:16款降AI率平台测评,论文降重降ai率终极答案!
  • 026 文件搜索高级技巧:正则表达式深度使用、多行模式、文件类型过滤与上下文控制
  • 小说下载器终极指南:一键收藏100+网站,打造永久离线图书馆
  • 律师拜访客户整理视频2026年5款提升视频内容整理效率与准确率工具,省下90人工核对时间
  • 太原江浙菜餐厅推荐榜|2026年6月专业测评,靠谱精选5家人均百元内值得吃 - 外贸老黄
  • 3步告别电脑噪音:Windows平台专业风扇控制软件FanControl完全指南
  • 百度网盘macOS版终极加速指南:免费解锁全速下载体验
  • 2.4.3 InnoDB简介
  • 【春笋计划复盘02】答辩PPT是怎么炼成的?——从内容设计到现场呈现 实战分析
  • 微信小程序计算机毕设之基于springboot+微信小程序的旅游线路定制微信小程序(完整前后端代码+说明文档+LW,调试定制等)
  • 从Eclipse到IDEA:iObjects Java组件在不同IDE下的环境配置差异与实战技巧
  • CAXA 工具-设计中心
  • Typora收费后,我找到了这款开源免费的MarkText,附详细安装与主题配置指南
  • 给自己弄个小目标
  • 沈阳防水补漏哪家靠谱?2026正规修缮公司排名实测 - 苏易修缮
  • 刚跑完2026一季度区域客户拜访 测了十多款视频号内容总结工具终见产品胜出
  • i.MX 7ULP低功耗设计实战:从电源架构解析到软硬件优化
  • WarcraftHelper:魔兽争霸终极优化指南 - 解锁地图限制、宽屏支持与性能提升
  • 3D点云标注工具:解决自动驾驶视觉感知的数据标注难题
  • 基于STM32F103的快递柜实战工程:含完整源码、Keil工程与模块化接线图
  • 3分钟搞定B站评论数据:无需代码的完整爬虫解决方案