
别只给范文:用正反例把 AI 文风的边界说清楚
用一组正例、反例和边界例,把「写得像这样」变成可检查、可迭代的中文写作 Prompt。
很多人给 AI 一篇范文,结果得到的不是相同文风,而是把范文里的几个口头禅重复一遍。问题通常不在于示例太少,而在于示例没有告诉模型:哪些地方算合格,哪些地方已经越界。
更稳的做法是给一组小而有区分度的样例:至少包含合格写法、明确不合格写法,以及一个容易误判的边界。模型看到的就不只是「请写得像这样」,而是一条可以对照的判断线。
今日实践:用正例和反例画出文风边界
少样本提示的价值,是把抽象要求变成输入与输出的对应关系。Google 的 Prompt design strategies 指南把 few-shot 示例用于控制格式、措辞、范围和一般模式,并建议示例具体、多样、结构一致;页面最近更新时间为 2026 年 6 月 10 日。1
OpenAI 的 Prompt engineering 指南也把少样本定义为在提示中放入若干输入/输出对,让模型学习一个新任务;它建议示例覆盖多样的输入,并用 Markdown 标题或 XML 标签划清指令、上下文和示例的边界。2
这两条建议合在一起,可以变成一个很实用的判断:示例不要只挑最漂亮的成稿,要挑最能说明边界的成稿。
一组样例可以按这个顺序准备:
- 合格正例:展示你确实想保留的句长、语气和信息密度;
- 另一个正例:换一个输入,证明规则不是只适用于某个主题;
- 明确反例:展示一个看似流畅、但你不会接受的输出,并标出错在哪里;
- 边界例:展示「有条件时可以这样写、没有依据时不能这样写」的情况。
不必把数量当成固定配方。Google 的指南说,模型通常能从少量示例中学到模式,但最佳数量要靠实际测试;示例过多还可能造成过拟合。1
可直接复制的 Prompt
下面这条 Prompt 用「写产品更新通知」做例子,但样例的组织方式也适用于邮件、说明文、客服回复和短内容改写。把
<待处理材料> 换成自己的文本,把示例换成你认可的成稿。你是一名中文产品编辑。请把输入材料改写成一段给普通用户看的产品更新通知。
<目标>
- 读者:已经在使用产品、没有技术背景的用户
- 长度:120~180 字
- 目的:说清楚发生了什么、用户能做什么、有没有需要注意的条件
- 语气:直接、具体、克制,不使用宣传口号
</目标>
<判断规则>
1. 优先保留材料中明确写出的功能、时间、数字、条件和操作路径。
2. 一句话只承担一个主要动作;能用动词就不用抽象名词。
3. 不把「更快」「更智能」「全面升级」「带来更好体验」这类没有可核对内容的评价写进成稿。
4. 材料没有说明的效果、适用范围和承诺不要补写。
5. 句子短一些,但不要为了短而删掉限制条件。
6. 先参考下面的样例判断边界,再处理待处理材料。不要解释你参考了哪些样例。
</判断规则>
<样例>
<example id="正例-1" type="pass">
<input>移动端搜索新增按状态和负责人筛选。用户可以在搜索页直接选择条件,再查看结果。</input>
<output>移动端搜索新增按状态和负责人筛选。打开搜索页后选择条件,就能直接查看对应结果,不必先导出列表。</output>
</example>
<example id="正例-2" type="pass">
<input>从 7 月 1 日起,团队空间的访客链接默认 7 天后失效。管理员仍可在分享设置中修改有效期。</input>
<output>从 7 月 1 日起,团队空间的访客链接默认在 7 天后失效。管理员可以打开分享设置,按需要修改有效期。</output>
</example>
<example id="反例-1" type="fail">
<input>移动端搜索新增按状态和负责人筛选。用户可以在搜索页直接选择条件,再查看结果。</input>
<output>我们很高兴带来全新升级的移动端搜索体验,帮助你大幅提升工作效率,轻松实现精准高效的信息获取。</output>
<why_fail>加入了材料没有提供的效果判断,使用了宣传套话,也没有说清楚用户要做什么。</why_fail>
</example>
<example id="边界-1" type="boundary">
<input>本次更新优化了图片加载速度,具体提升幅度尚未测定。</input>
<output>本次更新优化了图片加载速度,具体提升幅度以实际使用为准。</output>
<why_boundary>可以保留已明确的优化方向,但不能把「更快」写成未经确认的数字或确定性承诺。</why_boundary>
</example>
</样例>
<待处理材料>
[把需要改写的产品更新、功能说明或变更通知粘贴在这里]
</待处理材料>
<输出格式>
只输出最终通知正文,不要输出标题、分析、样例复述或自我评价。
</输出格式>这条 Prompt 里的反例不是为了让模型记住几句「不能说的话」,而是为了把拒绝原因说具体:它越界在哪里,合格版本应该补回什么。反例本身也要短,最好只改变一两个变量,否则模型学到的会是一团混杂的「坏文风」。
一个最小示例
下面的材料是人为编写的练习,不是产品事实:
本次更新在移动端增加批量归档。用户可以在列表中选择多条记录,一次归档最多 50 条。归档后可在「已归档」中恢复。合格输出可以是:
移动端现在支持批量归档。在列表中选择多条记录后即可一次归档,单次最多 50 条。归档的记录可以在「已归档」中恢复。
一个常见的失败输出是:
移动端全新升级批量归档功能,让信息管理更高效、更便捷,轻松提升你的工作效率。
它的问题不是「不够像范文」,而是三处越界:删掉了 50 条的限制,删掉了恢复路径,又加上了材料没有证明的效率提升。正例教模型如何组织已知信息,反例和边界例教模型哪些看似顺口的写法不能用。
什么时候值得用
适合:
- 你要长期生成同一种文本,例如产品更新、客服回复、周报或品牌说明;
- 你能拿出几篇自己认可的成稿,也能指出几篇「看起来不错但不能发」的版本;
- 团队对「太像广告」「太啰嗦」「把条件说没了」有反复出现的具体抱怨;
- 你希望换一个主题后,文章仍保持相近的句长、信息密度和语气。
不适合直接套用:
- 任务目标还没定,连什么叫合格都说不清。此时先写判断标准,不要急着收集范文;
- 样例之间互相矛盾,且没有标明哪些规则优先。模型会把冲突当成可接受的变化;
- 每次任务都完全不同,样例只会增加上下文长度,却不能提供可迁移的模式;
- 你需要核验材料真假。少样本只能约束写法,不能替你验证来源、数字或产品状态。
为什么要放反例和边界例
只给正例,模型容易把表面的词汇或句式当成规则。比如几篇范文都用了「帮助用户提升效率」,它可能把这句话当成固定装饰,而不是先判断材料有没有支持这个效果。
反例把错误暴露出来,边界例则告诉模型规则在哪里需要收紧。OpenAI 的一个评估案例不是写作模板,而是用于校准 LLM judge:它建议从数据集中挑少量清晰的通过与失败案例,再补充验证阶段发现的分歧案例,让模型既能识别通过,也能识别失败。3
把这个思路迁移到写作时,要把它说清楚:这是样例选择方法的借鉴,不是说普通写作任务也需要训练一个评审模型。你的目标只是让模型看见三条线:明确可以、明确不可以、遇到条件时要停下来判断。
30 秒复盘法
用同一份材料分别运行「只有正例」和「正例加反例」两个版本,逐项检查:
- 信息有没有保住:数字、时间、限制条件和操作路径是否仍在;
- 语气有没有漂移:是否出现样例里明确拒绝的宣传套话或空泛评价;
- 边界有没有判断:材料不确定时,模型是否保留了不确定性;
- 样例是否真的有用:换一个主题后,输出还遵守同一条规则吗;
- 上下文是否过重:删掉一个样例后结果是否不变。若不变,就删掉它。
下一轮不要先增加更多形容词。先找出模型最常犯、而现有样例没有覆盖的那一个错误,再补一条短的边界例。样例集应该随着失败类型变化,而不是随着 Prompt 变长。
参考ソース
- 1Prompt design strategies - Gemini API
ai.google.dev
- 2Prompt engineering - OpenAI API
developers.openai.com
- 3Building resilient prompts using an evaluation flywheel
developers.openai.com
関連コンテンツ
- ログインするとコメントできます。
