同一件事,交给两个人写提示词。一个人把它压缩成五行,交给模型自己补全;另一个人把想到的规则全列上,写了几百字,末尾补一句“务必严格遵守”。多数时候,后者的结果更飘——不是模型不听话,是指令之间在互相打架。
长指令为什么更容易失效
模型做的事情,是按上下文预测接下来该出现什么,它手里没有一张逐条打勾的清单。当同一段话里同时出现“简洁”和“覆盖所有要点”、“专业”和“通俗易懂”,它只能在这些约束之间做取舍,而取舍的依据常常是哪句话更显眼、更靠近任务本身。写得越长,被稀释的约束越多,最后起作用的往往只是最像“任务描述”的那几句。
这并不是说短就好。短提示省下的字,最后会以返工的形式还回来。提示词设计真正要解决的是歧义,而不是字数:这次产出什么、给什么材料、按什么形态交付、凭什么判断合格。四件事各自说清楚,比二十条禁令管用。
- 产出什么:一句话能概括的动作,尽量只写一个。
- 给什么材料:区分背景与依据,别让模型猜哪段是事实来源。
- 什么形态:段落数、字段、是否需要标题,用结构说,不用形容词说。
- 判断标准:给一段可参照的样例,比说“高质量”有效得多。
否定句没那么听话
“不要啰嗦”“别用行话”“避免空泛”——纸面上很好懂,生成时却别扭。提到一个词,就把它带进了上下文;要求模型别写某类内容,等于先让它看了一遍那类内容。更稳的做法是把否定翻成正面:与其说“不要啰嗦”,不如规定“每段不超过三句,一段只讲一个意思”;与其说“别用术语”,不如直接把术语换成具体说法,写一遍给它看。
这是提示词设计里最容易被低估的部分:可执行的约束往往很枯燥,具体到句长、条目数、字段名;而好听的约束——“深刻”“有洞察”“自然流畅”——几乎无法被检验,也很难被复现。
它的边界在哪
把提示词设计说成万能,是不诚实的。它改变的是表达方式,不是模型的能力上限。需要外部事实的地方,靠措辞补不上,得接检索或人工核对;需要精确计算和格式校验的地方,交给代码比交给措辞可靠。上下文很长时,靠前和靠后的信息被注意到的程度也会不同,重要的约束适合重复一次,或者干脆拆成两步:先让模型整理材料,再让它按整理好的材料写。
另一个常被忽略的点是稳定性。一次写出满意的结果,不足以说明提示词写好了;换个输入还能维持差不多的水准,才算站得住。所以成熟的用法是把提示词当成一段要维护的文本:改一版、跑几组输入、看差异,再决定留哪句、删哪句。它更像配置,不像灵感。
回到开头那两个人。写得多的一方未必更认真,可能只是没想清楚哪些约束真的重要。提示词设计做的,是把脑子里模糊的期待,压缩成几句彼此不冲突、能被验证的话——剩下的空间,留给模型。