13.6 提示词构建流程
📍 src/constants/prompts.ts — getSystemPrompt()
组装顺序
┌─────────────────────────────────────────────┐
│ 静态内容(全局缓存) │
│ │
│ 1. Intro (身份 + 安全) │
│ 2. System (运行环境) │
│ 3. Doing Tasks (编码原则) │
│ 4. Actions (风险评估) │
│ 5. Using Your Tools (工具指南) │
│ 6. Tone and Style (语气) │
│ 7. Output Efficiency (输出效率) │
│ │
├─ SYSTEM_PROMPT_DYNAMIC_BOUNDARY ────────────┤
│ │
│ 动态内容(按需计算) │
│ │
│ session_guidance, memory, env_info, │
│ language, output_style, mcp_instructions, │
│ scratchpad, frc, summarize_tool_results │
│ │
└─────────────────────────────────────────────┘缓存边界
SYSTEM_PROMPT_DYNAMIC_BOUNDARY 标记将提示词分为两部分:
- 标记之前:静态内容,使用
cacheScope: 'global'全局缓存,所有用户共享同一份缓存 - 标记之后:动态内容,每个会话独立,包含环境信息、记忆、MCP 指令等
这个设计让占系统提示词静态大头的 7 个 section 以 cacheScope: 'global' 全局缓存、跨会话/跨用户复用,无需每轮重算,延迟和成本随之下降。
特殊模式
| 模式 | 提示词变体 | 说明 |
|---|---|---|
| 标准模式 | 完整 7 section + 动态 | 默认模式 |
| Simple 模式 | 仅身份 + CWD + 日期 | CLAUDE_CODE_SIMPLE=true |
| Proactive 模式 | 自治 Agent + 安全指令 | 自动化工作流 |
| Coordinator 模式 | 替换为 Coordinator 专用提示词 | 多 Worker 协作 |
| 子 Agent | 各 Agent 类型独立提示词 | 由 enhanceSystemPromptWithEnvDetails() 增强 |