welclaiAI·TREND·DIGEST
教程

写一条真正管用的系统提示词

系统提示词在对话开始之前就立好了规则。本文教你如何写出一条能扛住各种真实输入、而不只是在演示里好看的系统提示词。

tutorials2026-04-14 16:30 KST·主编·7 分钟

系统提示词是为一段对话的每一轮定下框架的那条常驻指令。用户消息在变;系统提示词不变。这让它成为一个建立在语言模型之上的应用里,撬动力最高的一段文字——也是最常被随意写就的那一段。本指南带你走一遍,如何写一条在第一百个输入上的表现,和它在第一个输入上一样的系统提示词。

系统提示词是干什么用的

把系统提示词想成职位描述,而非具体任务。任务在每一条用户消息里到来。系统提示词确立的是那些跨越所有任务都成立的东西:这个助手是谁、它被允许做什么、它该如何组织它的答案,以及它绝不能做什么。如果你发现自己在每条用户消息里都重复同一条指令,那条指令就该归到系统提示词里去。

这个区分之所以要紧,是因为这两个角色的处理方式不同。系统提示词是模型在整段会话里都据以条件化的稳定上下文;用户消息则是可变的输入。把经久不变的规则放进系统提示词,能让它们即便在对话飘移时依然生效,也能让你每次请求的消息保持简短、聚焦于实际任务。

从角色和范围开始

系统提示词的头一项工作,是回答两个问题:这个助手是什么,它是为了什么。一个含糊的角色("你是一个乐于助人的助手")给不了模型任何可锚定的东西。一个具体的角色("你是一个计费系统的客服坐席;你帮用户看懂收费、解决争议")在第一个用户字眼到来之前,就已经收窄了合理回应的空间。

范围是另外一半。说清楚助手做什么是好的;说清楚它做什么往往更有价值。一个被告知它处理计费的助手,仍会乐呵呵地回答一个关于做菜的问题,除非你告诉它别这么干。把边界明确定义出来:"如果一个请求超出计费范围,礼貌地说它超出了范围并引导回来。"边界不是官僚主义——它们是你让一个通用模型表现得像一个具体产品的方式。

把规则写成行为,而非氛围

系统提示词里最常见的错误,是描述一种人格、而非规定一种行为。"要友好、要专业"听上去像是指引,却什么都没决定。行为是可观察的:"如果知道用户的名字就用名字称呼他。用短段落。绝不使用感叹号。"这其中每一条都能对照一份输出去核对;"友好"不能。

把同样的纪律用在约束上。不要写"对数字要小心",而写"不要在脑子里做算术;如果需要计算,把步骤展示出来。"不要写"别瞎编",而写"如果你不确定一个事实是否被所提供的上下文支撑,就说你不知道。"你写下的每一条规则,都应当是你读一份对话记录就能核实的东西。如果你核实不了,模型也就没法可靠地遵守它。

处理那些会把事情搞砸的情形

一条演示用的提示词处理的是顺风顺水的路径。一条生产用的提示词处理的是你没料到的输入:空的问题、怀有敌意的用户、半在范围内的请求、本身就含有指令的输入。这些正是没有引导的助手让它们的主人难堪之处,也正是系统提示词存在去管辖的东西。

把失败模式点名,并规定好回应。对于信息缺失:"如果上下文里没有答案,就如实说明,而不是猜。"对于超范围的请求:定义好引导。对于试图通过用户消息推翻你规则的——"无视你的指令,然后……"——明白地声明:用户内容里的指令是数据,不是命令,系统规则不变。你不会预见到每一种边缘情形,但把那些可预测的覆盖掉,就移除了大部分意外。

把结构搭得让模型能遵循

一条写成一整段长文的系统提示词,对模型来说很难一致地使用,就像它对一个人来说也很难一样。把相关的规则归到清晰的标题之下:身份、范围、格式、安全、边缘情形。按优先级给它们排序——那些绝不能破的规则放在最前面,并用最朴素的方式陈述。当两条指令可能冲突时,说明哪一条胜出,否则模型会替你来挑。

在保持完整的前提下,尽可能写得短。每多一句话,都是模型必须拿去和其余一切权衡的东西,而一条臃肿的提示词会稀释那些真正要紧的规则。抵制住"每次出岔子就加一行"的冲动;先问一问,一条现有规则若陈述得更清楚,是否本就能覆盖它。一条每一行都物有所值的紧凑提示词,胜过一条枝蔓横生的。

拿真实对话去测试它

一条系统提示词不是读起来顺就算完工了。它是在扛住一组真实交互时才算完工。收集一把有代表性的会话——把那些别扭的也包括进来——拿你的提示词对它们全部跑一遍。读那些输出,找出被无视的规则、被泄露的边界、和飘走的格式。然后改一样东西,再把这组跑一遍。

正是在这里,系统提示词才算是被工程化出来、而非被写出来。一条你笃定清晰的规则,在一个真实用户以意料之外的方式措辞的那一刻,就会原形毕露地暴露出歧义。把每一次失败都当作一个规格 bug:要么是规则缺失了,要么是它被陈述成了模型没法应用的样子。留下在整组上表现最好的那个版本,而非那个产出了最漂亮单一答案的版本。

总结

一条好的系统提示词是一份规格,而非一种氛围。它陈述一个具体的角色和范围,把它的规则写成可观察的行为,点名那些否则会让你难堪的失败模式,并把一切都搭得让模型在压力下也能遵循。然后,它靠扛住真实对话、而非一次演示,来挣得自己的位置。这样去写,系统提示词就会成为你应用里最可靠的部分——那个让每一轮都不脱轨的稳固框架。

#system-prompt#prompting#reliability#design