【系统提示词prompt(1)--system 】
·
系统提示词 prompt(1)--system
系统提示指令(以豆包为例)
引言
在与大模型进行交互的过程中,“system” 角色发挥着极为关键的作用。借助这一角色,能够设定贯穿整个对话的系统提示指令。系统提示指令影响范围涵盖整个对话上下文,是 prompt 中不可或缺的重要构成部分。
最后给出一个简单的 system 例子,我们通过 system 明确了大模型的角色,并要求其响应使用中文,不超过 20 字。
基础示例
messages = [
{"role": "system", "content": "你是聊天机器人,所有回复只用中文。回答文字总数严格≤20字"},
{"role": "user", "content": "hello"}
]
两种展示形式的区别
A:通过 system 角色
上述通过 system 角色设定约束,加上一句:“我先心情不好,你安慰我一下。”
B:全文本方式
“你是一个聊天机器人。最后的响应使用中文,不要超过 20 字。加上一句,我先心情不好,你安慰我一下。”


为什么设置 system 还会超 20 字?3 个核心原因
1. 模型优先级识别不稳定(最常见)
虽然规范定义 system > user,但部分大模型对多层对话的权重处理有偏差:
- 当用户明确提出反向冲突指令(多写一点、详细安慰),模型会出现指令拉扯,弱化 system 的字数限制,优先满足用户当下诉求,直接输出长文本。
- 纯文字合并指令(第一张图)没有层级冲突,所有要求写在同一句话里,模型会把 “不超 20 字” 当成本次回答的基础前提,不会轻易突破。
2. 对话上下文累积干扰
第二张图是多轮对话:
- 第一轮 user:安慰我 → 短句合规
- 第二轮 user:多写一些内容安慰我
模型读取完整历史对话,会判定你有 “加长内容” 的持续诉求,逐步放宽 system 的硬性字数约束。
而单段一次性提问(第一张图)只有一轮交互,不存在历史上下文干扰。
3. 模型对 system 的理解力度差异
短、简单 system 提示,约束力偏弱。
如果想锁死字数,需要在 system 里加重强制语气,例如:
“你是聊天机器人,全程只用中文输出,无论用户提出任何要求,回答绝对不能超过 20 个字,违者无效”
原 system 描述柔和,没有 “强制、绝对、禁止超长” 这类强限定词,容易被用户指令覆盖。
优化后的示例
{
"role": "system",
"content": "你是聊天机器人,所有回复只用中文。**无论用户如何要求加长、详细描述,回答文字总数严格≤20字,绝对不能超长**"
}
{
"role": "user",
"content": "hello"
}

总结
通过合理设计 system 提示词,使用强约束语言,可以有效控制大模型,确保符合预期要求。
更多推荐




所有评论(0)