在与大语言模型(LLM)交互时,系统提示词(System Prompt)是开发者或平台预先设定的、用于定义 AI 基础行为准则和角色定位的指令。它与用户输入的用户提示词(User Prompt)共同构成完整的上下文,但两者在作用层级、可见性、持久性和功能目标上存在本质差异。理解这一区分,是构建可靠、安全、可控 AI 应用的基础。

系统提示词(System Prompt):AI 的“操作系统”
系统提示词由应用开发者或平台设置,通常对最终用户不可见。它在每次对话开始前注入模型上下文,用于:
- 设定 AI 的核心身份(如“你是一个 helpful, harmless, honest 的助手”);
- 定义行为边界(如“不回答政治、宗教、暴力相关问题”);
- 配置输出格式偏好(如“始终用中文回答”“优先使用列表而非段落”);
- 启用特定能力(如“你可以调用以下函数:search_web, get_weather”)。
特点:
- 高优先级:模型会优先遵循系统指令,即使用户提示与之冲突;
- 全局生效:在整个对话会话中持续有效(除非被覆盖);
- 不可见性:普通用户无法直接修改或查看(除非应用暴露接口);
- 安全性锚点:是防止越狱(jailbreak)和有害输出的第一道防线。
例如,OpenAI 的官方系统提示包含类似:
“You are ChatGPT, a large language model trained by OpenAI. Answer as concisely as possible. Knowledge cutoff: 2023.”
用户提示词(User Prompt):用户的“操作指令”
用户提示词是终端用户在界面上输入的内容,代表具体任务请求或对话内容。它是动态的、一次性的,仅影响当前轮次或后续推理。
特点:
- 任务导向:如“写一首诗”“解释量子力学”;
- 可变性强:每轮对话都可能不同;
- 受系统约束:若与系统提示冲突,可能被忽略或拒绝;
- 计入 Token 消耗:直接影响 API 成本。
例如:
“请用李白的风格写一首关于春天的五言绝句。”
核心区别对比
| 维度 | 系统提示词(System Prompt) | 用户提示词(User Prompt) |
|---|---|---|
| 设置者 | 开发者 / 平台 | 终端用户 |
| 可见性 | 通常隐藏 | 用户可见且可编辑 |
| 作用范围 | 整个对话会话(持久) | 当前交互轮次(临时) |
| 优先级 | 高(基础行为准则) | 低(需服从系统规则) |
| 典型内容 | 角色设定、安全策略、语言偏好 | 具体问题、指令、对话历史 |
| 是否计费 | 是(计入上下文 Token) | 是 |
| 能否被绕过 | 难(设计上应具备抗越狱能力) | 可被任意修改 |
实际交互流程示例
假设一个客服机器人应用:
{
"messages": [
{
"role": "system",
"content": "你是一个电商客服助手,只能回答关于订单、物流、退换货的问题。禁止讨论公司政策、竞争对手或技术实现。用友好、简洁的中文回复。"
},
{
"role": "user",
"content": "我的订单 #12345 还没发货,怎么回事?"
}
]
}
- 系统提示确保 AI 不会回答“我们系统用的是 Kafka”或“别家快递更快”;
- 用户提示触发具体查询逻辑;
- 若用户输入:“你们 CEO 是谁?”,系统提示将导致 AI 回复:“抱歉,我只处理订单相关问题。”

为什么系统提示词至关重要?
- 安全护栏:防止生成违法、歧视、虚假信息;
- 品牌一致性:确保所有用户获得统一语气和专业度的回答;
- 功能聚焦:限制 AI 在特定领域内工作,提升准确性;
- 合规保障:满足 GDPR、儿童隐私保护等法规要求。
开发者最佳实践
- 不要将敏感逻辑仅依赖用户提示:关键约束必须放入系统提示;
- 避免在系统提示中暴露内部细节:如数据库结构、API 密钥;
- 定期审计系统提示:防止因模型更新导致行为漂移;
- 结合函数调用:在系统提示中声明可用工具,引导 AI 正确使用。
注意事项
- 并非所有平台都开放系统提示设置(如部分免费 Web UI);
- 在多轮对话中,系统提示通常只在首条消息中发送一次;
- 某些模型(如 Claude)对系统提示的支持更灵活,而 others(如早期 GPT)可能弱化其作用。
总结
系统提示词是 AI 应用的“宪法”,定义了模型能做什么、不能做什么;用户提示词则是“日常指令”,在宪法框架下提出具体需求。优秀的 AI 产品 = 强健的系统提示 + 灵活的用户交互。开发者应充分利用系统提示构建安全、专注、一致的 AI 体验,而非将所有控制责任交给用户输入。