03月31, 2026

大型代码库的 Claude Code 最佳实践:构建层级化知识库

大型代码库的 Claude Code 最佳实践:构建层级化知识库

摘要:在大型代码库中高效使用 Claude Code 的核心在于"渐进式披露"原则。通过构建三级层级化知识库,让 AI 在需要时获取恰到好处的上下文,避免 token 浪费和上下文混淆。


to English

引言

AI 辅助编程工具日益普及,开发者面临新挑战:如何在大型代码库中高效使用 Claude Code。在根目录放一个庞大的 README 并非良策——token 浪费、上下文混淆、维护困难。

本文介绍一种层级化知识库最佳实践,通过三级文档结构,让 Claude Code 在正确时机获取正确信息。


核心原则:渐进式披露

渐进式披露(Progressive Disclosure):在根目录提供高层规则,随着 AI 深入子目录,逐步提供更具体的"为什么"和"怎么做"。

Claude Code 原生识别 CLAUDE.md 文件。我们将此模式扩展为层级化方法,让文档结构与目录树对齐。


三级层级结构

第一层:项目根目录(全局上下文)

文件位置/CLAUDE.md

定位:项目"宪法",定义技术栈、核心命令、不可违背的标准。

示例内容

## 构建命令
- 生产构建:pnpm build
- 开发模式:pnpm dev

## 测试命令
- 单元测试:pnpm test:unit <文件>
- E2E 测试:pnpm test:e2e

## 代码规范
- 仅使用函数式组件
- 禁止 default exports
- 样式使用 Tailwind CSS

## 架构概述
- Next.js 单体仓库
- 共享逻辑位于 /packages/shared

第二层:模块/领域(战略上下文)

文件位置/src/features/billing/CONTEXT.md

定位:解释代码无法揭示的业务逻辑和隐性数据流。

示例内容

## 领域逻辑
本模块处理 Stripe 支付集成。

## 数据流
所有支付必须先触发 webhook-handler,再更新数据库。

## 安全要求
- 禁止在前端暴露 Secret_Key
- 使用 /api/stripe 中的代理进行后端调用

## 依赖关系
- 依赖 UserStore 进行税费计算
- 与 OrderService 双向同步

第三层:叶子节点/组件(战术上下文)

文件位置/src/components/DataGrid/NOTES.md

定位:解释"陷阱"和技术债务。

示例内容

## 性能注意事项
- 使用 react-virtualized 进行虚拟滚动
- 禁止移除 rowHeight 属性,否则在 Safari 上会崩溃

## 已知问题
- 排序切换与 API 存在竞态条件
- 解决方案:使用 isLoading ref 进行防抖

## 待重构
- [ ] 将排序逻辑提取为独立 Hook
- [ ] 替换已废弃的 componentWillReceiveProps

AI 友好内容的编写规范

1. 明确而非习惯用语

❌ 错误:Just run the tests
✅ 正确:Use npm run test

AI 对明确指令响应更好,避免开发者"行话"。

2. 使用"要/不要"列表

AI 对否定约束响应极佳:

## 类型规范
- ❌ 不要使用 'any' 类型
- ✅ 类型 truly 不明确时使用 'unknown'
- ✅ 优先使用 TypeScript 严格模式

3. 引用具体文件路径

让 AI 知道"真相"在哪里:

## 数据模型
- 主 Schema 定义在 /src/db/schema.ts
- 类型导出在 /src/types/index.ts

4. 保持精简

单个上下文文件不超过 50 行高密度信息。超过 10KB,AI 可能浪费过多 token。


层级化 vs 扁平化:对比

特性 扁平化(单一 README) 层级化(多级结构)
Token 使用 高(AI 每次读取全部内容) 低(仅读取相关目录笔记)
精确度 低(可能混淆 Webhook 规则与 UI 规则) 高(特定文件夹的特定规则)
可维护性 难(单一文件变成"杂物抽屉") 易(小文件贴近所描述的代码)
扩展性 差(随项目增长迅速膨胀) 好(新增模块只需添加对应文件)

实施步骤

无需一次性完成。采用渐进式方法:

第一阶段:根目录

  1. 创建 /CLAUDE.md
  2. 定义技术栈、构建命令、代码规范

第二阶段:核心模块

  1. 识别 3-5 个核心业务模块
  2. 为每个模块创建 CONTEXT.md
  3. 描述数据流、安全要求、依赖关系

第三阶段:复杂组件

  1. 识别存在技术债务或"陷阱"的组件
  2. 创建 NOTES.md 记录已知问题和解决方案

第四阶段:让 Claude 协助

使用 Claude Code 本身帮助生成文档:

# 让 Claude 分析模块并生成 CONTEXT.md
claude "Analyze the billing module and create a CONTEXT.md 
        that explains the data flow and security requirements"

总结

层级化知识库的核心价值:

  1. 节省 token:AI 仅读取相关上下文
  2. 提高精确度:特定规则作用于特定范围
  3. 易于维护:小文件贴近代码,更新成本低
  4. 可扩展:随项目增长自然扩展

实施时从根目录 /CLAUDE.md 入手,逐步向下扩展。记住:文档的价值在于被使用,而非被写完


参考资料

本文链接:http://www.thinkinpython.com/post/claude-code-large-codebase-best-practices-cn.html

-- EOF --