你挂了 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 来源做审计。
- 重跑输出来源分布稳定。
如果还是没修好
- 干脆删掉次要来源;只需要 canonical 就只给 canonical。
- 用 RAG,chunk 自带元数据。
- 两步:第一 prompt 从 canonical 抽事实,第二 prompt 做分析。
- 高风险工作放量前手审每条引用。
预防建议
- 默认:多源 prompt 都在一个块里声明优先级。
- 文件名编码角色 + 日期(
spec-canonical-2026-05.md)。 - 维护”已过期、勿用”清单(如果还留着对照)。
- 任何分析型 prompt 都要求逐条引用。
- RAG 设置时每个 chunk 都带来源元数据。
- 审生产 prompt:多源 prompt 没优先级都算风险。