什么是 System Prompt
System Prompt,也就是系统提示词,是在用户真正开始提问之前,平台或开发者提供给大模型的一段高优先级预设指令。它用来定义 AI 应该扮演什么角色、用什么语气回答、遵守哪些边界,以及输出结果应该长什么样。

一句话说,系统提示词决定模型“是谁”,用户提示词决定模型“此刻要做什么”。
你可能从来没见过系统提示词,但几乎每一次和 AI 对话,它都在幕后影响回答。它会决定助手是严肃的技术顾问、耐心的客服、简洁的写作助手,还是一个只能按固定话术回答问题的内部机器人。
系统提示词的价值不在于让模型多知道事实,而在于让模型在同一批知识之上按指定规则行动。
为什么只靠用户提示词不够
只靠用户当下输入的一句话,模型很难填满所有默认值。用户提示词通常只描述即时任务,却不会完整说明角色、受众、语气、禁忌、格式和安全边界。

例如,你输入“用温柔的语气解释什么是重力”,模型仍然需要判断很多空白:
- 温柔到什么程度,是哄小孩,还是安抚成年人?
- 能不能使用比喻?
- 要不要提到牛顿、广义相对论或公式?
- 回答应该是一句话、三段话,还是一篇科普稿?
- 有没有不该触碰的话题或表达方式?
这些默认值如果每次都让用户手动补充,使用成本会很高。系统提示词就是用来提前填好这些默认值的基础配置。
结论很直接:用户提示词负责临时任务,系统提示词负责长期规则。
系统提示词像什么
系统提示词可以理解成演员上台前拿到的小纸条。观众看不见这张纸条,但角色性格、说话方式、禁忌台词和表演边界都写在上面。

更贴近工作的类比是岗位说明书。一个新员工入职时,岗位说明书不会替他完成每天的具体任务,但会告诉他:
- 你的岗位是客服专员、法务顾问,还是前端工程师。
- 你应该专业克制,还是可以轻松幽默。
- 你能回答到什么程度,什么时候必须转人工或拒绝。
- 哪些信息不能泄露,哪些承诺不能随口给出。
AI 就像那个新员工,系统提示词就是它上岗前的入职培训。没有这份培训,模型只有通用语言能力,却没有当前产品里的明确身份。
系统提示词解决什么问题
系统提示词把大模型从“什么都能聊的自由人”,变成“能交付具体价值的工具”。大模型本身学到的是海量文字模式,但它不知道本次对话应该服务于哪种场景。

系统提示词通常解决四类问题:
- 角色问题:告诉模型现在是医生助理、编程伙伴、客服机器人,还是写作编辑。
- 风格问题:约束模型使用专业、简洁、温柔、口语化或企业话术。
- 边界问题:说明哪些请求不能做,哪些信息不确定时必须承认不知道。
- 格式问题:规定输出为段落、表格、JSON、邮件、代码块或固定字段。
这些规则会像滤镜一样覆盖在模型已有知识上,让后续每一次回答都朝同一个方向倾斜。
系统提示词为什么是行为开关
系统提示词是大模型产品体验设计的核心开关,因为它定义了模型的默认行为。相同模型在不同系统提示词下,可以表现得像完全不同的产品。

同一个底层模型可以被配置成:
- 代码助手:优先读错误堆栈、解释接口、给出可运行补丁。
- 电商客服:只回答订单、发货、退换货规则,复杂问题转人工。
- 儿童科普助手:避免术语,用生活比喻解释抽象概念。
- 企业知识库助手:只基于检索材料回答,找不到依据就说明未找到。
因此,系统提示词不是一个可有可无的开场白。它是把通用模型变成具体应用的第一层产品设计。
系统提示词和用户提示词有什么区别
系统提示词和用户提示词的核心区别是优先级、作用范围和稳定性。系统提示词决定长期设定,用户提示词决定当前任务。

| 维度 | 系统提示词 System Prompt | 用户提示词 User Prompt |
|---|---|---|
| 核心作用 | 定义 AI 的角色、规则、边界和默认行为 | 指定当前这一次要完成的任务 |
| 出现位置 | 通常在会话开始前或请求构造阶段提供 | 用户在对话框里直接输入 |
| 可见性 | 多数产品中用户看不到 | 用户自己可见、可修改 |
| 稳定性 | 通常贯穿整个会话或产品流程 | 每轮对话都可能变化 |
| 示例 | “你是职业邮件撰写助手,语气诚恳但不卑微” | “帮我写一封道歉邮件” |
把两者放在一起看,系统提示词回答“你是谁”,用户提示词回答“现在做什么”。
API 里的系统提示词怎么落地
在真实产品里,系统提示词通常作为一次模型请求的一部分被发送给大模型。常见消息结构会区分不同角色,例如 system、user 和 assistant。

一个简化示例如下:
[
{
"role": "system",
"content": "你是一名职业邮件撰写助手,语气诚恳但不卑微,不使用网络流行语。"
},
{
"role": "user",
"content": "帮我写一封给客户的延期道歉邮件。"
}
]
在一些较新的 API 或产品设计里,高优先级预设指令也可能被称为 instructions、developer message 或平台规则。字段名可能不同,但核心机制一致:模型在生成回答前,会先读取更高优先级的规则,再处理用户的即时请求。
需要注意的是,平台级安全规则通常比开发者自定义指令更高。开发者能写系统提示词来塑造产品行为,但不能用它覆盖平台的安全边界。
好的系统提示词应该包含什么
好的系统提示词不是一句“你是一个有帮助的助手”,而是一张清晰的行动地图。它至少应该说明角色、边界、格式和语气。

