Skip to main content

什么是 System Prompt

每次调用 AI API 时,都需要发送一个 System Prompt——它是 AI 的”人设说明书”,告诉 AI:
  • 你是谁(Claude Code,一个编程助手)
  • 你能做什么(可用工具列表)
  • 你在什么环境(操作系统、当前目录、git 状态)
  • 你需要遵守什么规则(安全规范、输出格式)

不是静态模板,而是动态组装

Claude Code 的 System Prompt 不是一段写死的文本,而是根据当前环境实时组装的:
组成部分内容来源
基础人设角色定义、行为准则内置模板
环境信息操作系统、shell 类型、当前日期运行时检测
Git 状态当前分支、最近提交、工作区状态git 命令输出
项目知识CLAUDE.md 文件内容项目目录层级扫描
记忆文件用户偏好、项目约定持久化记忆系统
工具说明每个可用工具的描述和参数工具注册表

CLAUDE.md:项目级知识注入

这是 Claude Code 最巧妙的设计之一。在项目根目录放一个 CLAUDE.md 文件,就能让 AI “理解” 你的项目:
  • 项目概述:这个项目做什么、用了什么技术栈
  • 开发约定:代码风格、命名规范、分支策略
  • 常用命令:怎么构建、怎么测试、怎么部署
  • 注意事项:已知的坑、特殊的配置
系统会自动发现并合并多级 CLAUDE.md:
~/.claude/CLAUDE.md              ← 用户全局(个人偏好)
  └── /project/CLAUDE.md         ← 项目根目录(团队共享)
        └── /project/src/CLAUDE.md  ← 子目录(模块特定)

缓存策略

System Prompt 的 token 消耗不小(可能占总量的 30%+)。为了降低成本,系统使用了缓存机制:
  • 不变的部分(基础人设、工具说明)可以跨请求复用
  • 变化的部分(git 状态、记忆文件)每次重新生成
  • 缓存节点的位置经过精心设计,最大化缓存命中率