只要轻改,AI 却大改特改

让它"润色一下",结果换了一篇文章——你的语气和结构都丢了。

你写了一封 200 字的邮件,90% 满意,让模型”把第二段紧凑一下,顺便改掉拗口的地方”。回来一封 230 字的邮件,无可否认更顺——但已经不是你的了。第一句被重写,第四句的梗丢了,第二段从四句变三句,你专门用的”buggy”被换成了”间歇性故障”。你没要这些。模型过度编辑,是因为它把”改掉拗口的地方”解读成”凡是你觉得不够好的都可以改”,而它觉得不够好的几乎是全部。

本文讲清楚为什么模型默认走”最大改动”路线,以及怎么把 prompt 写成真正的 diff,而不是重写。

常见原因

1. 动词范围开放

“润色”、“改进”、“紧凑”、“编辑”——这些都是无界的。它们暗示”能改的地方都改”,模型听话。

如何判断:你的动词没有约束对象。“润色” vs “只润色方括号里标注的句子”——前者开放,后者受限。

2. 没声明”不许动”的范围

如果你只说要改什么,你就没说要保留什么。RLHF 让模型偏好”完整产出”,所以它什么都动。

如何判断:你的 prompt 写了要改什么,但没列出哪些必须 byte 级保留。

3. 输出格式是”完整文本”而不是 diff

你让它把整段返回,它就得生成每一句——包括不该动的——重新生成就引入漂移。要 diff 才能强制最小改动。

如何判断:你要的是完整新版,不是改动列表也不是 unified diff。

4. 模型以为它在协作,不知道被约束

默认聊天人格是”乐于助人的助手”。乐于助人的助手会”主动改进”。你没明说”别碰”,“乐于助人”就过火。

如何判断:有些地方确实改好了,但你没要那些改动。

5. system prompt 里装了风格模板

如果你有个”专业写作”system prompt,它会按那个模板理解编辑任务——把语气往模板拉,而不是往你的原文拉。

如何判断:改后语气像你的 system prompt 风格,不像你的原稿。

动手前先确认

  • 保存原文和被过度编辑的输出,方便 diff。
  • 标清楚你想保留的具体词/句。
  • 同一 prompt 换一个模型试一下——确认不是某个模型独有的行为。
  • 检查 system prompt 或 project 指令是不是在偏向”大改”。
  • 再次 prompt 之前先想清楚:你想要 diff、tracked-changes 列表、还是有约束的完整新版?

需要收集的信息

  • 原文,逐字节准确。
  • 你用的 prompt。
  • 你得到的输出。
  • 想保留不动的句子/词清单。
  • 模型、temperature、system prompt 或 project 上下文。

最短修复路径

Step 1:开放动词换成有界操作

不要说”润色”,给手术级指令:

差:  "润色这封邮件。"
好:  "只改第二段的第 3 句。其他句子 byte 级保持。返回完整邮件,
       只有那一句变了,并另起一行写:'已改:<旧> -> <新>'。"

Step 2:声明”不许动”清单

加显式保留条款:

保留规则:
- 不要重写任何我没明确标出的句子。
- 以下词原样保留:"buggy"、"老实说"、"上线"。
- 段落分隔保持现状。
- 我的口语缩略("don't"、"咱")保留。
- 句子可以不改的就 byte 级返回。

Step 3:把输出格式改成 diff

强制模型产出 diff 而不是重写:

按 unified diff 输出:

--- 原文
+++ 修订
@@
- <旧行>
+ <新行>

只包含真改动了的 hunks。不要返回完整文本。

diff 让”最小改动”成为默认,因为重写没动的内容是额外工作。

Step 4:用方括号标注编辑区

把唯一要改的部分用方括号圈出来:

邮件如下。只改 [[ ]] 内的文字。其他全部原样保留,包括标点、
换行、大小写。

团队:

简单同步发布进度。[[第二段讲时间线,目前拗口,请紧凑。]] 
有问题明天对齐。

实操中这是最稳的模式。

Step 5:给编辑配额

总改动量封顶:

约束:
- 每段最多改 1 句。
- 净字数变化 ±10 字以内。
- 原文里有的具体名词不许删。

配额逼模型挑重点。

Step 6:只改语气时锁住结构

要语气改、内容不改:

只改语气。保留句数、段数、所有事实陈述。每句最多换 1 个词。
如果某句不需要语气调整,原样返回。

怎么确认已经修好

  • 用编辑器或 diff -u 比对原文和新输出;改动只在你声明的编辑区。
  • 编辑区外的句子 byte 级一致。
  • 字数变化在配额内。
  • 语气还是你的——把新版本读出声核对。

如果还是没修好

  1. 模型可能对约束不敏感——diff 类编辑试更小/更便宜的模型(它们经常更服从约束)。
  2. 换成专门的 diff 工作流:用 CLI 把选区 pipe 进去,别整文档塞。
  3. 长文档逐段独立改,自己拼回去。
  4. system prompt 在偏置时,message 里覆盖:“本轮请忽略 system 里关于写作风格的指令。“

预防建议

  • 存一份个人”最小改动 prompt 模板”,保留规则和 diff 输出都内置。
  • 编辑动词永远不要用”润色”或”改进”。一定说手术级操作。
  • 协作编辑永远要求 diff 输出。审完你自己再合成完整文本。
  • 高风险编辑(法律、代码、品牌文案)一定用方括号标注编辑区。
  • 养成习惯:每个编辑 prompt 之前先声明”不许动”清单。
  • 语气重要时贴 2-3 句你自己的原文作为语气锚。

相关阅读

标签: #排查 #Prompt #Prompt 质量 #误改重写