同一句要求,加一个例子,结果常常差一个档次。原因不是模型突然变聪明,而是例子把你要的东西说清楚了。
为什么例子比要求管用
要求用的是形容词:简洁一点、专业一点、口语一点。形容词没有刻度,模型只能猜,猜出来的东西每次都不一样。例子有刻度:它同时给出了长度、语气、结构和一个具体的取舍。而且形容词之间会打架:既要简洁又要详细,模型只能折中,折中的结果通常两边都不像。写三个形容词,不如给一段两百字的样例。
给几个合适
一个能定调,两个能定范围,三个以上通常没必要,除非你要区分几种不同的类型。两个例子的用法是正例加反例:一个是要的,一个是不要的,并在反例后面写一句为什么不要。这一句比反例本身更重要,它把判断标准说了出来。
例子要带边界
只给好例子,模型会往极端走:你给一段很文学的文字,它会把每句都写得像散文。所以例子里要有普通句子,也要有不那么好的句子,并说明哪一部分可以学、哪一部分不要学。另一条边界是长度:例子多长,输出往往就多长,想要短输出就别给长例子。边界句最好写成否定式,否定式比肯定式更容易被遵守,也更容易被检查。
可以照着改的写法
一个稳定的结构是四段:任务一句话,示例一段,边界一句话,输出格式一句话。示例前面写这是要的,边界写长度、语气、不要出现什么,输出格式写清楚分几段、每段几行。四段加起来通常不超过三百字,比堆十个形容词有效得多。写好一次就存进库里,下次只改示例。
今天就能开始
从库里挑一条你最常用的 Prompt,删掉三个形容词,换成一段两百字的示例,再跑一次对比。