!封面
Anthropic 在 2026 年 5 月发布了一份《The Founder's Playbook: Building an AI-Native Startup》,面向用 Claude Code 做产品的技术创业者。整份文档翻下来,有一句话反复出现:
"CLAUDE.md is the single most important file to create first."
>
CLAUDE.md 是需要创建的第一个、也是最重要的文件。
一个配置文件,凭什么是"最重要的第一个文件"?
作为一个非技术出身的律师,我用了几个月时间构建了一套完整的 CLAUDE.md 体系。回头再看 Anthropic 的判断,每一个论点都被我的实践验证了。这篇文章就把这套体系和踩过的坑摊开来讲,供同样在用 Claude Code 的法律同行参考。
Anthropic 到底说了什么
先把原文的关键论述摆出来,用律师能懂的方式转译一下。
论述一:没有文档,每次会话都在从零推断。
原文:"Without specs and architectural constraints written down somewhere the AI can read, each session re-derives foundational decisions from scratch, and those decisions drift."
中译:如果没有把规格说明和架构约束写在 AI 能读到的地方,每次会话都会从头重新推断基础决策,而这些决策会逐渐漂移。
放到法律场景里:如果你不告诉 AI "法律文书的证据认定不能超出当事人主张的范围",它每次会话都会重新推断一遍这个规则,而且每次推断的结果可能不一样。上一轮它还知道不能替当事人扩写证明目的,下一轮为了"语言更通顺"就替当事人把证明逻辑补全了。这就是原文说的 "drift"(漂移)。
论述二:没有护栏,产出功能正常但结构混乱。
原文:"Letting Claude Code build without guardrails produces a codebase that will be functional but structurally incoherent."
中译:在没有护栏的情况下让 Claude Code 构建,会产出一个功能正常但结构混乱的代码库。
法律场景对应:AI 写出来的合同审查意见看起来有模有样,条款逐条分析,风险点也列了,但细看发现——证据编号跳号、合同简称前后不统一、风险分级没有统一标准、金额前后对不上。每一句单拿出来都能用,合在一起就是乱的。
论述三:目标是能解释结构的产出,而不仅仅是能用的产出。
原文:"The goal is a codebase whose structure you can explain, not just a codebase that runs."
中译:目标是一个你能解释其结构的代码库,而不仅仅是一个能运行的代码库。
这句话放到法律工作里更直白:你要的不是一份"看着像法律意见书"的文档,而是一份你能向客户解释清楚"为什么这个风险是高风险、那个是低风险、依据是什么"的文档。结构可解释,比内容能跑重要得多。
论述四:每会话5分钟的文档记录是廉价保险。
原文:"Five minutes of documentation per session is cheap insurance against architectural drift that compounds into an unmanageable codebase."
中译:每次会话花五分钟做文档记录,是对抗架构漂移的廉价保险——架构漂移会累积成一个失控的代码库。
这一条我深有体会。我现在的 rules 文件体系加起来大概 3000 行 Markdown。听起来很多,但它是几十次会话积累下来的,平均每次也就几行到几十行的增量。如果不在每次踩坑后立刻写进 rules,下次遇到同样的问题,你又要花 10 分钟口头解释一遍,AI 还不一定记住。
我的四层体系
说了这么多"为什么",该说"我做了什么"了。
我的 CLAUDE.md 体系分四层,从上到下加载量递减、精度递增:
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 340">
<rect width="600" height="340" fill="#fff" rx="4"/>
<text x="300" y="28" text-anchor="middle" font-family="system-ui, sans-serif" font-size="15" font-weight="700" fill="#333">CLAUDE.md 四层体系</text>
<!-- Layer 1 -->
<rect x="40" y="48" width="520" height="56" rx="4" fill="#f5f5f5" stroke="#333" stroke-width="1.2"/>
<text x="56" y="70" font-family="system-ui, sans-serif" font-size="13" font-weight="700" fill="#333">Layer 1 · CLAUDE.md</text>
<text x="56" y="90" font-family="system-ui, sans-serif" font-size="11.5" fill="#666">全局 + 项目级|每次 session 加载|架构分层、硬性约束、目录约定</text>
<!-- Layer 2 -->
<rect x="60" y="116" width="480" height="56" rx="4" fill="#fafafa" stroke="#555" stroke-width="1"/>
<text x="76" y="138" font-family="system-ui, sans-serif" font-size="13" font-weight="700" fill="#333">Layer 2 · .claude/rules/</text>
<text x="76" y="158" font-family="system-ui, sans-serif" font-size="11.5" fill="#666">~10 个规则文件|无 paths 的每次加载,有 paths 的按条件加载</text>
<!-- Layer 3 -->
<rect x="80" y="184" width="440" height="56" rx="4" fill="#f5f5f5" stroke="#888" stroke-width="0.8"/>
<text x="96" y="206" font-family="system-ui, sans-serif" font-size="13" font-weight="700" fill="#333">Layer 3 · .claude/skills/</text>
<text x="96" y="226" font-family="system-ui, sans-serif" font-size="11.5" fill="#666">50+ 个 skill|按需调用|合同审核、文书写作、去 AI 痕迹……</text>
<!-- Layer 4 -->
<rect x="100" y="252" width="400" height="56" rx="4" fill="#fafafa" stroke="#aaa" stroke-width="0.6"/>
<text x="116" y="274" font-family="system-ui, sans-serif" font-size="13" font-weight="700" fill="#333">Layer 4 · memory/</text>
<text x="116" y="294" font-family="system-ui, sans-serif" font-size="11.5" fill="#666">跨会话经验|自动索引、手动读取|踩坑记录 + 项目快照</text>
<!-- side labels -->
<text x="574" y="82" font-family="system-ui, sans-serif" font-size="10" fill="#999" text-anchor="end">常驻</text>
<text x="534" y="150" font-family="system-ui, sans-serif" font-size="10" fill="#999" text-anchor="end">常驻</text>
<text x="514" y="218" font-family="system-ui, sans-serif" font-size="10" fill="#999" text-anchor="end">按需</text>
<text x="494" y="286" font-family="system-ui, sans-serif" font-size="10" fill="#999" text-anchor="end">手动</text>
</svg>
第一层:CLAUDE.md
我的全局 CLAUDE.md 大约 80 行,做了三件事:
定义架构分层——告诉 AI 这四层体系怎么运作、什么时候加载什么。这相当于给 AI 一张地图,让它知道自己的知识从哪来、边界在哪。
硬性约束——几条红线:禁止自动修改 rules 文件、禁止随意在 scratch/output 之外创建文件、规则进化必须走 bad case → memory → 用户审查 → 手动更新 rules 的流程。
文件架构约定——所有法律项目默认遵循 input/(只读原始材料)、scratch/(工作区)、output/(最终交付物)三层目录。这保证了 AI 不会去改原始合同,也不会把中间产物混进交付文件夹。
每个项目还有自己的项目级 CLAUDE.md。比如"文章撰写"工作区的 CLAUDE.md 定义了七种文章类别、各自的风格文件路径、案例库机制、输出流程。这东西的作用是:我打开任何一个项目文件夹,AI 就自动进入对应的工作模式,不需要我再说"你现在是文章撰写助手"。
第二层:.claude/rules/
这一层是目前最厚的一层,大约 10 个规则文件。每个文件解决一类反复出现的问题。
举几个例子,让读者感受一下 rules 解决的是什么层面的事:
legal-doc-editing.md(法律文书编辑纪律):定义了五组内容分离——证据列举、质证意见、证据认定、查明事实、争议焦点分析。核心纪律就一句话:"后一组的内容不能比前一组走得更远。"查明事实不能超出证据认定,争议分析不能超出查明事实。这条规则存在的原因:AI 太喜欢"帮你把话说完整",写完证据认定顺手就把法理分析也补了,但那不是证据认定该干的事。
legal-research.md(法律研究规范):规定了来源溯源标签体系——每一条法律依据后面必须标注是"法条原文""裁判文书"还是"模型知识——需验证"。这解决了另一个 AI 的老毛病:一本正经地编造法条。有了标签体系,读者(包括未来的我)一眼就能看出哪些依据需要人工复核。
general-legal.md(通用法律分析规则):定义了风险分级(高/中/低/待核实)和风险评价六维度方法论(风险定性、风险敞口、发生概率、可规避性、商业权衡、紧迫性)。没有这套标准之前,AI 要么把所有问题都写成"重大风险",要么没有区分度。
这些 rules 有个共同特点:每一条背后都至少有一次踩坑经历。不是预设的理论框架,是出了问题之后写下来的纠正指令。
第三层:.claude/skills/
Skills 是按需加载的,不会每次 session 都占 context。目前有 50 多个,涵盖合同审核、法律文书写作、去 AI 痕迹、飞书集成、PPT 生成等。
Skills 和 Rules 的区别在于:Rules 是约束("你不能做什么""必须怎么做"),Skills 是能力("怎么做好一件事")。合同审核 Skill 里有完整的审核流程——Phase 0 基础信息提取、Phase 1 风险识别、Phase 2 条款审查、Phase 3 知识库检索、Phase 4 综合意见。这些流程太长了,放进 Rules 会撑爆 context,只有实际审核合同时才调用。
第四层:memory/
Memory 是跨会话的经验记录。分为三类:
- feedback:用户纠正的记录。比如"批注版合同必须走 Document Library 三步法,禁止 python-docx 裸 API 加红色标注文字"。这些纠正如果不记下来,下次会话 AI 还是会用错误的方式。
- project:项目状态快照,方便跨会话衔接。
- reference:外部资源索引。
Memory 不会自动加载——新会话启动时只加载 MEMORY.md 索引文件,具体的反馈条目按需读取。这控制了 context 占用。
踩坑记录
这部分是全文最值钱的内容。以下每个坑都实打实浪费过我至少半小时。
坑一:没建 rules,同一个规矩说了二三十遍
最早的时候,我就一个光秃秃的 CLAUDE.md,里面写了"你是法律助手"。然后每次会话我都要口头解释:法律文书的证据不能扩写,风险分级要按高/中/低来,引用法条必须标注出处,合同审核要先做结构化提取再做风险识别……
说一遍 AI 照做了,下次会话全忘。更要命的是,同一会话里前面说好的规矩,到了后面 context 快满的时候 AI 开始"简化处理",规矩就不守了。
把反复说的规矩写成 rules 文件之后,这个问题彻底消失。rules 是每次 session 自动加载的,不依赖我的口头提醒。
坑二:rules 写太长,context 溢出
第二个极端:我把能想到的规矩全塞进一个 rules 文件,写了将近 2000 行。结果是 context 被撑满,留给实际工作的空间不够,AI 回复质量明显下降。
解决方法是拆分。按功能模块拆成独立文件——法律研究一个、文书编辑一个、工具使用一个、检索策略一个。每个文件控制在 200-400 行。
更进一步,给部分 rules 加了 paths 条件——只有当工作文件匹配特定路径时才加载。比如合同审核的 rules 只有在合同审核项目目录下才加载,写文章时不占空间。
坑三:memory 和 rules 边界没划清
一开始我把一些本该写进 rules 的内容记在了 memory 里。比如"项目级 CLAUDE.md 应该放在 .claude/ 目录下而不是项目根目录"——这是一个规则,不是经验。写在 memory 里意味着 AI 不一定会遵守。
后来划了一条线:
- Rules:AI 必须遵守的行为准则。格式是"禁止……""必须……""当……时执行……"
- Memory:人的纠正记录和项目状态。格式是"用户指出……""下次注意……"
Rules 改变行为,Memory 保留经验。两者不能混用。
坑四:项目级 CLAUDE.md 放错了位置
我一开始把项目级 CLAUDE.md 放在项目根目录。Claude Code 能读到,但有个副作用:每次有人在项目根目录加文件或改文件,context 加载会受影响,偶尔出现配置加载顺序不一致的问题。
后来统一改成放在 .claude/ 目录下,和全局配置的层级关系更清晰,加载也更稳定。
效果对比
有体系和没体系的效率差异,用一个具体场景说明:合同审核。
没有体系时:每次开新会话审核合同,前 10-15 分钟在给 AI 解释审核标准——风险怎么分级、法条引用怎么标注、输出格式是什么、哪些条款是标配。解释完之后,AI 前 2-3 份合同还在磨合,到第 4 份合同才比较顺手。context 快满的时候质量又开始下降。
有体系后:打开合同审核项目,rules 和 skill 自动加载。AI 已经知道审核流程是 5 个 Phase,知道风险分级标准,知道引用法条必须标注出处,知道最终意见书要包含哪些模块。第一份合同开始就是按标准流程走的,不需要磨合期。一份 30 页的商业租赁合同,从上传到输出完整的审查意见,大概 15 分钟。
保守估计,这套体系让我在合同审核场景的 AI 协作效率提升了 3-4 倍。不是 AI 变聪明了,是它不用每次都从零学起了。
局限
说完了好处,说说局限,免得读者以为这是银弹。
维护成本不低。我现在的四层体系加起来超过 3000 行配置,这些配置需要持续维护。法律法规更新了,legal-research.md 的时效触发机制要调整;踩了新坑,要写进 memory 再沉淀成 rules;新加了 skill,要更新 tool-usage.md 的路由表。平均每周花在维护上的时间大约 30 分钟到 1 小时。
学习曲线陡峭。CLAUDE.md 的语法不复杂,就是 Markdown,但"写什么、不写什么、写到哪一层"需要经验。新手最常见的错误要么是写得太细(把操作步骤当规则写),要么是写得太抽象("请保持专业"这种没有任何约束力的废话)。
不适合 AI 使用频率低的人。如果你一周只用一两次 Claude Code,每次做的事情也不一样,投入时间建这套体系的 ROI 不高。直接在每次会话开头把关键要求说清楚,可能比维护配置文件更划算。
不能替代判断力。这套体系解决的是"一致性问题"——让 AI 每次都按同一个标准做事。但它不能解决"正确性问题"——如果 rules 里写的标准本身有问题,AI 会稳定地重复错误。规则的来源还是人的专业判断。
收束
Anthropic 说 CLAUDE.md 是"最重要的第一个文件",这句话我完全同意。但我想补充一个它没说的角度:
CLAUDE.md 不是配置文件。配置文件是告诉系统怎么跑的参数。CLAUDE.md 是你的专业判断力的外化——你把"什么是好的法律分析""什么是严谨的证据认定""什么是可靠的法律研究"这些原本只存在于你脑子里的标准,翻译成了机器可读的指令。
写 rules 的过程本身就是一次对自己工作方法论的系统梳理。你被迫把隐性的专业经验显性化。
在用 Claude Code 的人,我的建议是:现在就开始写你的第一个 CLAUDE.md,哪怕只有 10 行。不需要一开始就建四层体系,先把你最常重复的那条规矩写下来。等你发现自己在第二次口头解释同一个问题的时候,把它加进去。
Anthropic 说的"每次会话 5 分钟的文档记录",确实是对架构漂移最廉价的保险。
作者简介: 陈石律师,浙江海泰律师事务所副主任、高级合伙人、房地产与建设工程部主任,宁波市律师协会副秘书长、第七届宁波仲裁委员会仲裁员,聚焦建筑房地产、投融资、并购重组及商事争议解决。曾获多家法律媒体与专业机构认可,荣登 LegalOne 2025 中国区建工及房地产实务先锋 45 强、律新社 2025 年度管理合伙人 20 佳(华东),入选《商法》The A-List 法律精英,获评 ALB China 区域市场十五佳长三角地区律师新星,并获律新社 2024 年度并购领域品牌之星。长期为万科、华润置地、信达地产、保利置业、招商蛇口、中海地产等企业提供法律服务,承办"首宗百亿地王""长春第一高楼""台州第一高楼"等代表性项目,累计服务项目投资额超千亿。近年来持续推动 AI 与法律实务融合,强调以结构化方法打通技术逻辑、法律判断与商业场景;著有《赋能法律人:AI 底层思维与应用范式》,并在多地开展相关主题讲座与分享。