第 7 章:大型项目的提示词架构
分而治之 — 构建可扩展的多层级提示词体系
🎯 本章学习目标
- 掌握三层提示词体系:主提示词 → 模块提示词 → 工具提示词
- 学会建立全局一致性维护机制:风格字典、术语表、配置中心
- 理解上下文持久化策略:CLAUDE.md + 记忆文件 + 模块文档的组合运用
- 能够管理长对话的上下文窗口:信息压缩与刷新
- 设计可扩展的项目级提示词架构
7.1 三层提示词体系
在大型项目中,单一提示词无法覆盖所有场景。你需要建立多层级体系,每层有不同的职责和粒度:
🎯 第一层:主提示词(Master Prompt)
职责:定义项目全局规则、技术栈、编码标准、架构约束
存放位置:项目根目录的 CLAUDE.md
每次注入:自动注入每个会话
内容示例:
- 项目描述与技术栈
- 目录结构与模块边界
- 全局编码规范
- 架构约定与设计模式
- Git 工作流与测试策略
📐 第二层:模块提示词(Module Prompt)
职责:定义单个模块的职责、接口、依赖、特定约束
存放位置:每个模块目录下的 .claude/context.md
按需注入:当开发该模块时手动引用
内容示例:
- 模块职责与边界
- 对外接口定义(API/函数签名)
- 依赖清单(依赖哪些模块)
- 数据结构与模型
- 已知技术债务与待优化项
⚡ 第三层:工具提示词(Tool Prompt)
职责:定义可复用的操作模板(测试生成、重构、审查等)
存放位置:.claude/prompts/ 目录下的模板文件
显式调用:在会话中引用具体的模板文件名
内容示例:
- "使用 prompts/test-gen.md 模板为当前模块生成测试"
- "按 prompts/refactor.md 重构以下代码"
- "根据 prompts/security-audit.md 审查"
7.2 全局一致性维护
风格字典(Style Dictionary)
风格字典是项目级的"命名圣经"。当 AI 生成新代码时,它必须遵循已建立的命名和风格约定。
# 项目风格字典 — 放在 CLAUDE.md 或 .claude/style-dict.md 中
## 命名约定
- 数据库表:snake_case 复数 (disk_infos, user_sessions)
- API 端点:kebab-case (/api/disk-health, /api/user-sessions)
- React/Vue 组件:PascalCase (DiskHealthPanel.vue)
- 配置键:snake_case 层级点号 (storage.default_pool.size)
## 术语表
- "pool" = 存储池(一组磁盘的逻辑集合)
- "share" = 共享目录(暴露给网络的文件夹)
- "volume" = 卷(存储池中分配的独立空间)
- "export" = NFS 导出项
## 代码模式
- 数据库操作 → 使用 Repository 类,不裸写 SQL
- 外部命令调用 → 通过 CommandExecutor 封装,统一错误处理
- 配置读写 → 通过 ConfigManager,不允许直接 os.getenv
- API 响应 → 统一格式 {"data": ..., "error": ..., "meta": {...}}
配置中心模式
项目中所有可配置的值集中管理,AI 在生成代码时引用配置中心而非硬编码值:
# config/constants.py — AI 生成的代码应引用这些值
class StorageDefaults:
DEFAULT_FS_TYPE = "ext4"
MOUNT_BASE_PATH = "/mnt/nas"
MAX_VOLUME_SIZE_GB = 16 * 1024 # 16TB
HEALTH_CHECK_INTERVAL = 3600 # 1小时
class NetworkDefaults:
SMB_WORKGROUP = "WORKGROUP"
NFS_EXPORT_PATH = "/exports"
FTP_PORT = 21
MAX_CONNECTIONS = 50
7.3 长周期项目的上下文管理
上下文持久化策略矩阵
| 机制 | 持久性 | 自动注入 | 适用场景 |
|---|---|---|---|
| CLAUDE.md | 文件持久 | ✅ 每次会话 | 项目全局信息 |
| Memory 系统 | 会话级 | 按需 | 跨会话的事实信息 |
| 模块 docs/ | 文件持久 | 按需 | 模块详细设计文档 |
| Scheduled Tasks | 会话级 | 定时触发 | 定期检查任务 |
| 会话摘要 | 自动 | ✅ 长对话 | 对话历史的压缩版本 |
上下文信息分层
🔥 热数据(每次必带)
CLAUDE.md 核心部分:技术栈、项目结构、编码规范、架构约定
控制在 500-800 token
🌤️ 温数据(当前任务带)
正在修改的模块的 context.md、相关的接口定义、最近变更摘要
控制在 1000-2000 token
❄️ 冷数据(需要时引用)
详细设计文档、历史决策记录、完整 API 文档、测试报告
按需加载,用完即弃
📋 本章提示词模板
模板 7.1:模块 context.md 模板
# 模块:[模块名]
# 所属子系统:[存储 / 网络 / 用户 / 监控]
# 最后更新:[日期]
## 职责
[一句话描述这个模块做什么]
## 对外接口
### 公共 API
- `function_name(params) -> return_type` — [描述]
### 事件
- `event_name` — [描述,谁发布、谁订阅]
## 依赖
- [模块A] — [依赖原因]
- [模块B] — [依赖原因]
## 数据模型
### 核心实体
- `EntityName`:[字段列表和含义]
## 约束条件
- [性能约束]
- [安全约束]
- [兼容性约束]
## 已知问题
- [问题描述] — [跟踪链接]
## 变更日志
- [日期]:[变更描述]
模板 7.2:上下文刷新提示词
## 上下文刷新
我们的对话已经很长了。请总结以下内容,以便在新的对话中快速恢复工作状态:
### 1. 项目状态摘要(300 token 以内)
- 项目名称和总体目标
- 当前开发阶段
- 技术栈
### 2. 已完成的工作(按模块列出)
- [模块名]:[完成的功能]
- ...
### 3. 当前进行中的工作
- [正在做什么]
- [阻塞问题]
- [下一步计划]
### 4. 关键决策记录
- [决策]:[理由]
- ...
### 5. 需要保留的重要上下文
- [代码片段、配置、约定等]
- ...
请将以上内容输出为 Markdown,保存到 .claude/session-summary.md
🛠️ 实战演练:NAS 项目的三层提示词体系
第一层:主提示词(CLAUDE.md)
# NAS OS Project
基于 Debian 12 的轻量级 NAS 操作系统
## 技术栈
Backend: Python 3.11 + FastAPI + SQLAlchemy
Frontend: Vue 3 + TypeScript
System: C (核心工具) + Shell (部署脚本)
DB: SQLite 3 + Redis
## 架构约定
- 严格遵循分层架构: API → Service → Repository → DB
- 所有外部命令通过 CommandExecutor 执行
- 配置通过 ConfigManager 统一管理
- 所有公开 API 需要认证(除 login 和 health)
## 编码规范
[引用 .claude/style-dict.md]
第二层:模块提示词示例(存储模块)
# 模块:存储管理(Storage)
## 职责
管理磁盘发现、挂载、RAID、配额、SMART 监控
## 对外接口
- DiskService.list_all() → list[DiskInfo]
- DiskService.mount(device, point, fs) → bool
- PoolService.create(name, disks, raid_level) → Pool
- HealthService.check(device) → HealthReport
## 依赖
- CommandExecutor (core) — 执行 mount/umount/mdadm 命令
- ConfigManager (core) — 读取存储配置
- EventBus (core) — 发布 disk.failure 等事件
⚠️ 常见坑点
🕳️ 坑 1:CLAUDE.md 变成"大杂烩"
把所有信息都塞进 CLAUDE.md 是最常见的错误。AI 的上下文窗口有限,无关信息会稀释关键信息。遵循"热数据在 CLAUDE.md,温数据在模块文档,冷数据在 docs/"的分层策略。
🕳️ 坑 2:模块文档与代码不同步
当代码变更时,模块的 context.md 往往被遗忘。建立一个习惯:每次重大重构后,让 AI 更新对应模块的 context.md。这可以用一个简单的提示词:"请根据当前代码更新模块的 context.md"。
🕳️ 坑 3:风格字典过于理想化
风格字典应该是描述性的(反映真实代码风格)而非规范性的(描述理想风格)。如果字典说用 snake_case 但代码里到处都是 camelCase,AI 会困惑。先统一代码风格,再固化进字典。
📝 本章小结
- 三层提示词体系:主提示词(全局规则)→ 模块提示词(模块边界)→ 工具提示词(可复用操作)
- 风格字典和术语表是 AI 生成一致性代码的基础保障
- 上下文分三层管理:热数据(每次必带)→ 温数据(当前任务)→ 冷数据(按需加载)
- 定期进行上下文刷新,用模板 7.2 生成会话摘要,确保新会话能快速恢复
🤔 思考练习
- 为你的项目建立一个三层的提示词体系:写出主提示词(CLAUDE.md)、挑选一个核心模块写 context.md、建立至少 3 个可复用的工具提示词模板。
- 建立项目风格字典(命名约定 + 术语表),然后让 AI 检查项目中是否有违反字典的代码。
- 模拟一次上下文刷新:让你的 AI 总结当前对话状态,保存到 session-summary.md,然后在新的对话中引用它继续工作。