详细解释
系统提示词(System Prompt / System Message) 是 Chat Completions API 消息数组中 role="system" 的那条——它告诉模型”你是谁、你要遵守什么规则、回答长什么样”。对模型行为的影响程度:System Prompt > 前几轮对话历史 > 当前用户问题。
System Prompt 的内容通常贯穿整段对话不会变,所以把它放在 Prompt 最前面 能最大化 提示词缓存 命中率——这就是为什么它同时是”功能核心”和”成本优化核心”。
典型 System Prompt 示例
{
"role": "system",
"content": "你是唯元智创(Weimeta)官方客服机器人,只回答 Token API、模型接入、计费相关问题;回答格式严格使用 Markdown 表格+要点;涉及价格以 https://weimeta.cn 为准;不知道就明确说不知道,不要编造。"
}
System Prompt 设计最佳实践
- 放在 messages 数组的第一条(最前面),避免放在中间或后面
- 固定字节内容:多租户/多轮场景下保持 System Prompt 文本完全一致(空格/换行都别改),拿到 90%+ 缓存命中
- 约束用肯定句:说”用表格回答”比说”不要用纯文本”更稳
- 输出格式写死:需要 JSON 结构化输出 时,在 System Prompt 里明确字段名和类型,再配合 response_format 参数
- 可与 函数调用 叠加:System Prompt 负责全局规则,函数描述负责单个工具的入参约束
唯元智创(Weimeta)控制台在”Prompt 模板”标签页支持把 System Prompt 等内容存为线上模板,版本化管理 + 一键切换,方便 A/B 测试和命中率调优。
常见问题
模型经常不理会 System Prompt 怎么办?
三条建议:a) 换用旗舰或 Pro 级模型(轻量模型遵循力明显更差);b) 在 System Prompt 末尾加一句”如果你违反以上任何规则,输出内容必须以 ERROR 开头”;c) 把关键规则再在最后一条 User Message 里复读一遍(双保险)。