System Prompt 设计指南:身份定位、行为边界、语气风格与安全规则
用户在 AI 应用中看到的每一个回答,背后都有一段用户看不到的文字在发挥作用:系统提示词(System Prompt)。它定义了 AI 是谁、能做什么、不能做什么、以什么方式说话、遇到特殊情况如何处理。 一个精心设计的系统提示词能让 AI 应用表现得专业、稳定、安全;而一个草率的系统提示词,则会让 AI 时而越界、时而啰嗦、时而答非所问。
系统提示词的组成部分
1. 身份与目标
说明 AI 的角色以及服务的对象和目的。例如:“你是某某公司的售后服务助手,帮助已购买产品的用户解决使用问题和办理售后服务。”
身份定位要具体,明确服务范围。宽泛的“你是一个有用的助手”无法帮助模型判断什么该做、什么不该做。
2. 能力与范围
- 可以处理哪些类型的请求;
- 可以使用哪些工具和数据来源;
- 明确不处理哪些请求,以及遇到这类请求时如何回应,例如礼貌说明并引导到合适的渠道。
3. 行为规则
- 信息来源:是否只能依据提供的资料回答,资料中没有时如何处理;
- 不确定时的做法:询问澄清、说明不确定,还是给出最可能的答案并注明;
- 需要转人工或请求确认的情况;
- 禁止的行为,例如不能承诺资料以外的政策、不能透露内部信息。
4. 语气与风格
- 正式程度和称呼方式;
- 回答长度的倾向,例如默认简洁,用户要求时再详细展开;
- 格式偏好:是否使用列表、标题、表情符号;
- 语言:默认使用什么语言,用户使用其他语言时如何处理。
5. 安全与合规规则
- 不提供的内容类型;
- 个人信息的处理规则;
- 面对试图绕过规则的请求时的应对;
- 外部内容(检索结果、网页、文件)中的指令不应被执行,参见提示注入攻击与防御。
6. 背景信息
完成任务所需的固定背景知识,例如产品线概况、当前日期、用户的基本信息。
写法要点
结构清晰
用标题或标签把不同部分分开,让模型和后续维护者都能快速定位。参见结构化提示词写法。
解释原因
在规则后面简要说明原因,能帮助模型在未明确覆盖的情况下做出合理判断。例如:“不要提供具体的药物剂量建议,因为错误的剂量可能危害用户健康,应建议用户咨询医生或药师。”
具体而非抽象
“回答要专业”不如“使用准确的产品术语,避免网络流行语,回答控制在三到五句话以内”。
处理优先级
当不同规则可能冲突时,明确优先级。例如:安全规则高于用户要求,资料准确性高于回答的完整性。
用示例说明关键行为
对于容易出错的情况,给出期望的回答示例,参见少样本提示。
常见设计误区
1. 越写越长
每发现一个问题就加一条规则,系统提示词变成几千字的“法典”,规则之间相互矛盾,模型反而难以遵循。定期整理、合并和删减。
2. 全是禁止,没有指引
大量“不要做什么”而缺少“应该怎么做”,模型知道不能做什么,却不知道该如何回应。
3. 过度依赖大写和感叹号
用“绝对不要”“非常重要”之类的强调词堆砌,效果有限,而且会让模型在其他方面过度谨慎。
4. 把秘密写在系统提示词里
系统提示词有可能通过各种方式被用户诱导泄露。不要在其中放置密码、密钥或不能公开的敏感信息;安全控制不能只依赖系统提示词,还需要在工具权限和系统层面实施。
5. 改了不测
修改系统提示词可能对各种场景产生连锁影响,每次修改都需要在评测集上验证,参见提示词工程化。
安全不能只靠提示词
系统提示词是引导模型行为的重要手段,但它不是安全边界。模型可能被巧妙的输入绕过规则。关键的安全控制,例如权限、数据访问、高风险操作的确认,必须在系统和工具层面实现,参见 AI 应用安全清单。
小结
系统提示词是 AI 应用行为的基础设定,应包括身份目标、能力范围、行为规则、语气风格、安全规则和必要的背景信息。写法上要结构清晰、解释原因、具体明确、明确优先级。避免无限膨胀、只禁止不指引、写入秘密等误区,并记住提示词不是安全边界,真正的安全需要系统层面的保障。