换个角度想
系统提示词像新员工入职第一天拿到的岗位手册:你是谁、对客户怎么说话、哪些事不能答应。客户看不到这本手册,但员工的一言一行都照着它来。
术语 · AI
System Prompt
你开口之前,应用就已经交给模型的一段设定:它是谁、怎么说话、哪些事不能做。每次对话都会附在最前面,普通用户通常看不到。
你看不到的那段话,决定了它怎么回你
系统提示词像新员工入职第一天拿到的岗位手册:你是谁、对客户怎么说话、哪些事不能答应。客户看不到这本手册,但员工的一言一行都照着它来。
system(空)
system你是某银行客服,只回答账户相关问题,语气礼貌简洁
用户发来「帮我写首诗」
模型只收到这一句
用户发来「帮我写首诗」
模型收到的是:设定 + 这一句
开发者写好设定
同一个底层模型,套上不同的系统提示词,就成了客服、老师、写作助手等不同的产品。
ChatGPT 的「自定义指令」、各家的「项目说明」,其实就是让你自己写一段系统提示词。
调用模型 API 时,请求里的 system 字段就是系统提示词,用来定下工具的角色和规矩。
你在自定义指令里写了「回答尽量简短」,之后它一直很简短,连你让它写一篇长文也只写了几段。为什么?怎么办?
自定义指令每次对话都会附在最前面,相当于一条常驻规则,优先级很高。可以在指令里写清例外,比如「除非我明确要求写长文」,或者在这次提问里直接说明要写多长。
系统提示词不是保险箱。用户可以用各种话术诱导模型说出它,网上流传的各家「官方系统提示词」很多就是这么来的,所以里面不要放密码、密钥这类机密。它约束的也只是模型的倾向,模型偶尔仍会违反。