评判标准模糊导致答案弱:把形容词翻成可测规则

标准本身含糊——"吸引"、"专业"、"创新"——模型只能自由解读。把每个形容词翻成 10 秒能测的规则。

你写了个很认真的 prompt,标准三条:“吸引、专业、创新”。输出严格来说全满足。但完全没法用:那个”吸引人的钩子”像 LinkedIn 帖,“专业”语气冷冰冰,“创新”的角度和上个月三个对手用过的一模一样。模型没失败——你的标准不算标准,它们是 vibe。模型把每个形容词解读成训练分布的平均态,平均态正是你最不想要的。

最快的修法:给每条标准写一个外行 10 秒能跑的测试(写 "开头是数字或具体场景",而不是”吸引”),给标准排序,再给最难的那条配 1 个通过示例 + 1 个不通过示例。如果只来得及改一处,就把每个形容词换成可检查的规则。本文讲完整流程,以及怎么确认确实修好了。

常见原因

1. 标准是形容词不是规则

“吸引”、“专业”、“创新”、“自然”、“精致”这些没法检验。两个评审会吵起来,模型也没锚。这是最常见的一条,也是评测工具的 rubric 指南反复强调的:像”好”、“有用”、“高质量”这类虚词,不做操作化定义就一定有分歧——因为模型执行的是流程,不是形容词。

如何判断:把标准念出声。如果你说不出 10 秒内能做的检查,它就是形容词不是规则。

2. 没 pass / fail 示例

你只说”专业”,不给”这就是专业”和”这就不是”的例子,模型只能用自己的定义。

如何判断:你的 prompt 里 0 个可接受示例、0 个拒绝示例。

3. 标准之间偷偷冲突

“创新但符合品牌”、“吸引但专业”、“全面但简洁”——每对都有张力,你没解决。模型选了一边,常常是错的一边。

如何判断:找两条标准,把一条往上推会把另一条往下压。

4. 标准假设共享口味

你写”做出我们品牌的感觉”但没定义”我们品牌”。模型没读过你的 style guide。

如何判断:标准引用了只有你团队知道的东西。

5. 没排序

“所有标准同样重要”几乎都是假话。不排序就被平均,平均就平庸。

如何判断:模型要取舍时,舍掉的恰好是你最在意的那条。

6. 标准没有”长度中立”

像”充分”、“全面”这种标准没设上限时,模型就把”更长”当”更好”——大多数评审也这样,包括 LLM judge,它们有据可查地存在 verbosity bias(偏好长答案)。你要的是质量,拿到的是字数。

如何判断:你接受的输出越来越长,但并没有越来越好。

你属于哪一类

症状最可能的原因跳到
输出”对”但平淡、泛泛形容词不是规则(原因 1)Step 1
团队两个人对”是否通过”意见不一没 pass/fail 示例(原因 2)Step 2
模型满足了一条却无视另一条偷偷冲突 / 没排序(原因 3、5)Step 3
”做出我们的味道”总是不对假设共享口味(原因 4)Step 5
输出越来越长,但没更好没长度中立(原因 6)Step 1(加上限)

动手前先确认

  • 列出当前 prompt 里每条标准。
  • 给每条起草一个外行 10 秒能做的测试。
  • 最难的两条配 1 个”通过”和 1 个”不通过”示例。
  • 找出哪几条会冲突。
  • 重新 prompt 之前先定好排序。

需要收集的信息

  • 当前 prompt + 全部标准。
  • 一份接受 + 一份拒绝的输出,分别标注。
  • 接受/拒绝的理由(用来反推规则)。
  • 模型、temperature、system prompt。
  • 评审之间是否真的对每条标准达成一致(往往没有)。

最短修复路径

Step 1:把每个形容词操作化

口味词翻成可测规则。好的规则要具体、可观察、有边界(这样”充分”就不会偷偷变成”更长”):

形容词可测规则
”吸引""开头是问句、统计数字或具体场景。不能是’在当今……’。"
"专业""无感叹号、无 emoji、不用第一人称复数(‘我们’)、不用口语缩略。"
"创新""至少提到一个具体命名的方法/工具/模式,且不在行业 top-5 清单里。"
"简洁""全文 ≤200 字。每句 ≤20 字。"
"自然""句长方差:至少一句 ≤10 字,至少一句 ≥20 字。"
"充分""覆盖列出的全部 4 个子点。字数更少但质量相同,得分相同。“

Step 2:给一个通过 + 一个不通过示例

最棘手的标准配上:

可接受的"吸引"开头示例:
  "73% 的团队第一次 AI 落地就放弃了。活下来的人做对了什么?"