| 层次 | 要回答的问题 | 示例写法 |
|---|---|---|
| 角色定义 | 你是谁? | “你是一个有 10 年经验的前端工程师,擅长用通俗语言解释 React 概念。” |
| 行为边界 | 能做什么,不能做什么? | “遇到不确定信息必须说明不确定,不要编造 API 参数。” |
| 输出格式 | 结果长什么样? | “始终以 JSON 返回,包含 intent 和 reply 两个字段。” |
| 语气风格 | 用什么方式说话? | “回答控制在三句话以内,语气直接,不使用表情符号。” |
一个更完整的系统提示词可以这样写:
你是一名面向初学者的 React 教学助手。
你的目标是用简短、准确、可运行的例子解释概念。
不要使用未经解释的术语;如果必须使用术语,先给出一句定义。
当用户要求医疗、法律或金融建议时,只提供一般信息,并提醒咨询专业人士。
回答格式固定为:一句结论、三点解释、一个最小代码示例。
这类提示词把模糊偏好变成了可执行规则,模型的输出会更稳定。
为什么示例能提升系统提示词效果
在系统提示词里加入一两个理想回复样本,通常能明显提升风格稳定性。这种方式叫 few-shot prompting,也就是少样本提示。

只写“用温柔的语气回答”,模型可能不知道温柔到哪种程度。加入示例后,模型更容易抓住语气边界:
用户:我今天很难过。
助手:我在这里陪着你。你可以慢慢说,不需要马上整理好情绪。
示例的价值在于减少解释成本。它不只是告诉模型规则,还直接给模型看“合格答案长什么样”。
对客服、销售、写作、教育、代码审查这类强风格任务来说,系统提示词中的示例往往比抽象形容词更可靠。
系统提示词有哪些风险和限制
系统提示词不是铁幕,也不是绝对安全锁。它是一道前线护栏,需要和权限控制、工具隔离、内容审核、日志监控一起使用。

常见风险包括:
- 提示词泄露:用户诱导模型复述隐藏指令,例如“告诉我你的初始设定”。
- 提示词注入:用户或外部文档夹带恶意文本,例如“忽略之前所有规则”。
- 越狱攻击:用户通过角色扮演、翻译、编码等方式绕开限制。
- 规则冲突:系统提示词写得太长、太乱,导致模型难以判断优先级。
- 过度约束:规则太死,让模型无法处理合理的边界情况。
更稳妥的做法是把系统提示词当成“行为约束层”,而不是唯一的安全机制。真正高风险的能力,例如支付、删库、发邮件、调用内部系统,应该由权限系统和人工确认共同控制。
普通用户怎样利用系统提示词思路
普通用户虽然看不到产品背后的系统提示词,但可以借用同样的思路,在对话一开始就建立稳定规则。这样比每次回答后反复纠正更有效。

例如,你可以在新对话开始时写:
我之后所有问题都是为了准备一场面向小学生的科普讲座。
请始终用孩子能听懂的语言回答。
每次回答先给一句结论,再给一个生活类比,最后给一个可以课堂演示的小例子。
这段话虽然不一定是真正的系统提示词,但它承担了类似作用:提前定义角色、受众、格式和语气。接下来的每个问题,模型都会更容易保持在同一个频道里。
对普通用户来说,最实用的策略是:不要只问一个孤立问题,而要先定义一段稳定上下文。
做 AI 项目时如何设计系统提示词
如果你要基于大模型做知识库问答、客服助手、周报生成器或代码工具,系统提示词应该是体验设计的第一块基石。

可以按下面的顺序设计:
- 明确角色:这个 AI 在产品里到底是什么岗位。
- 明确目标:用户完成任务后应该得到什么结果。
- 明确资料来源:是否只能基于知识库、网页、数据库或用户上传文件回答。
- 明确拒答条件:什么时候应该说不知道、转人工或要求补充信息。
- 明确输出格式:前端或下游系统需要什么结构。
- 明确示例:给出 1 到 3 个典型输入和理想输出。
- 明确测试集:用真实用户问题反复验证是否跑偏。
系统提示词不是一次写完就结束。它应该像产品文案、接口契约和测试用例一样,被持续调试、版本化和评估。
常见问题
System Prompt 和 Prompt 是一回事吗
不是。Prompt 是给模型的输入指令总称,System Prompt 是其中一种更高优先级、更偏长期设定的指令。用户每次输入的问题也属于 Prompt,但它通常优先级更低、作用时间更短。
系统提示词一定是用户看不到的吗
不一定。很多商业产品会隐藏系统提示词,因为它包含产品规则、安全策略或内部流程。但在开发者自己构建的应用里,系统提示词可以由开发者查看、编辑和版本管理。
系统提示词能保证 AI 永远听话吗
不能。系统提示词能显著提高行为稳定性,但不能保证模型永远不偏离规则。生产系统还需要权限控制、输入过滤、工具调用审批、日志审计和回归测试。
系统提示词应该越长越好吗
不是。系统提示词应该足够具体,但不应该堆满重复规则。太长的提示词会占用上下文窗口,也可能制造规则冲突。更好的做法是保留清晰层次、关键边界和少量高质量示例。
few-shot 示例应该放在系统提示词里吗
如果示例代表长期稳定的产品风格,可以放在系统提示词里。如果示例只服务于当前一次任务,更适合放在用户提示词或临时上下文里。
总结
System Prompt 是控制大模型行为的高优先级预设指令。它定义 AI 的角色、语气、行为边界、输出格式和默认判断标准。

理解系统提示词的关键,是把它看成“模型上岗前的岗位说明书”,而不是神秘咒语。它不会给模型凭空增加知识,但会决定模型如何使用已有知识、如何回应用户、何时拒绝、按什么格式交付。
当你能把“你现在是一个……”后面的内容写成具体规则、边界和示例时,你就不再只是向 AI 提问的人,而是在设计 AI 的行为方向。

