Prompt Paraphrasing
Prompt Paraphrasing(提示词改写/释义,Jiang et al., 2020):把一条原始 prompt 在不改变总体语义与任务要求的前提下,改写成多种不同表述(换词、换句式、换结构),相当于对 prompt 做“数据增强”。这些改写后的 prompts 可以:
- 用于 prompt 集成(ensemble):同一输入用多条 paraphrased prompts 跑一遍,再对结果做投票/融合;
- 用于鲁棒性提升:减少模型对某种特定措辞的敏感性;
- 用于搜索更有效的 prompt:在一组语义等价的 prompts 里挑表现最好的。
1) 这项技术在做什么(直观理解)
同一个任务,模型可能对不同措辞的 prompt 表现差异很大(prompt sensitivity)。
Prompt Paraphrasing 的做法是:保留约束不变,只改变表达方式,生成多个 prompt 版本,例如:
原 prompt:
请总结以下文章,限制 100 字。
改写 1:
请将下文概括为不超过 100 字的摘要。
改写 2:
阅读下文后,用 100 字以内给出要点总结。
语义一致,但模型输出可能更稳定或更好。把多版本组合起来就像“集成学习”。
2) 常见做法(工程上怎么用)
- 人工改写:成本高但质量稳,适用于关键场景(高价值业务)。
- 让 LLM 自动改写 prompt:让模型生成 N 个“等价提示词”,再人工/规则过滤。
- 改写 + 评测挑选:在开发集上跑一遍,选 top-k prompts 组成 ensemble 或选最优单条。
- 集成融合方式:
- 分类/选择题:多数投票
- 抽取/结构化:字段级投票或一致性校验
- 生成任务:用评审模型打分(pairwise/打分器)选最优,或做 Rerank
3) 适合与不适合的应用场景
适合
- prompt 敏感任务:同一任务换个说法效果差异大(常见于小模型或边界任务)。
- 低成本提升稳定性的场景:不改模型、不微调,只改提示词。
- 可融合输出的任务
- 分类/意图识别/选择题(投票简单)
- 结构化抽取(可字段对齐检查)
- 需要鲁棒性:面对不同用户表述、不同语域,希望模型稳定遵循同一任务约束。
不适合
- 严格受限输出且容易被改写破坏约束的任务
- 比如必须输出严格 JSON、必须固定标签集合;改写不当会引入歧义(可通过“保留不变的约束块”规避,见下方建议)。
- 强依赖单一权威指令的安全/合规场景
- 多 prompt 版本可能出现少数“更宽松”的表述,导致越界输出;需要统一的不可变约束与审计。
- 超低延迟/超低成本
- ensemble 需要多次调用,成本和延迟线性增加。
4) 至少 3 个中文实际例子:如何写 Prompt Paraphrasing(含“保留不变部分”)
例子1:分类任务(适合做投票集成)
任务:判断一条评论情感(正/负/中)。
原 prompt
你是情感分类器。请判断下面评论的情感倾向,只能输出:正面、负面或中性。
评论:{文本}
改写 prompt A
请将下列评论进行情感极性判定,输出限定为:正面/负面/中性(三选一)。
评论内容:{文本}
改写 prompt B
阅读评论后,给出情感标签(仅可选:正面、负面、中性),不要输出其他解释。
评论:{文本}
集成方式:对 A/B/原 prompt 的输出做多数投票;若三者都不同,可触发“再问一次”或交给更强模型裁决。
例子2:结构化信息抽取(保留“不可变约束块”,只改“说明文字”)
任务:从快递客服对话里抽取字段。结构化任务最怕改写后格式漂移,所以用“两段式”:约束块固定不变,只改前导话术。
固定不可变约束块(建议每个改写版本都原样粘贴)
【输出要求-不可改】
- 只输出 JSON
- 字段固定为:{"订单号":"","问题类型":"","处理建议":""}
- 问题类型只能是:["丢件","延误","破损","地址错误","其他"]
- 不要输出多余字段或解释
改写 prompt A(可变部分)
你是客服质检助手,请从对话中提取关键信息用于工单录入。
{不可变约束块}
对话:{文本}
改写 prompt B(可变部分)
请将以下对话整理成工单所需字段,便于后续处理。
{不可变约束块}
对话内容:{文本}
集成方式:对 JSON 的每个字段做一致性检查;若“问题类型”不一致,可取多数或再让模型在“只裁决问题类型”的小 prompt 下复核。
例子3:生成任务(用 paraphrase 生成多版 prompt,再用“评审 prompt”选优,而不是投票)
任务:写一段产品卖点介绍(开放生成,难投票)。
原 prompt
为智能手表写一段 80~120 字的卖点介绍,面向通勤人群,语气专业克制,不要夸张。
改写 prompt A
请写一段 80-120 字的智能手表产品亮点文案,受众为通勤用户,表达理性、避免夸大宣传。
改写 prompt B
以通勤人群为目标读者,撰写 80~120 字智能手表卖点介绍,风格专业、简洁、不过度营销。
然后用“评审/重排 prompt”选最优(示例)
你是文案评审。请在候选文本中选出最符合要求的一条:
要求:80~120字、面向通勤、专业克制、无夸张。
候选1:{输出1}
候选2:{输出2}
候选3:{输出3}
输出:只给“最佳候选:1/2/3”和一句理由。
例子4:专门用于“生成 prompt 的 paraphrase”(让模型帮你做改写)
用途:你有一条原始 prompt,想自动得到 10 条等价版本做 ensemble/搜索。
生成 paraphrase 的 Prompt
你是提示词改写器。请在不改变任务目标、输入输出约束、禁止项的前提下,改写下面提示词,生成 10 个中文版本。
要求:
- 保留所有硬约束(如“只输出JSON/只能输出标签集合/字数限制/不得出现某词”等)
- 可以改写措辞、语序、句式,但不要新增任务
- 每个版本单独编号输出
原始提示词:
{粘贴你的 prompt}
(工程上建议:生成后用规则检查“硬约束是否仍存在”,例如检查是否仍包含“只输出 JSON”等关键短语。)
5) 实践建议(避免“改写破坏语义/约束”)
- 把 prompt 分成“硬约束块”和“可变说明块”:改写只动可变块。
- 对 paraphrase 做自动校验:关键字检查(只输出/JSON/标签集合/字数等)+ 小规模回归测试。
- ensemble 不一定要很多:通常 3~5 条就能带来明显稳定性提升,成本可控。
如果你告诉我你的任务类型(分类/抽取/摘要/写作/代码)和你目前的原始 prompt,我可以帮你生成一组“语义等价但风格不同”的 paraphrase prompts,并给出适合你的融合策略(投票/字段一致性/评审重排)。