别只给范文:用正反例把 AI 文风的边界说清楚

别只给范文:用正反例把 AI 文风的边界说清楚

用一组正例、反例和边界例,把「写得像这样」变成可检查、可迭代的中文写作 Prompt。

很多人给 AI 一篇范文,结果得到的不是相同文风,而是把范文里的几个口头禅重复一遍。问题通常不在于示例太少,而在于示例没有告诉模型:哪些地方算合格,哪些地方已经越界。
更稳的做法是给一组小而有区分度的样例:至少包含合格写法、明确不合格写法,以及一个容易误判的边界。模型看到的就不只是「请写得像这样」,而是一条可以对照的判断线。

今日实践:用正例和反例画出文风边界

少样本提示的价值,是把抽象要求变成输入与输出的对应关系。Google 的 Prompt design strategies 指南把 few-shot 示例用于控制格式、措辞、范围和一般模式,并建议示例具体、多样、结构一致;页面最近更新时间为 2026 年 6 月 10 日。1
OpenAI 的 Prompt engineering 指南也把少样本定义为在提示中放入若干输入/输出对,让模型学习一个新任务;它建议示例覆盖多样的输入,并用 Markdown 标题或 XML 标签划清指令、上下文和示例的边界。2
这两条建议合在一起,可以变成一个很实用的判断:示例不要只挑最漂亮的成稿,要挑最能说明边界的成稿。
一组样例可以按这个顺序准备:
  1. 合格正例:展示你确实想保留的句长、语气和信息密度;
  2. 另一个正例:换一个输入,证明规则不是只适用于某个主题;
  3. 明确反例:展示一个看似流畅、但你不会接受的输出,并标出错在哪里;
  4. 边界例:展示「有条件时可以这样写、没有依据时不能这样写」的情况。
不必把数量当成固定配方。Google 的指南说,模型通常能从少量示例中学到模式,但最佳数量要靠实际测试;示例过多还可能造成过拟合。1

可直接复制的 Prompt

下面这条 Prompt 用「写产品更新通知」做例子,但样例的组织方式也适用于邮件、说明文、客服回复和短内容改写。把 <待处理材料> 换成自己的文本,把示例换成你认可的成稿。
你是一名中文产品编辑。请把输入材料改写成一段给普通用户看的产品更新通知。

<目标>
- 读者:已经在使用产品、没有技术背景的用户
- 长度:120~180 字
- 目的:说清楚发生了什么、用户能做什么、有没有需要注意的条件
- 语气:直接、具体、克制,不使用宣传口号
</目标>

<判断规则>
1. 优先保留材料中明确写出的功能、时间、数字、条件和操作路径。
2. 一句话只承担一个主要动作;能用动词就不用抽象名词。
3. 不把「更快」「更智能」「全面升级」「带来更好体验」这类没有可核对内容的评价写进成稿。
4. 材料没有说明的效果、适用范围和承诺不要补写。
5. 句子短一些,但不要为了短而删掉限制条件。
6. 先参考下面的样例判断边界,再处理待处理材料。不要解释你参考了哪些样例。
</判断规则>

<样例>
  &lt;example id=&quot;正例-1&quot; type=&quot;pass&quot;&gt;
    &lt;input&gt;移动端搜索新增按状态和负责人筛选。用户可以在搜索页直接选择条件,再查看结果。&lt;/input&gt;
    &lt;output&gt;移动端搜索新增按状态和负责人筛选。打开搜索页后选择条件,就能直接查看对应结果,不必先导出列表。&lt;/output&gt;
  &lt;/example&gt;

&lt;example id=&quot;正例-2&quot; type=&quot;pass&quot;&gt;
    &lt;input&gt;从 7 月 1 日起,团队空间的访客链接默认 7 天后失效。管理员仍可在分享设置中修改有效期。&lt;/input&gt;
    &lt;output&gt;从 7 月 1 日起,团队空间的访客链接默认在 7 天后失效。管理员可以打开分享设置,按需要修改有效期。&lt;/output&gt;
  &lt;/example&gt;

&lt;example id=&quot;反例-1&quot; type=&quot;fail&quot;&gt;
    &lt;input&gt;移动端搜索新增按状态和负责人筛选。用户可以在搜索页直接选择条件,再查看结果。&lt;/input&gt;
    &lt;output&gt;我们很高兴带来全新升级的移动端搜索体验,帮助你大幅提升工作效率,轻松实现精准高效的信息获取。&lt;/output&gt;
    &lt;why_fail&gt;加入了材料没有提供的效果判断,使用了宣传套话,也没有说清楚用户要做什么。&lt;/why_fail&gt;
  &lt;/example&gt;

