手 手上有活

提示词越写越长,效果反而越差

提示词越写越长,效果反而越差

我做过一次很傻的对比:同一个任务——把一段技术说明改成人话——写了两版提示词。A 版三百字,说清读者是谁、要什么语气、给一个例子。B 版一千二百字,列了十五条要求。

结果 B 版更差。

它在「专业但不能太专业」「简洁但要完整」「口语化但保持严谨」之间反复横跳,最后交出一篇四不像:既不敢用术语,又不敢说人话。

长提示词真正的敌人

不是长度,是矛盾。

你写十五条约束的时候,不会意识到第 3 条和第 11 条互相打架。模型会尽力同时满足,于是每条都满足一半。

常见的矛盾对:

  • 「简洁」+「覆盖所有情况」
  • 「口语化」+「保持专业严谨」
  • 「有创意」+「严格按模板」
  • 「详细展开」+「控制在 300 字」

写的时候觉得都对,读的时候才发现不可能同时成立。

原则一:一次只改一个变量

想让输出更好,别一次改五处。改一处,看结果,再改下一处。

我通常按这个顺序调:先调「读者是谁」,再调「要什么形式的产出」,最后才调语气。因为读者决定了后面所有事。

一次改太多,你根本不知道是哪一条起了作用,下次也没法复用。

原则二:给样例,别给形容词

「语气要自然」这句话,模型理解的「自然」和你完全不是一回事。

换成:「按下面这段的语感写——」,然后贴 150 字你自己写的东西。

样例会同时传递句长、用词、节奏、标点习惯,这些用形容词描述要写二十条,还不准。

这也是为什么「模仿这篇」比「写得像科普作家」有效得多。

原则三:把「不要」换成「要」

说「不要用套话」,它不知道用什么,只能猜。猜的结果通常还是套话,只是换个说法。

说「每段第一句必须是一个具体事实或数字」,它就知道该怎么起笔了。

否定式指令的问题在于:它告诉模型避开什么,却没告诉它去哪。而模型最擅长的恰恰是「按你给的正面特征生成」。

对比一下:

差:不要写得太空,不要用「赋能」「抓手」这类词,不要堆砌。
好:每一段至少包含一个具体对象(人名、数字、时间、工具名);每段不超过四行;出现抽象名词时,后面紧跟一个例子。

后者的可执行性高一个量级。

超过七条约束,就开始丢

这不是玄学。约束越多,模型越倾向于抓最显眼的那几条,剩下的随机满足。

我的经验是七条以内比较稳。超过七条,说明这个任务本身该拆。

拆的方法很简单:第一轮只负责「想清楚写什么」(列提纲、定观点),第二轮只负责「按提纲写」,第三轮只负责「改」。每轮三五条要求,比一轮十五条效果好。

一个可以直接用的结构

【背景】给谁看、他现在的困惑是什么(两三句)。
【任务】要产出什么,多长,什么形式。
【样例】贴一段你满意的文字。
【边界】必须包含哪三点,绝对不能出现什么(最多三条)。

这四段加起来通常不到四百字,但比一千字的「要求大全」稳定得多。

写提示词和写需求文档是一个道理:写的人觉得已经说清楚了,做的人一看全是歧义。区别是,需求文档还能当面问,提示词只能靠模型猜。

怎么判断这条提示词该不该再改

看输出的毛病是不是「集中」的。

如果生成的十条内容,问题都出在同一个地方——都很空、或者都太书面——那这条提示词值得再调一次,方向是明确的。

如果毛病五花八门:有的空、有的啰嗦、有的直接跑题,那问题不在提示词,在任务本身没说清。这时候继续加要求只会更乱,应该退回去问自己一句:我到底要什么。

还有一种情况:偶尔输出很好,但每次都不一样。这说明约束太少,加一条「必须包含以下三点」就稳了。稳定性比惊艳重要,尤其是你要重复做同一件事的时候。

接着读