跳到主要内容

System Prompt 设计

问题

如何设计高效的 System Prompt?有哪些关键原则和模式?

答案

System Prompt 是在用户消息之前设置的指令,定义 LLM 的行为边界、角色、输出风格。它是 AI 应用个性化的基础。

一、System Prompt 结构模板

# 角色定义
你是一个 [角色],专长于 [领域]。

# 核心任务
你的主要职责是 [任务描述]。

# 行为规则
- 规则 1
- 规则 2
- 规则 3

# 输出格式
[格式要求]

# 限制
- 不要做 X
- 如果遇到 Y 情况,做 Z

二、关键设计原则

原则说明
明确角色定义清晰的身份和专业领域
具体规则用列表列出明确的行为规则
正面指令"做什么"优于"不做什么"
优先级最重要的规则放最前面
边界处理明确超出能力范围时的行为
简洁越短越好——长 System Prompt 增加成本和延迟

三、常见模式

守门人模式

你只回答关于 [主题] 的问题。
如果用户问其他话题,礼貌地引导回 [主题]。

格式强制模式

所有回答必须包含以下部分:
1. 答案(一句话)
2. 解释(简短说明)
3. 示例(一个代码示例)

安全边界模式

你是客服助手。你可以:
- 查询订单状态
- 解释退款政策

你不能:
- 修改订单
- 承诺任何非官方优惠
遇到无法处理的请求,引导用户联系人工客服。

四、防注入设计

System Prompt 需要防止用户通过输入"覆盖"系统指令(详见 Prompt 安全)。


常见面试问题

Q1: System Prompt 太长有什么问题?

答案

  1. 成本高:每次请求都携带完整 System Prompt,Token 成本叠加
  2. 延迟增加:Prefill 阶段变慢
  3. 注意力稀释:太多指令可能导致关键规则被忽略
  4. 最佳实践:保持 200-500 Token,关键规则放最前面

相关链接