举例提示词怎么设计?教AI按格式举例
别绕了:举例提示词的核心不是把要求写得多漂亮,而是示例本身挑得准。给3个覆盖正常和异常输入的示例,格式稳定率能从六成拉到九成;但示例里的口头禅和边界处理,AI也会照单全收。先挑干净示例,再谈措辞。
举例提示词,行话叫few-shot,就是往指令里塞几个「标准答案」,让AI照着格式出活。我的判断很直接:对格式类任务,示例比任何形容词都管用,三个好示例顶一页文字说明。这套做法也是官方推荐的基本手段,OpenAI的提示词工程指南里专门有一节讲怎么给示例。
2026年8月,我拿一个真实小任务做了组对比:把50条乱糟糟的客服留言,整理成固定三字段的工单(类型、紧急度、处理方式)。同一份指令,只换示例数量,1个、3个、5个各跑10次。结果比我想的清楚得多。
举例提示词给几个示例才稳?1个、3个、5个的实测
3个示例是性价比拐点:1个示例格式全对率约六成,3个能到九成,5个不再涨。取值覆盖比数量要紧。展开讲讲这组数据。
只给1个示例时,10次里有6次格式全对,剩下4次总在「紧急度」上漏填,或者自创一个示例里根本没有的字段叫「优先级」。加到3个,10次里9次全对。加到5个,还是9次,每次多花约700个token,正确率一格没涨。
错的位置更有意思。1个示例组的翻车,错法五花八门;3个示例组剩下的那1次失败,错法几乎一样——留言写「周五前不解决就去投诉」,示例里紧急度只有「高/低」两档,AI只能随机猜一档。示例覆盖不到的取值,模型就是靠猜。
老实讲,这组实验改了我写指令的习惯。以前我堆5个示例图个心安,现在默认给3个,省下的位置留给取值覆盖。
示例里埋的边界情况,AI会照单全收
示例里出现过的异常处理,AI会直接学走,还会过度泛化到没见过的输入上。埋边界示例是把双刃剑。这是我整场实验里最意外的发现。
我在3个示例里故意埋了一条异常输入:留言只有一张笑哭表情,对应输出写成「类型:其他,处理:转人工」。没埋这条之前,遇到表情包留言,10次里有7次被脑补成「咨询」,AI还编一条像模像样的回复。埋了之后,10次里8次正确走「转人工」。
过度泛化才叫有意思。埋了纯表情这条异常示例之后,我把一条全英文留言丢进去——它跟「其他」八竿子打不着,AI照样判成「其他,转人工」。也就是说,它学到的不是「表情包转人工」,而是「长得不像前面示例的都归其他」。这次歪打正着,换个子任务就未必是这个方向。
别不信,这招反过来用也成立。你希望AI对拿不准的输入保守处理,就在示例里给一条「拿不准」的标准答案;你不希望它偷懒,就一条都别埋,把兜底规则写进指令。
示例格式是怎么把输出带歪的
示例里的语气词和没覆盖的取值,都会原样复制进输出。示例即规则,脏示例产脏输出。两处翻车记录在案。
第一处:示例的三条回复开头,我都顺手写了「亲,」。跑完20条整理结果,18条开头带「亲,」,其中好几条面对愤怒投诉显得格外轻佻。删掉「亲」字重跑,全部干净。挺离谱的。道理却不复杂——模型没有幽默感判断,只有模式复制。
第二处更隐蔽。示例里紧急度只出现过「高」和「低」,真实留言里有明显的中间档,比如「不急,这周内就行」。AI从不输出「中」,全部硬塞进「低」。我盯着结果看了半天才发现:不是模型蠢,真不是。是示例把取值空间写窄了。修法两条:示例覆盖全部合法取值;覆盖不到的,就在指令里明写枚举。卡格式的其他手段,我之前写过一篇让AI不跑格式的约束技巧,可以配合着用。
话说回来,示例带歪输出也不全是坏事。调性类任务,我反而故意用带语气词的示例,比写十行「语气要亲切」管用。
一条能直接抄的带示例成稿指令
成稿指令的骨架是:任务一行、字段枚举一行、3个覆盖正常与异常的示例、输入占位。照抄改字段就能用。
下面这条就是我在工单任务里定稿的版本,把引号里的内容换成你的任务:
你是客服工单整理员。把留言整理成一行JSON,字段只有三个:类型(咨询|投诉|其他)、紧急度(高|中|低)、处理(直接回复|转人工)。取值必须从枚举里选,拿不准一律填「其他」,禁止自创字段,禁止编造留言里没有的内容。
示例1:留言「怎么开发票」→ {"类型":"咨询","紧急度":"低","处理":"直接回复"}
示例2:留言「再不处理我就投诉到12315!」→ {"类型":"投诉","紧急度":"高","处理":"直接回复"}
示例3:留言「[表情包]」→ {"类型":"其他","紧急度":"低","处理":"转人工"}
待整理留言:「把留言原样贴进来」
三个示例各有分工:示例1铺正常路径,示例2钉住「高」档的判断标准,示例3兜住异常输入。想让例子本身更接地气、不飘在半空,可以再看看这篇让AI给出的例子能落地。我个人觉得,示例的分工想清楚了,一条指令基本就成了。
回到开头那组数字:1个示例六成,3个示例九成,差距不在措辞,在示例挑得准不准。举例提示词写砸的人,问题十有八九出在示例本身——口头禅没删、取值没覆盖、异常没兜底。下次写指令,先花两分钟挑示例,比反复改要求省事得多。
常见问题
示例用中文写还是英文写?
跟任务输出语言保持一致最稳。我试过中文任务配英文示例,字段名时不时蹦出英文。如果模型对英文指令理解更好,可以指令用英文、示例用目标语言,两种写法各跑一遍再定。
示例能直接从历史真实数据里挑吗?
能,而且比手写的更贴近真实分布。挑之前做两件事:删掉手机号、姓名这类隐私信息;把语气词和口头禅清干净,不然就复现了前文「亲,」的翻车。
给了示例,AI会不会只会模仿、不会变通?
格式类任务里这是优点,不是缺点。要防的是内容层面的照抄——示例话题尽量跟真实输入错开,让AI学的只有格式,不是素材。
上下文放不下5个示例怎么办?
按前文实测,5个本来也不比3个更稳。放不下就砍,优先保留覆盖异常输入的那条,它对稳定率的贡献最大。
延伸阅读
想补齐指令结构的基本功,可以看这篇chatgpt提示词三件套。