不可接受的"吸引"开头示例:
  "在快速发展的人工智能时代,组织正面临前所未有的机会。"

可接受的用了具体数字 + 具体框架。不可接受的全是泛词 + 商业 buzz。

示例胜过 100 字形容词。

Step 3:给标准排序

声明优先级和冲突时的取舍:

优先级(满足不了就从下往上砍):
1. 事实正确(绝不违反)
2. ≤200 字
3. 上面操作化的"吸引"规则
4. 上面操作化的"专业"规则
5. 品牌语气锚

"吸引"和"专业"冲突时,优先"专业"。

Step 4:让模型自审(先讲理由,再下结论)

末尾加一个 checklist,并强制模型先写理由、再给是/否,让结论由检查推出,而不是反过来:

写完后输出 checklist。每条标准先给证据,再给结论:
- 标准 1(事实正确):证据 -> 是/否
- 标准 2(≤200 字):字数 -> 是/否
- 标准 3(吸引规则):满足了哪条 -> 是/否
- 标准 4(专业规则):有无违反 -> 是/否
任何一项为否就重写后再核。

每条用 pass/fail,不要打 1-5 分。让模型给”5 分里的 3 分”等于让它同时干两件事——判断够不够好,在一条随意的刻度上选位置——选刻度这一步纯属噪声。只有真有梯度的标准(连贯性、共情、教学清晰度)才值得用分级;事实正确、字数上限、政策红线这类硬门槛一律用 pass/fail。

Step 5:主观标准用锚

天生主观的标准(“我们品牌语气”)给 2-3 句典型品牌文案做语气锚。模型仿锚比跟形容词稳。

Step 6:用边界输入测

喂一个两条标准明显冲突的输入。如果模型还在试图同时满足,说明优先级没落地。再排一遍序。

怎么确认已经修好

  • 两个评审用你的标准独立审同一篇输出,结论一致。(在 LLM 评测实践里,judge 和人工的一致率大致 75%-90% 才算 rubric 足够可靠;两个人之间也照这个标准看。)
  • 模型自审 checklist 全通过,且每条都附了证据。
  • 同 prompt 跑 3 次,3 次都通过标准。
  • 你故意写的”差”输出会被规则挡掉——如果它混过去了,说明还有规则太松。

如果还是没修好

  1. 标准可能还是不可测——砍掉最虚的一条,看质量是否提升。
  2. 还松的标准再补 pass/fail 示例。
  3. 改用 few-shot:3-5 个接受样本作为锚,比规则更稳。
  4. 标准在你关心的输入上真的冲突,spec 不可能——要么改输入要么改标准。

常见问题

标准多少条算太多? 单个 prompt 超过五六条,模型就在它们之间平均,哪条都不够锐。给标准排序,让靠后的几条当”锦上添花”。一份短的可测规则清单永远胜过一长串形容词。

每条该打 1-5 分还是 pass/fail? 有明确门槛的(≤200 字、无 emoji、事实正确)一律 pass/fail。只有质量真有梯度时(连贯性、共情、教学清晰度)1-5 分才划算。把随意的刻度选择塞进硬门槛,只会增加方差。

模型为什么总写更长来显得”更好”? 因为”充分”、“全面”不设上限就被读成”越多越好”,而人工评审和 LLM 评审都带同一种 verbosity bias。加一句明确的长度中立:在正确性相同的前提下,字数更少得分不低于字数更多。

加了规则后两个评审还是分歧,怎么办? 分歧恰好指向那条还很主观的规则。把那一条单独拎出来,专门给它写 1 个通过示例 + 1 个不通过示例,让两个评审重判。规则说不清的,示例能说清。

这套在 ChatGPT、Claude、Gemini 上是一样的吗? 一样——问题出在 spec,不在模型。操作化标准、排序、pass/fail 示例在 GPT-5.5、Claude Opus 4.7 / Sonnet 4.6、Gemini 3.1 Pro 上都能提升输出,因为每个模型都在拿同一个含糊形容词去对自己的平均态。

预防建议

  • 默认:每条标准必须让外行 10 秒能测。
  • 每个任务类型维护一份操作化标准库(博客、邮件、摘要、code review)。
  • 每个常做任务存一份”金本位”输出,做 few-shot 锚。
  • 每个 prompt 都显式排序。“同等重要”就是没想清楚。
  • 每月审一次已接受的输出:是真过了规则,还是只过了你的 gut?

相关阅读

想更系统地写出人工和 AI judge 都能一致执行的 rubric,可参考 Evidently AI 的 LLM-as-a-judge 指南

标签: #排查 #Prompt #Prompt 质量 #Prompt 工程