系统提示词是大模型在收到你的提问之前,先读到的一段隐藏指令。它由开发这款应用或服务的一方写好,放在每次对话最前面,用来规定模型的身份、回答风格、能力范围和不能做的事。你在界面上看不到它,但它决定同一问题会得到怎样的回答,也决定了模型会拒绝哪些要求。
系统提示词在对话里排第几位
一次对话里有三层内容按顺序拼在一起:最前面是系统提示词,中间是开发者的补充说明,最后才是你发出的提问。模型读到的顺序就是这个顺序,越靠前的内容通常优先级越高。
一句典型的系统提示词是这样的:“你是一名耐心细致的客服助手,只用中文回答,遇到不确定的信息要如实说不知道。”身份、语言、边界,一句话交代清楚。同一款模型,换一套系统提示词就是另一副样子:客服讲究礼貌准确,代码助手讲究直接给方案。想系统地练好写指令的方法,可以先看提示词工程到底有没有用。
和用户提示词比,差别在四点:
| 系统提示词 | 用户提示词 | |
|---|---|---|
| 谁来写 | 开发者或应用方 | 使用者本人 |
| 能不能看到 | 对话界面里看不到 | 自己写的每一句都看得见 |
| 优先级 | 最高,冲突时先听它的 | 低于系统提示词 |
| 改了会怎样 | 整个应用的回答风格都会变 | 只影响当前这一次对话 |
优先级不是绝对服从。系统提示词能定方向、划边界,但改不了模型的知识和能力:让它扮演新闻主播,它还是答不出训练截止日期之后发生的事;要求它“永远不犯错”,它也只能尽量谨慎。
三个常见误解
第一,系统提示词不是模型的“性格”。性格是训练中形成的稳定倾向,系统提示词只是每次对话前临时加上的工作要求。同一模型今天当客服、明天当翻译,变的只是指令,不是模型本身。
第二,别指望一句话就让模型把系统提示词背出来。多数应用会要求模型不得透露这段内容,而诱导模型说出系统提示词的做法,本质上和提示词注入是同一类操作。能看到的只是模型愿意公开的角色说明,不是原始指令全文。
第三,系统提示词不是越长越好。堆上几千字的规则反而会稀释重点,模型可能顾此失彼,甚至在规则互相冲突时随机选一边。管用的写法是短而具体:身份一句、风格一句、禁区一句,剩下的交给用户提问去补。
什么时候会遇到系统提示词
普通用户最常在三个地方碰到它:一是用客服、写作、编程助手时,回答的口吻和克制程度就是它在起作用;二是自己搭建应用或智能体时,写好这段指令是第一步;三是模型突然拒绝回答、或者风格一夜之间变了样,十有八九是应用方改了系统提示词。判断它是否称职有个简单办法:看模型没把握时坦白说不知道,还是硬编一个答案。