Prompt 缺少素材优先级:4 个原因 + 对症修复

挂了 3 个文档,模型把它们当成同等权威——包括那份过期草稿。

你挂了 3 个文件:当前产品 spec、上个月的 spec 草稿、关于某一节的 slack 讨论串。模型产出的总结把三份都当同等权威拉。答案引用了”草稿”里的一个需求(终稿已经否决),还忽略了当前版的一处变更(因为 slack 里有人反对)。模型没办法知道哪份权威。默认就平均,“当前” + “已否决草稿” + “内部争论”三个平均出来的东西现实里根本不存在。

本文讲怎么给来源打上出处和优先级标签,让模型知道该信哪个。

常见原因

1. 多源、无标签

你挂了文件但没说每个的角色。模型看到三块结构相似的文本。

如何判断:你有 2+ 个来源,但没”这是 canonical”的声明。

2. 新旧版本都在

v1(已否决)和 v3(当前)都在 prompt 里。模型没时间感——推不出哪个更新。

如何判断:旧版的过期事实出现在输出里。

3. 一手 / 二手混

你团队的 spec + 同主题第三方博客。模型把它们当同等权威。最糟:因为博客语言更”自信”,模型偏向博客。

如何判断:输出引用外部内容压过你自己的。

4. 文档与代码冲突

文档说 X,代码做 Y。模型选 prompt 里更长或更近的那个。两个都不一定是你问题的对答案。

如何判断:文档和代码不一致,模型选错。

5. 没要求逐条引用

不要求每条论断引用,模型会无声混合来源,你无法追溯每条事实出处。

如何判断:输出有论断但你无法判断哪条来自哪个来源。

动手前先确认

  • 列出 prompt 挂的每个来源。
  • 每个决定:canonical、supplementary、context-only、还是直接删。
  • 标时间顺序:哪个最新?哪个当前?哪个已否决?
  • 定优先级:“当前 spec 胜过草稿;spec 胜过 slack;一手胜过三方。”
  • 计划要求逐条引用。

需要收集的信息

  • 挂的全部来源。
  • 拉错来源的输出。
  • 你团队的真实优先级(谁定 canonical)。
  • 每个来源的元数据:日期、作者、状态。
  • 模型 + system prompt。

最短修复路径

Step 1:每个来源标名字、日期、角色

<source name="product-spec" date="2026-05-15" role="CANONICAL">
... spec 内容 ...
</source>

<source name="spec-draft" date="2026-04-01" role="REJECTED_DRAFT">
... 旧草稿,仅供对照 ...
</source>

<source name="slack-debate" date="2026-04-20" role="DEBATE">
... slack 讨论 ...
</source>

现在模型有元数据可用。

Step 2:一行声明优先级

优先级规则:
- CANONICAL 胜过 REJECTED_DRAFT 胜过 DEBATE。
- CANONICAL 与 DEBATE 冲突时 CANONICAL 赢。
- REJECTED_DRAFT 仅供对照;不可作权威引用。
- 来源一致时引 canonical。

Step 3:删明显过期源

否决草稿不是用来对比的就删。来源越少,平均错误越少。

Step 4:一手 vs 三方标注

<source name="our-spec" role="FIRST_PARTY_CANONICAL">...</source>
<source name="competitor-blog" role="THIRD_PARTY_CONTEXT">...</source>

规则:关于我们产品的事实论断优先 FIRST_PARTY。
       THIRD_PARTY 只用于行业背景,绝不用于我们的事实。

Step 5:要求逐条引用

输出里每条事实论断都按此格式引用:
"[论断] [source=product-spec, section=2.3]"

无法引用的论断标 [UNCITED],审稿人可核查。

抓混合,也方便审计。

Step 6:文档 vs 代码声明谁赢

文档与代码不一致时:
- 行为问题:代码权威。
- 意图问题:文档权威。
- 用了哪个都必须标。

怎么确认已经修好

  • 输出每条论断都有引用。
  • 引用指向 canonical 来源,不是草稿。
  • 过期事实不再出现。
  • 同事能逐条对照 cited 来源做审计。
  • 重跑输出来源分布稳定。

如果还是没修好

  1. 干脆删掉次要来源;只需要 canonical 就只给 canonical。
  2. 用 RAG,chunk 自带元数据。
  3. 两步:第一 prompt 从 canonical 抽事实,第二 prompt 做分析。
  4. 高风险工作放量前手审每条引用。

预防建议

  • 默认:多源 prompt 都在一个块里声明优先级。
  • 文件名编码角色 + 日期(spec-canonical-2026-05.md)。
  • 维护”已过期、勿用”清单(如果还留着对照)。
  • 任何分析型 prompt 都要求逐条引用。
  • RAG 设置时每个 chunk 都带来源元数据。
  • 审生产 prompt:多源 prompt 没优先级都算风险。

相关阅读

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