&lt;example id=&quot;边界-1&quot; type=&quot;boundary&quot;&gt;
    &lt;input&gt;本次更新优化了图片加载速度,具体提升幅度尚未测定。&lt;/input&gt;
    &lt;output&gt;本次更新优化了图片加载速度,具体提升幅度以实际使用为准。&lt;/output&gt;
    &lt;why_boundary&gt;可以保留已明确的优化方向,但不能把「更快」写成未经确认的数字或确定性承诺。&lt;/why_boundary&gt;
  &lt;/example&gt;
</样例>

<待处理材料>
[把需要改写的产品更新、功能说明或变更通知粘贴在这里]
</待处理材料>

<输出格式>
只输出最终通知正文,不要输出标题、分析、样例复述或自我评价。
</输出格式>
这条 Prompt 里的反例不是为了让模型记住几句「不能说的话」,而是为了把拒绝原因说具体:它越界在哪里,合格版本应该补回什么。反例本身也要短,最好只改变一两个变量,否则模型学到的会是一团混杂的「坏文风」。

一个最小示例

下面的材料是人为编写的练习,不是产品事实:
本次更新在移动端增加批量归档。用户可以在列表中选择多条记录,一次归档最多 50 条。归档后可在「已归档」中恢复。
合格输出可以是:
移动端现在支持批量归档。在列表中选择多条记录后即可一次归档,单次最多 50 条。归档的记录可以在「已归档」中恢复。
一个常见的失败输出是:
移动端全新升级批量归档功能,让信息管理更高效、更便捷,轻松提升你的工作效率。
它的问题不是「不够像范文」,而是三处越界:删掉了 50 条的限制,删掉了恢复路径,又加上了材料没有证明的效率提升。正例教模型如何组织已知信息,反例和边界例教模型哪些看似顺口的写法不能用。

什么时候值得用

适合:
  • 你要长期生成同一种文本,例如产品更新、客服回复、周报或品牌说明;
  • 你能拿出几篇自己认可的成稿,也能指出几篇「看起来不错但不能发」的版本;
  • 团队对「太像广告」「太啰嗦」「把条件说没了」有反复出现的具体抱怨;
  • 你希望换一个主题后,文章仍保持相近的句长、信息密度和语气。
不适合直接套用:
  • 任务目标还没定,连什么叫合格都说不清。此时先写判断标准,不要急着收集范文;
  • 样例之间互相矛盾,且没有标明哪些规则优先。模型会把冲突当成可接受的变化;
  • 每次任务都完全不同,样例只会增加上下文长度,却不能提供可迁移的模式;
  • 你需要核验材料真假。少样本只能约束写法,不能替你验证来源、数字或产品状态。

为什么要放反例和边界例

只给正例,模型容易把表面的词汇或句式当成规则。比如几篇范文都用了「帮助用户提升效率」,它可能把这句话当成固定装饰,而不是先判断材料有没有支持这个效果。
反例把错误暴露出来,边界例则告诉模型规则在哪里需要收紧。OpenAI 的一个评估案例不是写作模板,而是用于校准 LLM judge:它建议从数据集中挑少量清晰的通过与失败案例,再补充验证阶段发现的分歧案例,让模型既能识别通过,也能识别失败。3
把这个思路迁移到写作时,要把它说清楚:这是样例选择方法的借鉴,不是说普通写作任务也需要训练一个评审模型。你的目标只是让模型看见三条线:明确可以、明确不可以、遇到条件时要停下来判断。

30 秒复盘法

用同一份材料分别运行「只有正例」和「正例加反例」两个版本,逐项检查:
  1. 信息有没有保住:数字、时间、限制条件和操作路径是否仍在;
  2. 语气有没有漂移:是否出现样例里明确拒绝的宣传套话或空泛评价;
  3. 边界有没有判断:材料不确定时,模型是否保留了不确定性;
  4. 样例是否真的有用:换一个主题后,输出还遵守同一条规则吗;
  5. 上下文是否过重:删掉一个样例后结果是否不变。若不变,就删掉它。
下一轮不要先增加更多形容词。先找出模型最常犯、而现有样例没有覆盖的那一个错误,再补一条短的边界例。样例集应该随着失败类型变化,而不是随着 Prompt 变长。

関連コンテンツ

  • ログインするとコメントできます。